求微分方程 (1+x)D2y=2y-4 初始条件 y(0)=0
y(1)=2Dy(1)
如果想用inline和ode45解决,不用function窗口,该如何做?
解
1.
对于此类边值微分方程,ode**函数是无力直接求解的,Matlab提供了bvp解算器。 2.
对干你用的Matlab版本,用@(x)函数(匿名函数)比inline更方便。 3. 请参考本文中的其它例题及相关资料理解下面的代码。
http://hi.baidu.com/nature_and_man/item/6757103c923be981b611db6c
4. 在Matlab7.1版上,可用: dsolve(‘D2y = (2*y-4)/(1+t)‘, ‘y(0) = 0‘, ‘Dy(1)
= y(1)/2‘) 求出解析解(符号解)。 如不需要解析解与数值解的对比,可不要第一段代码。
% 解析解 syms t y =
-(1+t)^(1/2)*besseli(1,2*2^(1/2)*(1+t)^(1/2))*(4*i*bessely(0,4*i)-2*bessely(1,4*i)+2^(1/2)*bessely(1,2*i*2^(1/2)))/(2*i*bessely(0,4*i)*besseli(1,2*2^(1/2))-bessely(1,4*i)*besseli(1,2*2^(1/2))+besseli(1,4)*bessely(1,2*i*2^(1/2))-2*besseli(0,4)*bessely(1,2*i*2^(1/2)))+(1+t)^(1/2)*bessely(1,2*i*2^(1/2)*(1+t)^(1/2))*(bess