matlab求解系统固有频率
时间: 2023-08-18 09:11:09 浏览: 222
在MATLAB中求解系统的固有频率可以使用特征值分解方法。首先,根据系统的质量矩阵M和刚度矩阵K,计算M的逆矩阵与K的乘积。然后,使用eig函数求解该乘积的特征值和特征向量。特征值即为系统的固有频率的平方,通过对特征值开方即可得到固有频率。特征向量描述了系统振动位移的形态,即主振型。以下是MATLAB代码示例:
```matlab
m1 = 1;
m2 = 9;
k1 = 4;
k2 = 2;
M = \[m1, 0; 0, m2\];
K = \[k1 + k2, -k2; -k2, k2\];
\[eig_vec, eig_val\] = eig(inv(M) * K);
\[omeg, w_order\] = sort(sqrt(diag(eig_val)));
mode_vec = eig_vec(:, w_order);
T = 2 * pi ./ omeg;
```
在上述代码中,eig函数用于求解特征值和特征向量,sqrt函数用于对特征值开方得到固有频率,eig_vec表示特征向量,omeg表示固有频率,w_order表示固有频率的排序,T表示周期。
#### 引用[.reference_title]
- *1* [matlab特征值分解法求多自由度系统的固有频率和主振型](https://blog.csdn.net/lijil168/article/details/67652804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文