Solving an ODE second order

Hi, I have to solve an ODE second order in Matlab, like this:
a*y''(x)=b
Where x is the space coordinate, a and b are costants. The initial condition is y value at x=0. At the end I must obtain the evolution of y in function of space.
How can I model it? Should I use a certain ode solver?
Thank you!

 Risposta accettata

Stephan
Stephan il 20 Apr 2021
Modificato: Stephan il 20 Apr 2021
change to the initial conditions as you need:
% symbolic variables
syms a b y(x)
% Define derivatives
Dyx = diff(y,x,1)
Dyx(x) = 
D2yx = diff(y,x,2)
D2yx(x) = 
% ode
ode = a* D2yx == b
ode(x) = 
% initioal conditions
conds = [y(0)==1, Dyx(0)==0]
conds = 
% solve
sol = dsolve(ode,conds)
sol = 

5 Commenti

Elia Paini
Elia Paini il 20 Apr 2021
Thank you! What should I add if I want to integrate in an x interval?
Stephan
Stephan il 20 Apr 2021
Modificato: Stephan il 20 Apr 2021
Do you mean that you want to treat it as a boundary value problem in a way x(0)=... and x(5)=...?
Elia Paini
Elia Paini il 20 Apr 2021
Exactly
Change the conds:
% symbolic variables
syms a b y(x)
% Define derivatives
Dyx = diff(y,x,1)
Dyx(x) = 
D2yx = diff(y,x,2)
D2yx(x) = 
% ode
ode = a* D2yx == b
ode(x) = 
% initioal conditions
conds = [y(0)==1, y(5)==0]
conds = 
% solve
sol = dsolve(ode,conds)
sol = 
Elia Paini
Elia Paini il 20 Apr 2021
Thank you!!

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by