Plotting results of for loop on one graph
Ältere Kommentare anzeigen
Hi, I am relatively unexperienced with MATLAB, so bear with me! I created a for loop where two of the values in my matrix are functions of r, and then further operations are performed with each iteration of the matrix. The values are generated but then when I try to graph them, I get either an error or no graph. Here's my code:
for r=0:0.001:1.1;
M=[-1*(r.^2)+1.3 -0.3;-0.3, -0.3*(r.^2)+0.3];
f=[1;0];
z_1=M\f;
plot(r,z_1)
end
Thank you in advance!
**As an added comment, if I try to express z_1 as z_1(r), or do this operation without the for loop, I get the error "Subscript indices must either be real positive integers or logicals" and I also don't know how to fix that...
Akzeptierte Antwort
Weitere Antworten (2)
Jae Song
am 17 Sep. 2015
The z_1 matrix variable needs to have index; Please see the following code
x = 0:0.001:1.1;
s = size(x,2); %: get the array size
for i=1:s
r = x(i);
M=[-1*(r.^2)+1.3 -0.3;-0.3, -0.3*(r.^2)+0.3];
f=[1;0];
z_1(:,i)=M\f;
end
figure(1); plot(x,z_1(1,:));
figure(2); plot(x,z_1(2,:));
2 Kommentare
Kelly Berry
am 17 Sep. 2015
Nasir Mehmood
am 25 Sep. 2020
Hello dear Jae Song! I'm new to Matlab.
When I change
x = 0:0.001:1.1;
to
x = 0:0.01:1.1;
no plot is obtained. How to handle this issue?
Also can you describe a little about these lines:
z_1(:,i)=M\f;
and
figure(1); plot(x,z_1(1,:));
Hansa Prasad
am 15 Feb. 2019
0 Stimmen
T0=24;
m0=1;
eta=4.2;
T(1)=T0;
m(1)=m0;
C=216;
R=2;
Ta=26;
P=2;
Ts=21;
for t=1:300:1;
T(t+1)=(-1/(C*R))*(T(t)-Ta+m(t)*R*P*eta)+T(t);
plot(t,T(t))
end
Kategorien
Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!