|
Equazioni differenziali ordinarie: stiff
Sul sito di Matlab è proposta questa equazione da studiare con vari valori di a:
La soluzione si calcola e si disegna esattamente con maple
a:=100;
eq1:=diff(x(t),t)-x(t)^2-x(t)^3;
dsolve({eq1,x(0)=1/a});
f:=unapply(rhs(%),t);
plot(f(t),t=0..2*a);
Proviamo ora a calcolarla numericamente, chiedendoci quanti passi devono fare i vari algoritmi.
In alcuni casi, come per esempio per la routine ode45 si può richiedere di avere informazioni
sui passi e sul numero di chiamate efettuate con opportune opzioni assegnate al comando di soluzione:
miosetup=odeset('Stats','on');
ode45(f,[0 5],1,miosetup)
In altri casi, più prosaicamente, si possono prenderi i tempi con tic e toc.
|