Select variables for plot
Show older comments
Hello
I have a vector and a matrix obtained from another function, but the structure is like the vector
and matrix inside 'callplot'.
The code, is just like this. I really dont know how to write in the right way this
pl(1:2)='t1,y1(:,1)'
inside the if function.
function f=callplot
t1=[0;1;2;3;4;5];
y1=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16; 17 18 19 20; 21 22 23 24];
in1=0; in2=0; in3=0; in4=0;
a=0; b=0; c=0;
while in1~='Y'||'N';
in1=input('¿You want to plot the variable X? (Y/N)','s');
if in1=='Y' pl(1:2)='t1,y1(:,1)'; elseif in1=='N' a=1; end
end
while in2~='Y'||'N';
in2=input('¿You want to plot the variable R? (Y/N)','s');
if in2=='Y' pl(3-2*a:4-2*a)='t1,y1(:,2)'; elseif in2=='N' b=1; end
end
while in3~='Y'||'N';
in3=input('¿You want to plot the variable N? (Y/N)','s');
if in3=='Y' pl(5-2*(a+b):6-2*(a+b))='t1,y1(:,2)'; elseif in3=='N' c=1; end
end
while in4~='Y'||'N';
in4=input('¿You want to plot the variable Z? (Y/N)','s');
if in4=='Y' pl(7-2*(a+b+c):8-2*(a+b+c))='t1,y1(:,2)'; end
end
plot(pl)
%If all variables are selected to be plotted
%It should do the same as this
%plot(t1,y1(:,1),t1,y1(:,2),t1,y1(:,3),t1,y1(:,4))
%but obviously, I want pl can have any structure posible
%according to the user plot choices.
end
The error displayed when I Input Y is:
??? Subscripted assignment dimension mismatch.
Error in ==> callplot at 9 if in1=='Y' pl(1:2)='t1,y1(:,1)'; elseif in1=='N' a=1; end
Additionally, it looks like the elseif isn't working either. When I Input N, it just display the
prompt again (It should only happen when input is different from Y or N). I suspect my error is on the ~='Y'||'N'
I hope to be clear enough, sorry if my english is not good.
Accepted Answer
More Answers (1)
Walter Roberson
on 1 Apr 2012
while in1~='Y'||'N';
is interpreted as
while (in1~='Y') || 'N';
which is
while (in1~='Y') || ('N' ~= 0)
Now as 'N' is not 0, the statement is always true.
You want an "and" instead of an "or"
while in1~='Y' && in1 ~='N';
What do you want
pl(1:2)='t1,y1(:,1)'
to mean?
Categories
Find more on Creating, Deleting, and Querying Graphics Objects 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!