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!

 採用された回答

Stephan
Stephan 2021 年 4 月 20 日
編集済み: Stephan 2021 年 4 月 20 日

0 投票

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 件のコメント

Elia Paini
Elia Paini 2021 年 4 月 20 日
Thank you! What should I add if I want to integrate in an x interval?
Stephan
Stephan 2021 年 4 月 20 日
編集済み: Stephan 2021 年 4 月 20 日
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 2021 年 4 月 20 日
Exactly
Stephan
Stephan 2021 年 4 月 20 日
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 2021 年 4 月 20 日
Thank you!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

質問済み:

2021 年 4 月 20 日

コメント済み:

2021 年 4 月 20 日

Community Treasure Hunt

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

Start Hunting!

Translated by