数学建模|预测方法:差分方程

差分方程

有关于什么是差分方程,以及差分方程的建立与求解,参考差分方程的建立及经典解法

差分方程的求解

示例

数学建模|预测方法:差分方程_第1张图片

数学建模|预测方法:差分方程_第2张图片

参照司守奎的数学建模书例子

假设 y y y不与 x x x成线性相关,而是 y y y按前一个 y y y或前两个 y y y的一定比例增长。

y t = a 1 y t − 1 + a 2 y_t=a_1y_{t-1}+a_2 yt=a1yt1+a2

y t = a 1 y t − 1 + a 2 y t − 2 + a 3 y_t=a_1y_{t-1}+a_2y_{t-2}+a_3 yt=a1yt1+a2yt2+a3

如果点不在线上,我们一般采用最小二乘法

然而这本书的代码并没有用最小二乘法,还是照着矩阵运算

y0=[11 12 13 15 16]';
y=y0(3:5);x=[y0(2:4),y0(1:3),ones(3,1)];
z=x\y

例子1商品销售量预测

数学建模|预测方法:差分方程_第3张图片

以上的两部分代码都是为了求解一个商品5年第一季度的销售量与时间的方程。但是在此如果每个季度都列一个五年的方程与事实不符。所以试试全体数据拟合。

y0=[11 16 25 12 12 ...
    18 26 14 13 20 ...
    27 15 15 24 30 ...
    15 16 25 32 17]';
y=y0(9:20);
x=[y0(5:16),y0(1:12),ones(12,1)];
z=x\y
for t=21:25
y0(t)=z(1)*y0(t-4)+z(2)*y0(t-8)+z(3)
end
yhat=y0(21:25)%提取预测t=21,...,25时的预测值

同样的,这里也是普通的矩阵运算解方程组,没有涉及最小二乘法。

例子2养老保险

数学建模|预测方法:差分方程_第4张图片

数学建模|预测方法:差分方程_第5张图片

Matlab程序如下:

clc,clear
M=600;N=420;p=200;q=2282;
eq=@(x)x^M-(1+q/p)*x^(M-N)+q/p;
x=fzero(eq,[1.0001,1.5])

参考博客

学习笔记17 差分方程

数学建模(五) 微分方程,常微分方程,差分方程模型

你可能感兴趣的:(数学建模,线性代数,矩阵,算法,数学建模)