差分方程
有关于什么是差分方程,以及差分方程的建立与求解,参考差分方程的建立及经典解法
差分方程的求解
示例
参照司守奎的数学建模书例子
假设
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=a1yt−1+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=a1yt−1+a2yt−2+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商品销售量预测
以上的两部分代码都是为了求解一个商品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养老保险
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])