Info

This question is closed. Reopen it to edit or answer.

matlab to c

3 views (last 30 days)
ECE09 ITBHU
ECE09 ITBHU on 28 Jul 2011
Closed: MATLAB Answer Bot on 20 Aug 2021
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 Comment
Kaustubha Govind
Kaustubha Govind on 28 Jul 2011
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.

Answers (2)

Walter Roberson
Walter Roberson on 28 Jul 2011
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 Comments
ECE09 ITBHU
ECE09 ITBHU on 29 Jul 2011
No , they aren't. i am making a simple function which outputs a structure named " a ".
Arnaud Miege
Arnaud Miege on 29 Jul 2011
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 on 1 Aug 2011
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

Products

Community Treasure Hunt

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

Start Hunting!