How can I convert double to const real_T of a sfunction?
2 views (last 30 days)
Show older comments
Alexander Nass on 7 Feb 2018
Answered: Benjamin Thompson on 10 Oct 2022
Hi everyone :) ,
I am working on my Masters and have a C-code which I have to put into a sfunction for SIMULINK. As an in between result I have a value of an variable of datatype double (fx_u). With it other values have to be calculated also, which will be output of the sfunction in SIMULINK as well.
For that I have to convert the double to real_T, haven´t I? (real_T as output data type of a sfunction) How can I do that?
Code is something like:
for(i = 0; i <= limit; i++)
fx_u[i] = x0 + x1*u + x2*(u*u) + x3*(u*u*u) + x4*(u*u*u*u) + x5*(u*u*u*u*u);
u = u+res;
x = &fx_u; // <<--- I MEAN THIS LINE BECAUSE I GET A WARNING WHICH IS:
"warning: assignment from incompatible pointer type x = &fx_u;"
x is of data type real_T and fx_u is of data type double. x should be the output and fx_u is meant for further calculations.
In advance I thank you for your help. :)
Please don´t beat me, I am still a student.
fus on 26 Apr 2022
Did you ever find a solution for this? Running into the same problem and google is not being my friend
Benjamin Thompson on 10 Oct 2022
If x is a constant you cannot change it. You would need to supply a more complete example, it is hard to tell what you are trying to do.
Find more on Simulink in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!