美文网首页
MATLAB求解微分方程

MATLAB求解微分方程

作者: 爱学习的张小路 | 来源:发表于2017-06-01 14:35 被阅读0次

    以下只是例题介绍,编程方式情参照例题,因为markdown用的不好,现在我都不知道怎样输入数学公式。所以私底下还得记笔记。今天偶然读了一篇文章种,文章中说,如今的大学者越发少见。其中一个原因是现金我们重理轻文。的确如此啊,理学学科应用的太广泛,但是我还是学的是皮毛,虽然很懊恼。但是还得耐着性子一步步的慢慢来。大神不是一日练成的哦!

    例1:一阶微分方程

    y=dsolve('Dy=1+y^2','y(0)=1','x')
    y =tan(pi/4 + x)

    例2:常系数的二阶微分方程

    dsolve('D2y-2Dy-3y=0','y(0)=1,Dy(0)=0','x')
    ans =
    (3exp(-x))/4 + exp(3x)/4

    例3:非常系数的二阶微分方程

    dsolve('D2x-(1-x^2)*x+x=0','x(0)=3,Dx(0)=0')
    ans =
    [ empty sym ]

    无解咋办,欲知详解请看下文哦!

    例4:非线性微分方程

    x=dsolve('(Dx)2+x2=1','x(0)=0')

    x =

    cosh((pii)/2 + ti)
    cosh((pii)/2 - ti)

    例5:微分方程组

    [x,y]=dsolve('Dx=3x+4y','Dy=-4x+3y','x(0)=0,y(0)=1')
    x =
    sin(4t)exp(3t)
    y =
    cos(4
    t)exp(3t)

    没有解析解可以采用数值解的方法

    [x,y]=ode23('weif',[0,1],1)
    plot(x,y,'r');
    hold on
    ezplot('x+exp(-x)',[0,1])
    x =
    0
    0.1000
    0.2000
    0.3000
    0.4000
    0.5000
    0.6000
    0.7000
    0.8000
    0.9000
    1.0000
    y =
    1.0000
    1.0048
    1.0187
    1.0408
    1.0703
    1.1065
    1.1488
    1.1966
    1.2493
    1.3066
    1.3679

    van der pol方程(就是例3,数值法求解)

    [t,y]=ode23('vdpol',[0,20],[3,0]);
    y1=y(:,1);
    y2=y(:,2);
    plot(t,y1,'b',t,y2,'r--')
    legend('y1','y2')

    van der pol

    看看你能不能提出问题呢?所以我不吧我的疑惑写出来。嘿嘿

    相关文章

      网友评论

          本文标题:MATLAB求解微分方程

          本文链接:https://www.haomeiwen.com/subject/uzqefxtx.html