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?
4 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Piyush Gupta
il 5 Ago 2020
Risposto: Steven Lord
il 5 Ago 2020
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 Commenti
Risposta accettata
Walter Roberson
il 5 Ago 2020
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 Commenti
Più risposte (1)
Steven Lord
il 5 Ago 2020
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 Commenti
Vedere anche
Categorie
Scopri di più su Dates and Time in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!