当前位置: 首页 > 计算模拟 >求大神帮忙怎么用MATLAB解这个微分方程组

求大神帮忙怎么用MATLAB解这个微分方程组

作者 吴俊峰
来源: 小木虫 450 9 举报帖子
+关注

求大神帮忙怎么用MATLAB解这个微分方程组,最好能把程序代码写出来

 返回小木虫查看更多

今日热帖
  • 精华评论
  • dingd

    ODE45命令,最基本的初值微分方程问题,自己先动手试试

  • pdl9527

    程序以及ode23 ode45的区别如下:

    CODE:
    function question_20
    % 2017-1-12
    clear;clc
    tic
    %t_span 根据实际情况做修改
    t_span=[0 1];
    %ode23和ode25得到的结果并不相同
    %ode45只能处理非刚性问题,而ode23对于轻度刚性问题要稍微好于ode45,但是本质上两者都是非刚性问题的求解器
    [t,y] = ode45(@fun,t_span,[0 0 2e-5 4e-4 4e-4]);
    plot(t,y(:,1),'-',t,y(:,2),'-',t,y(:,3),'-',t,y(:,4),'-',t,y(:,5),'-','linewidth',1)
    legend('x','y','z','u','v')
    toc
    function dydt=fun(t,y)
    %x=y(1) y=y(2) z=y(3) u=y(4) v=y(5)
    dydt(1)=20*y(4)*y(5)-3000*y(1)-9.9e8*y(1)*y(4)-1.2e6*y(1)*y(5)-3e9*y(1)*y(3);
    dydt(2)=3000*y(1)-1.4e7*y(2)*y(5)-3e8*y(1)*y(4)-2e9*y(1)*y(3);
    dydt(3)=-3e9*y(1)*y(3)-2e9*y(1)*y(2);
    dydt(4)=-20*y(4)*y(5)-9.9e8*y(1)*y(4)-3e8*y(2)*y(4);
    dydt(5)=-20*y(4)*y(5)-1.2e6*y(1)*y(5)-1.4e7*y(2)*y(5);
    dydt=dydt';


  • pdl9527

    引用回帖:
    6楼: Originally posted by 吴俊峰 at 2017-01-13 17:16:25
    微分方程解出来后,如果想求-3e9*xz在t=0~120区间的定积分怎么求呢
    ...

    这是最基本的了,你可以在matlab命令栏中输入
    CODE:
    doc quadl

    里面有例子,很简单。

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓