具有混合边界条件的 BVP 的数值方法 (MATLAB)

计算科学 matlab 边界条件 数值建模
2021-12-19 00:24:27

我得到了一个二阶非线性 ODE:

d2θ(s)ds2=sfgcosθ+sfxcosϕsinθ

其中是常数。fg,fxϕ

的边界条件为[0,L]

  • dθds|s=0=0

  • θ(L)=θL

的不同值,我将多次重复此操作,将求解方法实现为函数。只是假设每次都知道的常数LθL

我不确定如何处理这些边界条件(它们是 Neumann、Dirichlet 等吗?我不这么认为)。当我尝试将 BVP 转换为用于拍摄方法的 IVP 时,我很挣扎,并且我一遍又一遍地阅读了 bvp4c 和 ode45 的文档,但在这个问题上没有任何进展。我似乎无法从这里开始。

谁能给我一些指示或帮助?非常感谢您提前。

1个回答

首先,您可以将其更改为一阶 ODE 系统

Y(s):=(θ(s)θ(s))=(Y1(s)Y2(s)),
Y(s)=(sfgcos(Y2(s))+sfxcosϕsin(Y2(s))Y1(s)).

Y(0)=(0t).
然后以为初始条件的拍摄方法,即使用不同的值作为初始条件。的近似值可以在本讲座教授的风格中找到。最简单的求根方法是二分法为此,您应该知道的值所在的中点)替换为三个不同的 IC 并使用 ode45解决tttt[tatb]tatbtctatb然后检查天气你越来越接近,然后减少二分算法算法中的搜索范围,直到你获得所需的精度。Y2(L)=θL