'Matlab Coder' generated code is NEVER of double type (only real_T)

I'm trying to convert a piece of matlab code into C++ code. I have one large vector (100+ elements) as input and one large vector as the output. Now, when I try to build the code using the Matlab Coder, while explicitly specifying that the input variable (u) is a DOUBLE, Matlab just seems to ignore my demands and does its own thing by creating the function with input variable of the type const real_T type instead.
This would not be so bad except that I need to use the resulting code with the Legacy_Code function in order to create an S Function. What can I do?
[Attached screenshot shows what is wrong]

 採用された回答

Walter Roberson
Walter Roberson 2013 年 12 月 4 日

0 投票

Notice that if you do not include the include file indicated there, you could go ahead with the legacy code tool and create the equivalence: http://www.mathworks.com/help/simulink/slref/legacy_code.html
legacy_code('compile', specs, compilerOptions)
example:
legacy_code('compile', s,...
{'-DCOMPILE_VALUE1=1', '-DCOMPILE_VALUE2=2',...
'-DCOMPILE_VALUE3=3'});
So you could '-Dreal_T=double'

1 件のコメント

Mike Hosea
Mike Hosea 2013 年 12 月 26 日
編集済み: Mike Hosea 2013 年 12 月 26 日
The type real_T is already double. It is not float, which would be real32_T.

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

その他の回答 (3 件)

Ryan Livingston
Ryan Livingston 2013 年 12 月 5 日

2 投票

Also if you are using MATLAB Coder in R2013b, you can request that C built-in types be used in the generated code for LIB, DLL and EXE targets:
That will use 'double' rather than 'real_T' in the generated code.
Viren
Viren 2013 年 12 月 4 日

0 投票

Ah. Makes sense. I actually knew that real_T was the catch-all data type that matlab has, and I was making another error in my code. Never mind that. Thanks for your prompt reply. Answer accepted.
Viren
Viren 2013 年 12 月 5 日

0 投票

That's even more useful. This is what I should have done in the first place. I must say I had nearly given up on the Matlab community, but you guys have saved the day! Thanks very much.

1 件のコメント

Ryan Livingston
Ryan Livingston 2013 年 12 月 13 日
Good to hear that you found some utility here.

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

カテゴリ

ヘルプ センター および File ExchangeSimulink Coder についてさらに検索

質問済み:

2013 年 12 月 4 日

編集済み:

2013 年 12 月 26 日

Community Treasure Hunt

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

Start Hunting!

Translated by