How do I prepare the following ODE for ode45?

7 vues (au cours des 30 derniers jours)
Sergio Manzetti
Sergio Manzetti le 20 Fév 2018
Commenté : Torsten le 9 Mar 2018
Hello, I would like to solve the following ODE in ode45, but the example's on the site are not describing using higher order derivatives with non-linear terms.
The ODE is:
y''' = y(2+x^2)
initial conditions are: y(0)=0 y'(0)=0 y''(0)=0
Thanks!
  2 commentaires
Torsten
Torsten le 20 Fév 2018
Google is your friend:
matlab & higher order odes
Best wishes
Torsten.
Sergio Manzetti
Sergio Manzetti le 20 Fév 2018
Modifié(e) : Sergio Manzetti le 20 Fév 2018
I got so far:
dYdX = @(X,Y) [Y(3) + (x^2+2)*Y(1)]; % Differential equation
res = @(ya,yb) [ya(1); ya(2); yb(2)-1]; % Boundary conditions
SolYinit = bvpinit([0 1E+1], [1; 1; 1]);
Fsol = bvp4c(dYdX, res, SolYinit);
X = Fsol.x;
F = Fsol.y;
figure(1)
plot(X, F)
legend('F_1', 'F_2', 'F_3', 3)
grid
But the first line is not correct. Can you see what is missing?

Connectez-vous pour commenter.

Réponse acceptée

Torsten
Torsten le 20 Fév 2018
fun = @(x,y)[y(2);y(3);y(1)*(2+x^2)];
y0 = [0 0 0];
xspan = [0 5];
[X,Y] = ode45(fun,xspan,y0);
plot(X,Y(:,1),X,Y(:,2),X,Y(:,3));
Best wishes
Torsten.
  17 commentaires
Sergio Manzetti
Sergio Manzetti le 28 Fév 2018
Hi Jan, is it possible to plot the square modulus of the numerical solution following your suggestion here ?
Torsten
Torsten le 28 Fév 2018
Maybe, if you tell us what the "square modulus of the numerical solution" is.

Connectez-vous pour commenter.

Plus de réponses (1)

Sergio Manzetti
Sergio Manzetti le 28 Fév 2018
Modifié(e) : Sergio Manzetti le 28 Fév 2018
(abs(y))^2
if y is the solution
  11 commentaires
Sergio Manzetti
Sergio Manzetti le 9 Mar 2018
Modifié(e) : Sergio Manzetti le 9 Mar 2018
OK, this is quite a new way to think...so one lists the levels of derivation of y as such?
Torsten
Torsten le 9 Mar 2018
You transform a higher order ODE to a system of first-order ODEs.
I already gave you the link to digest this.

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by