|
一阶线性常系数差分方程的解及图形(by MATLAB)
x(k+1)=a*x(k), (*)
a=1+r,
k=0,1,2,3,...
以r=0.0194,-0.0324,-0.0382以及x(0)=100带入计算并作图,程序如下:
function x=exf11(x0,n,r) %建立名为exf11的函数M文件,x0,n,r可调节
a=1+r;
x=x0;%赋初值
for k=1:n
x(k+1)=a*x(k); %按(*)式迭代计算
end
k=(0:20)';
y1=exf11(100,20,0.094);
y2=exf11(100,20,-0.0324);
y3=exf11(100,20,-0.0382);
round([k,y1',y2',y3']),%对结果四舍五入取整
plot(k,y1,k,y2,':',k,y3,'--'),%将三条线画在一个图上
gtext('r=0.0194'),gtext('r=-0.0324'),gtext('r=-0.0382'), %在图上做标记
运行结果
ans =
0 100 100 100
1 109 97 96
2 120 94 93
3 131 91 89
4 143 88 86
5 157 85 82
6 171 82 79
7 188 79 76
8 205 77 73
9 224 74 70
10 246 72 68
11 269 70 65
12 294 67 63
13 322 65 60
14 352 63 58
15 385 61 56
16 421 59 54
17 461 57 52
18 504 55 50
19 551 53 48
20 603 52 46
图略
|