• 数模学习笔记(三)


    本讲主要说一下微分方程的数值解法,在数模中常微分方程是经常会碰到的问题,我们还会附带说一下差分方程和偏微分方程的数值解法。

    微分方程的数值解法:

    1)显示解:dsolve

    example:

    1 %farmat:dsolve('diff_equation''condition1,condition2,…''var')
    2 %example%
    3 y=dsolve('D3y-D2y=x','y(1)=8,Dy(1)=7,D2y(2)=4','x');

    介绍数值解前先做两个铺垫

    a.高阶微分方程初值问题化为一阶常微分方程组:

     通过换元,化成标准形式:

     y’=F(t,y),y(0)=y0

    b.匿名函数:

    %F=@(x,y)[......]

    2)Euler法:离散化思想

    3)Runge-Kutta法:ode23/ode45

    %Farmat:[T,Y]=solver('F',tspan,y0)

    若把F写成匿名函数的形式则没有引号!!!

    Practice:Verderpol微分方程

    Solution:

    将二阶问题化成标准的一阶形式:

    [y1’;y2’]=F[y2;7(1-y1^2)y2-y1];y1(0)=1,y2(0)=0

    1 F=@(t,y)[y(2);7*(1-y(1)^2)*y(2)-y(1)];
    2 [T,Y]=ode45(F,[0 40],[1;0]);
    3 plot(T,Y(:,1));

  • 相关阅读:
    后缀数组
    网络流 HOJ1087
    备用
    css-具有缩略图的材料列表
    正则匹配log行
    vue-cli的webpack打包,icon无法正确加载
    导出CSV,导出excel数字过长显示科学计数法解决方案
    js导出CSV
    git常见操作指令
    javascript原型的意义
  • 原文地址:https://www.cnblogs.com/wl142857/p/3172700.html
Copyright © 2020-2023  润新知