ODE45 for a second order differential equation
167 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Remston Martis
el 21 de Abr. de 2018
Editada: Ebraheem Menda
el 30 de Jun. de 2021
I have a second order differential equation : y''=(2*y)+(8*x)*(9-x); Boundary Conditions y(0)=0 , y(9)=0 Need to solve the diff eq using ode45.
I've tried watching a bunch of tutorials but I just cannot seem to figure out how the function is written as a column vector [y';y'']. I don't understand it at all and that might make this query vague too.
Hope someone can help with the code or the explanation on how to solve the above.
Thank you
0 comentarios
Respuesta aceptada
Torsten
el 23 de Abr. de 2018
[x,y] = ode45(@fun,[0 9],[0 -28]);
function dy = fun(x,y)
dy = zeros(2,1);
dy(1) = y(2);
dy(2) = 2*y(1)+8*x*(9-x);
But for a boundary value problem like yours, you will have to use "bvp4c" instead of "ode45".
Best wishes
Torsten.
5 comentarios
Más respuestas (2)
Stephan
el 22 de Abr. de 2018
Editada: Stephan
el 22 de Abr. de 2018
Hi,
transform a n-th order ode into a system of n 1st order ode's to solve it.
Matlab documentation example: https://de.mathworks.com/help/matlab/math/solve-nonstiff-odes.html
If you read this i guess you can quickly solve your problem.
2 comentarios
Remston Martis
el 23 de Abr. de 2018
Editada: Remston Martis
el 23 de Abr. de 2018
Ebraheem Menda
el 30 de Jun. de 2021
Editada: Ebraheem Menda
el 30 de Jun. de 2021
In this case you have declared the name of the function and its output both with the same name 'fun'. That is the problem it seems.
NARSIRAM GURJAR
el 16 de Sept. de 2019
C:\Users\remst\Desktop\ode45.m
save this file with different name
0 comentarios
Ver también
Categorías
Más información sobre Ordinary Differential Equations 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!