how to implement symbolic matlab function on simulink?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
im trying to implement the following function on matlab function on simulink but error 'syms is not supported for a stand alone code generation' occures
function fkt = fcn(c,p,k,N)
syms t
ft=p^(-c/2)*(c/2)*t.^((c/2)-1).*exp(-(t./p).^(c/2));
Ft=1-exp(-(t/p).^(c/2));
fkt=k*nchoosek(N/2,k)*(1-Ft)^(N/2-k)*(Ft)^(k-1)*ft
end
2 comentarios
Nicolas Schmit
el 18 de Oct. de 2017
Simulink works only with numerical data. Why do you need to use the Symbolic Toolbox in a MATLAB function?
Respuestas (1)
Sean de Wolski
el 2 de Nov. de 2017
You can do this by putting syms inside of a function called by a MATLAB Function block where the inner function is flagged as extrinsic:
5 comentarios
Walter Roberson
el 2 de Nov. de 2017
In that case, extrinsic is not going to work, unfortunately. You will need to use a MATLAB Function block for at least the nchoosek; perhaps it would be easier to put it all into a MATLAB Function block to do the
(c*k*t^(c/2 - 1)*exp(-(t/p)^(c/2))^(N/2 - k + 1)*nchoosek(N/2, k)*(1 - exp(-(t/p)^(c/2)))^(k - 1))/(2*p^(c/2))
Ver también
Categorías
Más información sobre Simulink Functions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!