24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4477  |  回复: 7

acnes

金虫 (正式写手)

[求助] matlab数值求解边界条件微分方程组

期望高手指点一下我的疑问,指出一个大方向也好,我现在就是处于无从下手的阶段,求点拨
解一个方程组,文献上给出了如下的形式:
du/dx+dv/dx=0
u=dn/dx
v=-dm/dx
du/dx=-exp(-x)+n*m/(m+n)
边界条件和初值条件
u(p)=0,u(0)=v(p),v(0)=0
n(0)=q
其中函数自变量为x,边界条件和初值条件中p为常量,q为变量

按照matlab求解边界条件微分方程bvp4c方法,我进行了如下处理:
y(1)=n,y(2)=m,y(3)=u,y(4)=v
y'(1)=y(3),y'(2)=-y(4),y'(3)=-exp(-x)+y(1)*y(2)/(y(1)+y(2)),y'(4)=exp(-x)-y(1)*y(2)/(y(1)+y(2))

方程M文件
function dydx=ivode(x,y)
dydx=[y(3);-y(4);-exp(-x)+2*y(1)*y(2)/(2*y(2)+y(1));exp(-x)-2*y(1)*y(2)/(2*y(2)+y(1))];

边界条件M文件
function res=ivbc(ya,yb)
res=[ya(1)-q;ya(4);yb(3);ya(3)-yb(4)];

command:
solinit=bvpinit(linspace(0,1,10),[1 1 0 0]);
sol=bvp4c(@ivode,@ivbc,solinit);
??? Error using ==> bvp4c
Unable to solve the collocation equations -- a singular Jacobian encountered

请问这个问题怎么解决呢?还有边界条件中u(0)=v(p)是否必须需要等于一个常量,方程组才能给出数值解。手工处理du/dx=-exp(-x)+n*m/(m+n)方程,分离变量也没弄明白。。。曾经学的高数都还给老师了。。。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai(金币+1): 谢谢应助! 2011-12-21 22:25:39
acnes(金币+20): ★★★很有帮助 嗯,非常感谢积极的回复! 2011-12-22 15:56:40
我对微分方程组不是很了解,把楼主的代码运行了之后,系统出现了下面的错误:
CODE:
??? Undefined function or variable 'q'.

Error in ==> ivbc at 2
res=[ya(1)-q;ya(4);yb(3);ya(3)-yb(4)];

我试着把边界条件中q的值改为1,运行之后没有报错,得到了两个结构体变量。
所以啊,问题应该出在q这个变量上,既然是数值解法,那么边界条件中不应该有变量。
往事并不如烟
2楼2011-12-20 18:38:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acnes

金虫 (正式写手)

=。= 我也改成q=1,为啥还是这个结果呢。。。原本我运算的时候也是设定了q值的。
??? Error using ==> bvp4c
Unable to solve the collocation equations -- a singular Jacobian encountered
3楼2011-12-20 19:08:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wangyuewu08

木虫 (著名写手)


xiegangmai(金币+1): 谢谢参与! 2011-12-21 22:25:55
引用回帖:
3楼: Originally posted by acnes at 2011-12-20 19:08:24:
=。= 我也改成q=1,为啥还是这个结果呢。。。原本我运算的时候也是设定了q值的。
??? Error using ==> bvp4c
Unable to solve the collocation equations -- a singular Jacobian encountered

我将方程、边界条件、command单独放在三个文件中,修改q之后可以运行出结果。
方程、边界条件的M文件的名字要与函数的名字一致。
往事并不如烟
4楼2011-12-20 20:10:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acnes

金虫 (正式写手)

文献上y轴为上面的变量u,而x轴为上面的边界条件值q,那文献得到的曲线函数关系不是u对q的么,我这样的微分方程组如何得到这样的结果呢?
5楼2011-12-20 21:20:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
xiegangmai(金币+1): 谢谢应助! 2011-12-21 22:26:07
边界条件微分方程bvp4c是求数值解的,你整一些符号进去是不可能得到结果的
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
6楼2011-12-21 11:17:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

acnes

金虫 (正式写手)

嗯,了解了。就是不太明白文献中是如何通过上面的微分方程,将边界条件与u函数建立的函数关系。
7楼2011-12-21 13:05:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bruceleem

铜虫 (著名写手)

好像解不出来。
需要终生学习!
8楼2013-12-06 20:44:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 acnes 的主题更新
信息提示
请填处理意见