Invalid Syntax at '='.Possibly,a ),} or ] is missing at line 6 .

function [y1,y2,y3] = fnc(u)
%#codegen
y1=0;y2=0;y3=0;
if 0<=u<=(pi/3)
{
y1=1; ----------------------Error:Invalid Syntax at '='.Possibly,a ),} or ] is missing at line 6
y2=-1;
y3=0
}-------------------------Error:Parse error at }:Usage might be invalid Matlab syntax.
if((pi/3)<u<=(2*pi/3))
{y1=1;
y2=0;
y3=-1;
}
if((2*pi/3)<u<=(pi))
{y1=0;
y2=1;
y3=-1;
}
end;

 Accepted Answer

The { } formulation for blocking code is not valid MATLAB syntax. To fix this:
  • Get rid of the open brace {
  • Replace the close brace } with end
I.e., instead of
if something
{
stuff;
}
Do this
if something
stuff;
end

1 Comment

In addition to what James wrote, this syntax doesn't do what I believe you think it does.
if 0<=u<=(pi/3)
If you open that file in the MATLAB Editor, you should see a Code Analyzer message on those lines explaining what it does and how to do what you want. I believe there may even be an auto-fix available.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements 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!