matlab 矩阵方程求解

来源:百度知道 编辑:UC知道 时间:2024/06/23 18:36:00
M=[2 1 0 0;1 4 1 0;0 1 4 1;0 0 1 2]
K=[1 -1 0 0;-1 2 -1 0;0 -1 2 -1;0 0 -1 1]
|M-w^2*K|=0
怎么编程实现求解w?
实在不好意思:|K-w^2*M|=0

好吧,再修改成
|K-w^2*M|=0
实际上就是个三次多项式的求解
程序:

syms v
M=[2 1 0 0;1 4 1 0;0 1 4 1;0 0 1 2]
K=[1 -1 0 0;-1 2 -1 0;0 -1 2 -1;0 0 -1 1]
f=det(K-v*M)
solve(f)

求出了v,w就是v的开方,你应该会求吧

M=[2 1 0 0;1 4 1 0;0 1 4 1;0 0 1 2]
K=[1 -1 0 0;-1 2 -1 0;0 -1 2 -1;0 0 -1 1]
|M-w^2*K|=0

那么 应该是
w^2*K=M
进而
w^2*K*K的逆矩阵=M*K的逆矩阵
得到
w^2=M*K的逆矩阵

问题在于你的 K 矩阵不可逆
可以验证
K的行列式为 零,也就是 K 不可逆
所以你的方程有无穷多解

请修改问题之后再来