数模学习笔记(三)

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

微分方程的数值解法:

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

 

 

 

 

转载于:https://www.cnblogs.com/wl142857/p/3172700.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值