微分方程建模

微分方程建模

原文:http://blog.csdn.net/qq_34861102/article/details/76974294


  • 对dsolve所得的解析解画图:

    y = dsolve();
    ezplot(y);
  • 阶层

    gamma(n+1) = n!


  • 微分方程

    这里写图片描述

    这里只是求曲线,可以用到的函数dsolve

    微分方程建模_第1张图片

    代码:

    y = dsolve('D2y = sqrt(1+(Dy)^2)/5/(1-x)','y(0) = 0,Dy(0) = 0','x');
    
    dyy = @(x,yy)[yy(2);sqrt(1+yy(2)^2)/5/(1-x)];
    yy0 = [ 0 0 ]';
    [x yy] = ode45(dyy,[0 ,0.99999],yy0);
    plot(x,yy(:,1));
    yys = yy(end,1)

    微分方程建模_第2张图片

    • 求数值解的时候2阶微分方程是不存在的,需要做变量变换:

      微分方程建模_第3张图片

      clc,clear
      y = dsolve('x^2*D2y+x*Dy+(x^2-1/4)*y','y(pi/2)=2,Dy(pi/2)=-2/pi','x');
      ezplot(y);
      hold on;
      %定义函数
      dy = @(x,y)[y(2);(1/4/x^2-1)*y(1)-y(2)/x];
      [x,y] = ode45(dy,[pi/2,8],[2,-2/pi]);
      plot(x,y(:,1),'*');
    • 列表内容

      微分方程建模_第4张图片

      clc,clear
      yy = @(x)1 - 1/gamma(3)*x.^2 + 2/gamma(5)*x.^4 - 9/gamma(7)*x.^6 + 55/gamma(9)*x.^8;
      x1 = 0:0.1:2;
      y1 = yy(x1);
      plot(x1,y1,'P -');
      hold on;
      dy = @(x,y)[y(2);-y(1)*cos(x)];
      [x2,y2] = ode45(dy,[0,2],[1,0]);
      plot(x2,y2(:,1),'* -r')

      微分方程建模_第5张图片

      dxy = @(t,xy)[-2*xy(1)/sqrt(xy(1)^2+xy(2)^2);1-2*xy(2)/sqrt(xy(1)^2+xy(2)^2)];
      [t,xy] = ode45(dxy,[0,66.65],[100,0]);
      plot(xy(:,1),xy(:,2));

      微分方程建模_第6张图片

你可能感兴趣的:(数模竞赛)