ode45 MATLAB 中的ODE45

当前位置:首页 > 教育

ode45 MATLAB 中的ODE45

发布时间:2020-12-12 01:47:50

题目:

MATLAB 中的ODE45ode45的初始条件是否必须是在x=0处

解答:

没有必要 只要是选取的初值对应的t等于tspan(1) 我们看下面一个例子,对于dx/dt=2t来说吧 我们知道精确解是x=t^2 下面我们给出数值解法,编写代码 % %选取状态变量 %x1=x % %则各个状态变量的一阶导数为 %x1"=x"=2*t % %by dynamic %2009.2.19 % odefun=@(t,x)2*t; %给出初值,注意我们这里不给出t=0时的初值,我们给出t=2时的初值 %初值是指各个状态变量的在t=t0=2时的值 %t=2时,状态变量x1的初值x1=t^2=4,故初值为 x0=4; %注意下面的t0必须等于2,因为我们的选择的初值条件是t=2,ode45默认将t0作为初值条件对应的t值 t0=2; t1=10; [t,y]=ode45(odefun,[t0,t1],x0); %根据计算数据绘图 plot(t,y,"-.k","LineWidth",3) %根据解析解精确绘图 t=0:0.1:10; x=t.^2; hold on plot(t,x,"r") 我们可以看到两个图像重合 说明现在的ode45求解出完全正确的数值解 换句话说初值的条件不一定需要t=0换句话说 只要那个初值中的t可以任意选,但是必须满足,选取的t和ode45(odefun,[t0,t1],x0)中的t0相等 里面对微分方程的Matlab求解分析的比较透彻

欢迎分享转载 →ode45 MATLAB 中的ODE45

Copyright © 2002-2020 鲁旭娱乐网 版权所有 备案号:粤ICP备14025430号-1

收藏本站 - 网站地图 - 关于我们 - 网站公告 - 广告服务