微分方程建模

该博客探讨了如何使用微分方程进行建模,并展示了如何对dsolve得到的解析解进行图形化表示。内容包括微分方程的阶层分析以及数值解的变量变换方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

微分方程建模

原文:http://blog.youkuaiyun.com/qq_34861102/article/details/76974294


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

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

    gamma(n+1) = n!


  • 微分方程

    这里写图片描述

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

    这里写图片描述

    代码:

    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阶微分方程是不存在的,需要做变量变换:

      这里写图片描述

      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),'*');
    • 列表内容

      这里写图片描述

      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')

      这里写图片描述

      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));

      这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值