6 y6 x& w1 S! S3 B1 v e y + I% L3 F/ }* d x" N" K4.迭代求解:+ @: e! k: H: ]0 {& h# ^
/ E/ j# H8 b% ?- ~, O x_list = [x0]8 y5 Z( M3 ?- P& _$ I2 D t. t
for i in range(5): : |1 V1 J' \# K2 V' U9 i x_list.append(L.dot(x_list[-1].T))0 G; U7 I, T0 a; N1 \- x' N
& F" \% O' M/ ^" f* D6.打印结果:) R) y0 q! R& a; R3 |% z2 S6 z
) p5 D6 J7 t7 c# r" [1 V. R+ Q
for index, x in enumerate(x_list):* G+ I: }1 E/ j A6 n
print('the {}th year: 1y: {}, 2y: {}, 3y: {}'.format(1 a7 [5 {! c$ W8 }5 s( ^
index, x[0], x[1], x[2])) V, W8 Q) k% \, h, U+ d: l2 ^, Z1 z* x; o% P0 b: Y' w. j
; l9 W6 ~& n/ B5 c% Q
7.打印了每一年的状态向量。2 q6 Z/ e4 p- b1 J
) s/ B) X- D& s
# {- |) ]2 C5 g- G; w0 E. v8 \
8.绘制图形:7 o: v6 @- C, Z6 g
l4 ]8 e! h9 G
year_list = np.array(range(len(x_list))) : R4 f9 e" X% ^( X! a% A. [ y1,y2,y3 = [],[],[]' y8 L; ^/ t9 v! ]* w
for year in year_list: ) Q8 c- ]9 V Z5 ^5 G9 z' y y1.append(x_list[year][0]) % c% f8 _# [! Z& R h+ B0 A y2.append(x_list[year][1])) @5 ]( ^* @9 {8 c* b1 n
y3.append(x_list[year][2]) 2 L4 K" _& m, m0 r7 t3 h 1 r% p/ `8 u: o; U" |- d4 l: u w = .35 S& l0 r2 E$ A2 V$ [' N
plt.bar(year_list-w,y1, width=w, label='1y') $ o" X* `9 S! g4 V! _ plt.bar(year_list,y2, width=w, label='2y') $ u8 h9 G' v) V plt.bar(year_list+w,y3, width=w, label='3y') 3 R: r4 d- `5 g1 ^ a plt.legend(): n: }; ^% U1 c' U, \, U% y
' P. [# L/ N$ e d' c5 D+ r 6 s. v- C" v) @9 V q5 u9.使用 Matplotlib 绘制了每一年不同状态的柱状图,并添加了图例。" i, r. ?0 R2 _$ ?, c0 |
% e: {( P6 Q9 H* ]& a) u
这段代码的主要目的是模拟了基于给定的转移矩阵和初始状态的系统状态随时间的演变,并通过图形化展示了模拟结果。 : {# S6 d5 s" u3 g& R1 f( `9 R0 N% G7 S2 C A
3 B5 ], n7 |6 z! A7 S% X. b