matlab中的微分方程的数值积分

 时间:2024-10-04 07:21:17

这个例子展示了如何在缬方焱蜱一个简单的微分方程上使用ODe23和ODe45。常微分方程的数值解的函数是OD髫潋啜缅e23和ODe45。他们采用可变步长的龙格-库塔积分方法。ODe23使用简单的2阶和3阶的中精度公式,ODe45使用4阶和5阶的对来获得更高的精度。考虑一对一阶常微分方程称为洛特卡-沃尔泰拉捕食者-食饵模型。y1'=(1-alpha*y2)*y1y2'=(-1+beta*y1)*y2

工具/原料

matlab软件

电脑

方法/步骤

1、函数y1和y2分别测量食饵和捕食者的种群大小。二次交叉项说明了物种之间的相互作用。注意,当没有捕食者时,被捕食者数量增加,但当没有被捕食者时,捕食者数量减少。为了模拟一个系统,创建一个函数,该函数返回给定状态和时间值的状态导数列向量。对于这个示例,我们创建了一个名为LOTKA.M的文件。typelotka

2、模拟0区间上的LOTKA中定义的微分方程%Defineinitialconditions.t0=0;tfinal=15;y0=[2020]';%Simulatethedifferentialequation.tfinal=tfinal*(1+eps);[t,y]=ode23(@lotka,[t0tfinal],y0);

3、Plottheresultofthesimulationtwodifferentways.subplot(1,2,1)plot(t,y)title('Timehistory')subplot(1,2,2)plot(y(:,1),y(:,2))title('Phaseplaneplot')

matlab中的微分方程的数值积分

4、NowsimulateLOTKAusingODE45,咯悝滩镞insteadofODE23.ODE45takeslongerateachstep荑樊综鲶,butalsotakeslargersteps.Nevertheless,theoutputofODE45issmoothbecausebydefaultthesolverusesacontinuousextensionformulatoproduceoutputat4equallyspacedtimepointsinthespanofeachsteptaken.Theplotcomparesthisresultagainsttheprevious.[T,Y]=ode45(@lotka,[t0tfinal],y0);subplot(1,1,1)title('Phaseplaneplot')plot(y(:,1),y(:,2),'-',Y(:,1),Y(:,2),'-');legend('ode23','ode45')

matlab中的微分方程的数值积分

MATLAB R2015b怎么设置百分率为100% MATLAB中怎么把矩阵写入txt文档中去啊 Matlab中怎样生成矩阵 MATLAB中方阵系统的运算 matlab关于阶梯图的介绍
热门搜索
韩漫漫画无遮挡免费 人工少女3攻略 水鬼图片 贝母图片 新新漫画