24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2104  |  回复: 5

815292578

木虫 (著名写手)

[求助] Matlab数值求解非线性常微分方程已有1人参与

现在遇到一个问题:求解非线性微分方程两点边值问题的数值解。如何用Matlab求解?(对matlab不熟悉),文中说采用差分方法将其离散化,然后用Newton迭代求解。可是如何用差分方法离散?如何迭代求解?请大侠指教....

方程为: d/dr(dy/dr)=d/dr(secy)*2/A-B*d/dr(tany/r) (其中,A和B都是常数)
如下图所示:

边值条件是:当r=0时,y=0
                    当r=5时,y=0.2
Matlab数值求解非线性常微分方程
20130831103501088.jpg
回复此楼

» 猜你喜欢

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

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

815292578

木虫 (著名写手)

没人回复啊,自己顶一个....
2楼2013-09-01 15:10:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z65668396

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
1592203609: 金币+2, 谢谢回帖 2013-09-05 16:00:29
815292578: 金币+10, 有帮助, 感谢你的回复! 2013-09-05 16:43:55
我最近也在用牛顿迭代解一个非线性方程组
Newton迭代有程序
我拷给你你
编写Newton迭代法的M文件NewtonIterate.如下:
function s=NewtonIterate(x,eps)
%Newton迭代法求非线性方程组
%x为迭代初值,eps为允许误差值
if nargin==1
    eps=1.0e-6;
elseif nargin<1
    error
    return
end  
x1=fx1(x);%非线性方程组
x2=-dfx1(x);%非线性方程组导数
x3=inv(x2);
x0=x3*x1';
while norm(x0)>=eps %循环迭代
      x=x0'+x;
      x1=fx1(x);
      x2=-dfx1(x);
      x3=inv(x2);
      x0=x3*x1';
end
s=x0'+x;
return
例: x1.^2-10x1+x2.^2+b=0
     x1*x2.^2+x1-10x2+8=0
用MATLAB实现,编写非线性方程组的M文件fx1.m如下所示:
   function y=fx1(x)
   y(1)=x(1)*x(1)-10*x(1)+x(2)*x(2)+8;
   y(2)=x(1)*x(2)*x(2)+x(1)-10*x(2)+8;
   y=[y(1) y(2)];
编写非线性方程组导数的M文件dfx1.m
  function y=dfx1(x)
     y(1)=2*x(1)-10;
     y(2)=2*x(2);
     y(3)=x(2)*x(2)+1;
     y(4)=2*x(1)*x(2)-10;
     y=[y(1) y(2);y(3) y(4)];
心有猛虎,细嗅蔷薇。
3楼2013-09-05 11:34:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

815292578

木虫 (著名写手)

引用回帖:
3楼: Originally posted by z65668396 at 2013-09-05 11:34:17
我最近也在用牛顿迭代解一个非线性方程组
Newton迭代有程序
我拷给你你
编写Newton迭代法的M文件NewtonIterate.如下:
function s=NewtonIterate(x,eps)
%Newton迭代法求非线性方程组
%x为迭代初值,eps为允许 ...

感谢你的回复,本人金币不多,请你见谅。对于上面的非线性常微分方程的求解你有没有建议?我查阅过一些资料,现在没有找到合适的方法求解它,因为将这个方程化简后是
d/dr(dy/dr)=(2/A*sin(y)/cos^2(y)-B/cos^2(y)*1/r)dy/dr+sin(y)/cos(y)*B/r^2
这样一来,dy/dr和最后一项的系数中都含有r和y(自变量和因变量)。如何差分和迭代就不会了。
4楼2013-09-05 16:55:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

z65668396

金虫 (正式写手)

引用回帖:
4楼: Originally posted by 815292578 at 2013-09-05 16:55:26
感谢你的回复,本人金币不多,请你见谅。对于上面的非线性常微分方程的求解你有没有建议?我查阅过一些资料,现在没有找到合适的方法求解它,因为将这个方程化简后是
d/dr(dy/dr)=(2/A*sin(y)/cos^2(y)-B/cos^2(y ...

不好意思啊   
这方面我也不是很懂

我也是解非线性方程遇到问题来求助的
心有猛虎,细嗅蔷薇。
5楼2013-09-05 20:41:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

CSU_HUSTer

新虫 (正式写手)

【答案】应助回帖

参考这本书 AMAT3122MathematicalMethodsforDifferentialEquations
6楼2014-03-10 18:19:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 815292578 的主题更新
信息提示
请填处理意见