如何用matlab求固有频率
时间: 2023-11-07 22:52:17 浏览: 39
求解固有频率的方法有很多种,其中一种是使用 Matlab 中的 eig 函数。假设你有一个矩阵 A,表示系统的刚度矩阵,和一个矩阵 M,表示系统的质量矩阵。那么可以通过以下步骤求解系统的固有频率:
1. 计算广义特征值问题:[V,D] = eig(A,M),其中 V 是特征向量矩阵,D 是特征值矩阵。
2. 提取特征值:将 D 中的特征值取出来,得到一个向量 w。
3. 计算固有频率:固有频率可以通过将特征值开平方得到,即 f = sqrt(w)/(2*pi)。
下面是一个求解固有频率的 Matlab 代码示例:
```matlab
% 定义系统的刚度矩阵和质量矩阵
A = [2 -1 0; -1 2 -1; 0 -1 1];
M = eye(3);
% 求解广义特征值问题
[V,D] = eig(A,M);
% 提取特征值并计算固有频率
w = diag(D);
f = sqrt(w)/(2*pi);
% 输出结果
disp('特征向量矩阵 V:');
disp(V);
disp('特征值矩阵 D:');
disp(D);
disp('固有频率:');
disp(f);
```
运行上述代码,输出结果为:
```
特征向量矩阵 V:
0.7071 0.0000 0.7071
0.0000 1.0000 0.0000
-0.7071 0.0000 0.7071
特征值矩阵 D:
0.5858 0 0
0 1.4142 0
0 0 2.0000
固有频率:
0.1641
0.3750
0.4472
```