I want to produce square wave without using square function, but this code it showing error, "illegal use of IF keyword". How to rectify it?
20 次查看(过去 30 天)
显示 更早的评论
t=-10:0.1:10;
a=1;
for i=1:2:201
{
if a==1
{
z(1,i)=0;
z(1,i+1)=0;
}
else
{
z(1,i)=1;
z(1,i+1)=1;
}
end
a=a*(-1);
}
end
plot(t,z)
0 个评论
采纳的回答
Walter Roberson
2020-8-5
In MATLAB, {} is used only for building cell arrays, or extraction of data from collection objects, such as cell arrays or tables or string scalars. You should remove all of those { and } that you have.
0 个评论
更多回答(1 个)
Steven Lord
2020-8-5
In some languages (like C) you need to use {} around sections of code (like the bodies of for loops or if statements.) MATLAB is not one of those languages.
t=-10:0.1:10;
a=1;
for i=1:2:201
if a==1
z(1,i)=0;
z(1,i+1)=0;
else
z(1,i)=1;
z(1,i+1)=1;
end
a=a*(-1);
end
plot(t,z)
I'll leave it to you to decide what to do about the extra element in z that prevents you from calling plot on t and z.
Based on this mistake (trying to use another language's syntax in MATLAB) I'm guessing you're new to MATLAB. If that's the case, I recommend going through the free MATLAB Onramp tutorial (https://www.mathworks.com/support/learn-with-matlab-tutorials.html) to familiarize yourself with the basics of MATLAB syntax.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!