欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

莱斯利Leslie种群模型pythonsympy

时间:2023-05-31
莱斯利Leslie种群模型 python sympy

# 莱斯利Leslie种群模型import numpy as npimport sympy as spX0 = np.array([500, 1000, 500])L = np.array([[0, 4, 3], [0.5, 0, 0], [0, 0.25, 0]])X1 = L @ X0X2 = L @ X1X3 = L @ X2Ls = sp.Matrix([[0, 4, 3], [sp.Rational(1, 2), 0, 0], [0, sp.Rational(1, 4), 0]]) # 符号矩阵lamda = sp.var('lamda')p = Ls.charpoly(lamda) # 计算特征多项式 #re-A的行列式# w11 = Ls.eigenvals()# w22 = Ls.eigenvects()w1 = sp.roots(p) # 特征值w2 = Ls.eigenvals() # 直接计算特征值v = Ls.eigenvects()# print("特征值", w2)# print(w1)# print('特征向量', v)P, D = Ls.diagonalize() # 相似对角化Pinv = P.inv() # 求逆矩阵Pinv = sp.simplify(Pinv)cc = Pinv @ X0# print(P)# print(cc[0])# print(w1)# print(v)k = sp.var('k', positive=True, integer=True)xk = P @ (D ** k) @ Pinv @ sp.Matrix(X0)# print(xk)# print(xk[0])s = sp.simplify(xk[0])print(s.subs(k, 2).n()) # # 计算第k个时期的种群数量

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。