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

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

Réponses (2)

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 le 6 Nov 2014
Modifié(e) : James Tursa le 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.');

Cette question est clôturée.

Question posée :

le 6 Nov 2014

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by