f=@(t,x) [x(2) ; -x(1)-x(1)^3]; [t,solsis]=ode45(f,0:.1:10,[1,0]);guardará en 'solsis' las estimaciones para $x_1$ y para $x_2$ ( es decir, para $y$ y para $y'$).
function auxDuffing(r,a) f=@(t,x) [x(2) ; -x(1)-r*x(1)^3]; [t,solsis]=ode45(f,0:.1:10,[a,0]); end
function solsis=auxDuffing(r,a) f=@(t,x) [x(2) ; -x(1)-r*x(1)^3]; [t,solsis]=ode45(f,0:.1:10,[a,0]); end
function sol=auxDuffing(r,a) f=@(t,x) [x(2) ; -x(1)-r*x(1)^3]; [t,solsis]=ode45(f,0:.1:10,[a,0]); sol=solsis(:,1); endy mejor si añadimos un comentario sobre lo que realiza la función:
function sol=auxDuffing(r,a) % utiliza ode45 para estimar la solución del p.v.i y''+y+ry^3=0, y(0)=a, % y'(0)=0; sol es el vector columna 101x1 con esa estimación f=@(t,x) [x(2) ; -x(1)-r*x(1)^3]; [t,solsis]=ode45(f,0:.1:10,[a,0]); sol=solsis(:,1); endCuando en la ventana de comandos ejecutemos
>> sol=auxDuffing(1,1); >> plot(0:.1:10,sol)en la ventana de figuras se representará la estimación del problema $$y''+y+y^3=0 \ ,\ \ y(0)=1 \ ,\ \ y'(0)=0$$ para $t$ entre 0 y 10:
function ecuDuffing(vr,a) % para los valores del parámetro r contenidos en vr se estima con ode45 la % solución de y''+y+ry^3=0, y(0)=a, y'(0)=0 para los valores de t=0:.1:10 % las estimaciones se guardan como columnas de est, que es una matriz 101xlongitud(vr) est=zeros(101,length(vr)); for k=1:length(vr) sol=auxDuffing(vr(k),a); est(:,k)=sol; end t=0:.1:10; plot(t,est) endSi en la ventana de comandos escribimos
ecuDuffing(1:3,1)en la ventana de figuras veremos la representación de las estimaciones de la solución para los valores $r=1$, $r=2$ y $r=3$, (azul, verde, rojo) tomando $y(0)=1$.
function ecuDuffing2(r,va) % para los valores 'a' contenidos en va se estima con ode45 la % solución de y''+y+ry^3=0, y(0)=a, y'(0)=0 para los valores de t=0:.1:10 % las estimaciones se guardan como columnas de est, que es una matriz 101xlongitud(va) est=zeros(101,length(va)); for k=1:length(va) sol=auxDuffing(r,va(k)); est(:,k)=sol; end t=0:.1:10; plot(t,est) endCuando en la ventana de comandos ejecutemos
ecuDuffing2(1,1:4)obtendremos la figura