How to plot multiple functions with a for loop
16 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Travis Girton
el 26 de Mayo de 2020
Comentada: Travis Girton
el 26 de Mayo de 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 comentarios
Respuesta aceptada
Ameer Hamza
el 26 de Mayo de 2020
Editada: Ameer Hamza
el 26 de Mayo de 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
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!