Plot, if and elseif statement
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Can some1 please help me with this.
Plot function f(x) over x=0:pi/10:2*pi
f(x)=sin(x) if (x<=pi)
f(x)=cos(x)+1 if (x>pi)
This is what I started so far and don't know what to do next.
x=0:pi/10:2*pi;
if x<=pi
xx=sin(x)
elseif x>pi
yy=cos(x)+1
end
0 commentaires
Réponses (1)
Matt Fig
le 6 Avr 2011
IF statements do not pick out elements of an array as you are thinking they do. Use logical indexing.
x = 0:pi/10:2*pi;
y = zeros(size(x));
idx = x<=pi;
y(idx) = sin(x(idx));
y(~idx) = cos(x(~idx))+1;
plot(x,y)
If you really want to use an IF statement, you will need to look element-by-element.
y = zeros(size(x));
for ii = 1:length(x)
if x(ii)<=pi
y(ii) = sin(x(ii));
else
% ... fill it in.
end
end
1 commentaire
Matt Fig
le 6 Avr 2011
Should this be a FAQ? It seems like the
if x<3,...
construction for vectors is coming up all the time recently....
Voir également
Catégories
En savoir plus sur Language Fundamentals dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!