微分方程预测特征
适用范围
适用于基于相关原理的因果预测模型,大多是物理或几何方面的典型问题,假设条件,用数学符号表示规律,列出方程,求解的结果就是问题的答案。
优点
优点是短、中、长期的预测都适合。如:传染病的预测模型、经济增长(或人口)的预测模型、Lanchester战争预测模型。
缺点
反应事物内部规律及其内在关系,但由于方程的建立是以局部规律的独立性假定为基础,当作为长期预测时,误差较大,且微分方程的解比较难以得到。
常见案例
传染病的预测模型、经济增长(或人口)的预测模型、Lanchester战争预测模型、药物在体内的分布与排除预测模型、烟雾的扩散与消失模型
常用方法
直接列方程
- 利用所学过的公式对某些实际问题列出微分方程。
微元分析法与任意区域上取积分的方法
- 利用已知的规律建立一些变量(自变量与未知函数)的微元之间的关系式。
- 然后再通过取极限的方法得到微分方程,或等价地通过任意区域上取积分的方法来建立微分方程。
Matlab求解
dsolve()函数
[y1,y2,?,yn]=dsolve(eqns,conds,name,value)
其中:eqns为符号微分方程(组);conds为初值条件或边值条件;name,value为可选的成对参数。
-
- y ′ ⇋ D y , y ′ ′ ⇋ D 2 y y'\leftrightharpoons Dy,y''\leftrightharpoons D2y y′⇋Dy,y′′⇋D2y
-
- 自变量名可以省略,默认变量名‘t’
y1=dsolve('Dy=1+y^2','y(0)=1','x')
[x,y]=dsolve('Dx=y,D2y-Dy=0','x(0)=2,y(0)=1,Dy(0)=1','t')
ode函数
还有大量的常微分方程,虽然从理论上讲,其解是存在的,但我们却无法求出其解析解,此时,我们需要寻求方程的数值解。
function testode45
tspan=[3.9 4.0]; %求解区间
y0=[8 2]; %初值
[t,x]=ode45(@odefun,tspan,y0);
plot(t,x(:,1),'-o',t,x(:,2),'-*')
legend('y1','y2')
title('y'' ''=-t*y + e^t*y'' +3sin2t')
xlabel('t')
ylabel('y')
function y=odefun(t,x)
y=zeros(2,1); % 列向量
y(1)=x(2);
y(2)=-t*x(1)+exp(t)*x(2)+3*sin(2*t); %常微分方程公式
end
end