Info

此问题已关闭。 请重新打开它进行编辑或回答。

matlab to c

1 次查看(过去 30 天)
ECE09 ITBHU
ECE09 ITBHU 2011-7-28
关闭: MATLAB Answer Bot 2021-8-20
I converted a function using matlab using matlab coder. in .m file i had declared:----
>> a.b = 37000; a.c = 8;
but as output in .c file i got:----
>>a.b=34000.0 a.c =7.0
? why has the values changed?
  1 个评论
Kaustubha Govind
Kaustubha Govind 2011-7-28
Could you include a simple code snippet that we can use to reproduce the issue. It might also help to mention the command you used to generate code, as well as the MATLAB version.

回答(2 个)

Walter Roberson
Walter Roberson 2011-7-28
Do those variables happen to be loop control variables in a context where they are incremented by 3000 and 1 respectively before they are used?
  2 个评论
ECE09 ITBHU
ECE09 ITBHU 2011-7-29
No , they aren't. i am making a simple function which outputs a structure named " a ".
Arnaud Miege
Arnaud Miege 2011-7-29
As previously asked, can you post a code snippet and the command used to generate the code, so that we can reproduce the issue?

Mike Hosea
Mike Hosea 2011-8-1
I echo the requests for more of the code. However, let me just point out that MATLAB Coder performs some optimizations. If you had code like this
n = 1;
if ~isreal(x)
n = n + 1;
end
You will probably see
n = 2.0;
generated if x is not real. Is it possible that after your assignment there are statements that the compiler can evaluate during compilation because the values/conditions are already known? -- Mike

此问题已关闭。

产品

Community Treasure Hunt

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

Start Hunting!

Translated by