
How to plot multiple functions with a for loop
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Travis Girton
am 26 Mai 2020
Kommentiert: Travis Girton
am 26 Mai 2020
Hello, I am trying to use a for loop to solve an ODE by way of Euler's method. I have a loop that works for a single step size h = 0.05, but I was wondering if I can get the loop to run with h = [0.05 0.1 0.2], and then plot the three different outputs? Here is the code that I have so far, loops confuse me so any help is greatly appreciated.
y0 = 0;
t0 = 0;
tf = 1;
h = 0.05;
f = @(t,y) y^2 + 1;
y = y0;
y_1 = y;
for t = t0:h:tf-h
yp = f(t,y);
y = y + h*yp;
y_1 = [y_1 ; y];
end
x = 0:h:1;
plot(x,y_1)
0 Kommentare
Akzeptierte Antwort
Ameer Hamza
am 26 Mai 2020
Bearbeitet: Ameer Hamza
am 26 Mai 2020
H = [0.05 0.1 0.2];
figure;
hold on
for i=1:numel(H)
y0 = 0;
t0 = 0;
tf = 1;
h = H(i);
f = @(t,y) y^2 + 1;
y = y0;
y_1 = y;
for t = t0:h:tf-h
yp = f(t,y);
y = y + h*yp;
y_1 = [y_1 ; y];
end
x = 0:h:1;
plot(x,y_1, 'DisplayName', ['H = ' num2str(H(i))])
end
legend

Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!