How to plot for different values of parameters on one run?
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
parag gupta
el 30 de Jul. de 2019
Comentada: parag gupta
el 2 de Ag. de 2019
How to get the plots for different values of aplha = 2,3,4,5 on one run and how to merge all those graphs ?
function [t,y] = call_dstate()
tspan = [0 9]; % set time interval
y0 = 10; % set initial condition
% dstate evaluates r.h.s. of the ode
[t,y] = ode45( @dstate ,tspan ,y0);
plot(t,y)
disp([t,y]) % displays t and y(t)
function dydt = dstate (t,y)
alpha=2; gamma=0.0001;
dydt = alpha* y-gamma *y^2;
end
end
0 comentarios
Respuesta aceptada
David K.
el 30 de Jul. de 2019
Using one of the options for that I believe this will do it for you. This works because the nested function can use variables created in the outer function.
function [t,y] = call_dstate()
tspan = [0 9]; % set time interval
y0 = 10; % set initial condition
% dstate evaluates r.h.s. of the ode
gamma=0.0001;
for alpha = 2:5
[t,y] = ode45( @dstate ,tspan ,y0);
plot(t,y); hold on;
end
disp([t,y]) % displays t and y(t)
function dydt = dstate (t,y)
dydt = alpha* y-gamma *y^2;
end
end
3 comentarios
David K.
el 2 de Ag. de 2019
I may be wrong but it looks like you chose a color for the plot to use. So first I would suggest letting it choose a different color for each. Or if you want to do it manually you can create an array to set them yourself like this
color = {'r','m','b','c'}
for alpha = 2:5
[t,y] = ode45( @dstate ,tspan ,y0);
plot(t,y,color{alpha-1}); hold on;
end
Then you can add a legend after they are all plotted like this
for alpha = 2:5
...
end
legend('a=2','a=3','a=4','a=5')
And a legend will show up indicating which color plot corresponds to each alpha
Más respuestas (0)
Ver también
Categorías
Más información sobre Annotations 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!