Calling Euler Method to solve Shooting Method

4 次查看(过去 30 天)
Hi, I am trying to solve a BVP:
y''(x) +5y'(x)+4y(x) = 1 with boundary conditions y(0) = 0 and y(1)=1
using shooting method.
I found many examples by solving such BVP using ode45 but I want to solve it by euler method (not allowed to use built-in command), but I got stuck in doing so.
I need help to do so...
Thanks,

采纳的回答

Alan Stevens
Alan Stevens 2021-5-9
You need to express your 2nd order ode as two 1st order odes
y``(x) + 5y`(x) + 4y(x) = 1
v = dy/dx
dv/dx = y``(x)
So you have
y`(x) = v(x)
v`(x) = 1 - 4*y(x) - 5*v(x)
Now your Euer expressions become
t(i) = t(i-1) + h;
y(i) = y(i-1) + h*v(i-1);
v(i) = v(i-1) + h*(1 - 4*y(i-1) - 5*v(i-1));
and you must supply initial values for both y and v.
  4 个评论
Fareeha
Fareeha 2024-11-24
how will we use built in command to solve this problem?
Torsten
Torsten 2024-11-24
编辑:Torsten 2024-11-24
Use "bvp4c" or - for simple problems as the one given - "dsolve".
If you are forced to use the shooting method, combine "ode45" and "fsolve".
syms y(x)
ysol = dsolve(diff(y,2)+5*diff(y,x)+4*y(x)==1,[y(0)==0,y(1)==1])

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by