2.12

2023310143015發表於2024-10-28

  • 程式碼
點選檢視程式碼
import numpy as np
from sympy import Matrix, symbols

# 定義一個矩陣
A = np.array([[-1,1,0],[-4,3,0],[1,0,2]])

# 使用numpy.linalg.eig求解特徵值和特徵向量
eigenvalues, eigenvectors = np.linalg.eig(A)

print("數值解的特徵值:", eigenvalues)
print("數值解的特徵向量:\n", eigenvectors)


# 定義符號變數(雖然在這個例子中我們不需要顯式地定義它們,但SymPy內部會使用)
# x, y = symbols('x y')  # 在這個例子中不需要

# 定義一個符號矩陣
A = Matrix([[4, 2], [1, 3]])

# 使用.eigenvects()方法求解特徵值和特徵向量(符號解)
eigenvects = A.eigenvects()

print("符號解的特徵值和特徵向量:")
for lambda_, multiplicity, vectors in eigenvects:
    print(f"特徵值: {lambda_}, 多重性: {multiplicity}")
    for vector in vectors:
        print(f"特徵向量: {vector}")
print("學號:3015")


相關文章