Simulink subsystem to numerically solve a complex exponential function
5 次查看(过去 30 天)
显示 更早的评论
This is the Matlab script of what I have to solve at each iteration of a complex simulink model:
B, T and W known; solving for a:
sol = vpasolve( 0.88*(1-exp(-0.1*B))*(1-exp(-9.5*a)) - (0.9/B + 0.5*a/sqrt(B)) - T/W, a)
I cannot use this directley in a user defined Simulink funcation since symbolc variables are not accepted.
How would you suggest to draw/code this in Simulink?
Thanks!
0 个评论
回答(1 个)
Pavan Guntha
2021-8-30
Hello Ario,
You could follow the following steps to solve the issue:
1) Create a '.m' file containing the function (for example, name it complexExponential.m) to solve the complex exponential equation.
2) You could use a MATLAB Function block in Simulink to call this function as shown below.
coder.extrinsic('complexExponential');
out = 0;
out = double(complexExponential(inputs));
Since the equation involves symbolic variables, it is necessary to use 'coder.extrinsic()' to avoid generating code for it. For more details you could have a look at the documentation page of coder.extrinsic.
Hope this helps!
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!