6 e( U. w U6 f' X print('----- M1 -----') ; w1 i0 E" A) f) k for index, each in enumerate(x1_list): 0 `( \4 m4 L5 g9 J print('iter {}: AA: {:.4f}, Aa: {:.4f}, aa: {:.4f}'.format(index, each[0], each[1], each[2])) . d- i0 m9 ^, Q% O2 s( l' T: @; e4 D7 C& x
print('\n----- M2 -----') 2 X) }2 l8 C' ^1 P E6 X: `( D for index, each in enumerate(x2_list):( e4 W2 B. H) v/ m
print('iter {}: AA: {:.4f}, Aa: {:.4f}, aa: {:.4f}'.format(index, each[0], each[1], each[2]))) y h/ l- w, g) K
4 I/ W) P$ @- ~ K! b" w% T8 u) z8.打印了两个转移矩阵对应的基因型频率在每一代的变化情况。: U# X9 G( f, A
9.绘制图形:0 E( [$ G+ [% X9 c1 v
10.绘制了基因型频率随世代变化的曲线图,并使用不同的颜色和透明度区分不同的基因型频率。通过迭代方法,这段代码模拟了两种不同的基因型频率随着世代变化的情况,并通过图形化展示了结果。在结果中,可以观察到基因型频率随着世代的增加而发生的变化,从而更好地理解了基因型在群体中的动态演化过程。 ! D f( T# k/ E' c; `# S; c 0 ^8 y* D, `* N+ z. {7 |1 a, F- N+ Y ) f/ l+ X' _0 l# S- l3 I! T* l) X( k! b2 m! v4 g