Syntax Error Simulink fcn block

The expression: (-3*B*L*L*u(4))/J+(a*L*u(1))+(a*L*u(2))+(a*L*u(3)) in 'omnirobotcontrol/Subsystem/theta_2dot' has a syntax error.
WhY I am getting this error. I can't see the wrong :(

8 Comments

A picture of the model would help.
Thank you for your interest. I load the subsystem and all of my model.
you appear to be using a Math Block for the expression, not a MATLAB Function Block. Math blocks are much more restricted in what they permit.
Hi;
when I am using the Mtlab Function. I get a error like that:
Simulink cannot determine sizes and/or types of the outputs for block 'omnirobotcontrol/Subsystem/MATLAB Function2' due to errors in the block body, or limitations of the underlying analysis. The errors might be inaccurate. Fix the indicated errors, or explicitly specify sizes and/or types for all block outputs.
Can you show the code inside the MATLAB function block?
function x_2dot = fcn(u)
J = 0.01;
B = 0.1;
K = 0.01;
R = 1;
L = 0.5;
a=1;
m=1;
x_2dot=(-3*B*u(4))/(2*m)-((a*sin(u(5))*u(1))/m)-((a*sin((pi/3)-u(5))*u(2))/m)+((a*sin((pi/3)+u(5))*u(3))/m);
end

Sign in to comment.

 Accepted Answer

Try this
function x_2dot = fcn(u)
x_2dot = 0; % initialize to tell simulink about its size
J = 0.01;
B = 0.1;
K = 0.01;
R = 1;
L = 0.5;
a=1;
m=1;
x_2dot=(-3*B*u(4))/(2*m)-((a*sin(u(5))*u(1))/m)-((a*sin((pi/3)-u(5))*u(2))/m)+((a*sin((pi/3)+u(5))*u(3))/m);
end

More Answers (1)

Neelkamal
Neelkamal on 19 Mar 2026
Error:The expression: c1*(c2/u(2) - c3*u(3) - c4)*exp(-c5/u(2)) + c6*u(1)
in 'hybridtrail/wind plant/WIND TURBINE /Wind Turbine model/cp(lambda,beta)/Fcn1'
has a syntax error

Categories

Find more on Simulink in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!