How do I prepare the following ODE for ode45?

18 views (last 30 days)
Sergio Manzetti
Sergio Manzetti on 20 Feb 2018
Commented: Torsten on 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 Comments
Sergio Manzetti
Sergio Manzetti on 20 Feb 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?

Sign in to comment.

Accepted Answer

Torsten
Torsten on 20 Feb 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 Comments
Torsten
Torsten on 28 Feb 2018
Maybe, if you tell us what the "square modulus of the numerical solution" is.

Sign in to comment.

More Answers (1)

Sergio Manzetti
Sergio Manzetti on 28 Feb 2018
Edited: Sergio Manzetti on 28 Feb 2018
(abs(y))^2
if y is the solution
  11 Comments
Torsten
Torsten on 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.

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!