Info

This question is closed. Reopen it to edit or answer.

This code plot nothing and i don't understand why ?!

1 view (last 30 days)
Omar
Omar on 6 Nov 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
i=1;
j=1;
x=y1(:,2);
u=y1(:,4);
figure
while (i<= size(x)& j<=size(u))
vv= x(i)*sin(u(j));
xx= x(i)*(1-cos(u(j)));
hold on
plot(vv,xx,'r');
i= i+1;
j= j+1;
end

Answers (2)

the cyclist
the cyclist on 6 Nov 2014
My guess is that size(x) is going to be something like
[7 1]
so i is not less than that. I think maybe you want length(x) or numel(x) instead of size(x).

James Tursa
James Tursa on 6 Nov 2014
Edited: James Tursa on 6 Nov 2014
size(x) and size(u) are vectors, so i<= size(x)& j<=size(u) is a vector result, which is not what you likely intended. Try using numel instead so that it is a scalar expression. E.g.,
while (i<= numel(x) && j<=numel(u))
Also, you might want to specify a dot in the plot command:
plot(vv,xx,'r.');

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!