Solve a second order differential equation
Mostrar comentarios más antiguos
Hi, I am completely new to Matlab and am looking to solve a simple second order differential equation:
y''+w^2*y=0 IC: y(0)=0, y'(0)=1 BC=[0,pi]
I am looking to solve for both y(x) and y'(x)
I understand this is a simple equation to solve and have done it fine on paper. However I have been trying different ways to solve it on matlab but to no avail. I have tried both dsolve and ode45 functions but did not quite understand what I was doing. Any help would be great. Thanks in advance, Ben
Respuesta aceptada
Más respuestas (2)
Shashank Prasanna
el 7 de Mzo. de 2013
2 votos
I really recommend going through our documentation and these things become intuitive. Most standard setup's usually have examples in the documentation:
1 comentario
Ben
el 8 de Mzo. de 2013
Nicolas
el 28 de En. de 2014
Hi I have written the following First the Function
function h = goo(t,y)
h = zeros(3,1);
h(1) = y(2) * y(3);
h(2) = -y(1) * y(3);
h(3) = -0.51 * y(1) * y(2);
end
and then the code
clear all
initial=[-2 -3.5 21];
time=[0 10];
[t,y] = ode45(@goo,time,initial);
plot (t,y)
However I always get the following message:
Error using feval
Undefined function 'goo' for input arguments of type 'double'.
Error in odearguments (line 88)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 114)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...
Can anyone help me on this Thank you
Categorías
Más información sobre Ordinary Differential Equations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!