using the data from struct

4 ビュー (過去 30 日間)
Mohamed Ibrahim
Mohamed Ibrahim 2020 年 2 月 14 日
コメント済み: Fangjun Jiang 2020 年 2 月 14 日
hello i have a small problem
i have a code and when i run it its solution appear as a struct
the problem is i want to take some data from this struct aىd use it as a input for another code but i can't when i enter the name of a field in structure for example CL matlab tells me Undefined function or variable 'CL'.
i want this structure outputs to appear in my workspace like that
any suggestions please :)
  2 件のコメント
Fangjun Jiang
Fangjun Jiang 2020 年 2 月 14 日
out of breath reading your question. add proper punctuation marks.
Stephen23
Stephen23 2020 年 2 月 14 日
編集済み: Stephen23 2020 年 2 月 14 日
You should allocate the structure to a variable, e..g.:
S = function_that_returns_a_structure(...);
Then you can trivially refer to its fields, e.g.:
S.Re
S.CD
S.Ncrit
etc.
"i want this structure outputs to appear in my workspace like that"
Do not convert structure fields to variables, unless you want to force yourself into writing slow, complex, buggy code that is hard to debug.

サインインしてコメントする。

採用された回答

Fangjun Jiang
Fangjun Jiang 2020 年 2 月 14 日
If you can't change the other program, Out=YourOtherProgram(), where "Out" is a data like "ans" in your picture,
then you can use Out.CL, Out.CD, etc.
There are functions like struct2array(), struct2cell() that you can use.
  2 件のコメント
Mohamed Ibrahim
Mohamed Ibrahim 2020 年 2 月 14 日
thanks for your replay :)
i write this line at the end of my code
cth=ans.CL;
and matlab gives me this error message
Attempt to reference field of non-structure array.
Error in xfoil (line 239)
cth=ans.CL;
Fangjun Jiang
Fangjun Jiang 2020 年 2 月 14 日
"ans" is the reserved variable name used by MATLAB. Use a different name.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStructures についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by