Plotting error message
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I am running this code:
y1 = 0:.01:1;
for y2=0:1/10:1;
l=1+y2*10;
t(:,l) = y1.^3./12 + (y1.^2.*y2)/4 - y1.^2./2 + (y1.*y2.^2)/4 - y1.*y2 + y1
- (7.*y2.^3)/12 + (3.*y2.^2)/2 - y2;
end
plot(y1,t)
and get this error:
Subscript indices must either be real positive integers or logicals.
However when I run this code:
y1 = 0:.01:1;
for y2=0:1/10:0.5;
l=1+y2*10;
t(:,l) = y1.^3./12 + (y1.^2.*y2)/4 - y1.^2./2 + (y1.*y2.^2)/4 - y1.*y2 + y1
- (7.*y2.^3)/12 + (3.*y2.^2)/2 - y2;
end
plot(y1,t)
There is no problem! (only difference is the 3rd line)
Can someone explain why I cannot do the first one?
Best,
David
0 Kommentare
Akzeptierte Antwort
Wayne King
am 6 Apr. 2012
You have the line:
l=1+y2*10;
and then you try to use that to index the columns of t(), but you actually have an index not equal to an integer
l =
7.000000000000001
I'm not sure why you're trying to do here, but how about
l=1+round(y2*10);
That should enable your loop to run and produce your plot.
0 Kommentare
Weitere Antworten (2)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!