matlab 解二阶微分方程 >>

matlab 解二阶微分方程 >>
我解的方程是光在非均匀介质中的传播,介质折射率为位置的函数n=2-(x^2+y^2)
用费马定理得到二阶微分方程y''+2(y+xy')(1+y'^2)/(2-x^2-y^2)=0
我把它转换为两个一阶微分方程,t=x ,y(1)=y ,y(2)=y' ,
所以y(2)'=2(y(1)+ty(2))(1+y(2)^2)/((t^2+y(1)^2)-2)]
其中边界条件为x=-1,y=0
从上面的思路,
需要解的就是这个二阶微分方程,下面是matlab语句,报错
>> clear;close;
>> sinit=bvpinit(-1:1,[1;0]);
>> odefun=inline('[y(2);2*(y(1)+t*y(2))*(1+y(2)^2)/((t^2+y(1)^2)-2)]','t','y');
>> bcfun=inline('[ya(1)+1;yb(1)]','ya','yb');
>> sol=bvp4c(odefun,bcfun,sinit)
运行结果报错:
Error using ==> bvp4c at 203
Unable to solve the collocation equations -- a singular Jacobian encountered
这个二阶微分方程该怎么解呢,
请给正确的语句,
其他人气:824 ℃时间:2020-04-15 05:32:47
优质解答
先把方程化为一阶的,然后利用ode45等函数进行求解,自己试一下,如果还有疑问再说.
我来回答
类似推荐
请使用1024x768 IE6.0或更高版本浏览器浏览本站点,以保证最佳阅读效果。本页提供作业小助手,一起搜作业以及作业好帮手最新版!
版权所有 CopyRight © 2012-2024 作业小助手 All Rights Reserved. 手机版