matlab中eig函数和diag函数的作用
时间: 2024-05-13 14:17:20 浏览: 318
在MATLAB中,eig函数用于计算矩阵的特征值和特征向量,其基本语法为:
```
[V,D] = eig(A)
```
其中,A为待求特征值和特征向量的矩阵,V为A的特征向量组成的矩阵,D为A的特征值组成的对角矩阵。例如,执行以下代码:
```
A = [1 2; 3 4];
[V,D] = eig(A);
```
得到的结果为:
```
V =
-0.8246 -0.4151
0.5658 -0.9094
D =
-0.3723 0
0 5.3723
```
这表示矩阵A的特征值为-0.3723和5.3723,其对应的特征向量为V的列向量。
而diag函数则是用于提取矩阵的对角线元素或构造对角矩阵。其基本语法为:
```
d = diag(A)
```
其中,A为待提取对角线元素的矩阵,d为矩阵A的对角线元素组成的列向量。例如,执行以下代码:
```
A = [1 2; 3 4];
d = diag(A);
```
得到的结果为:
```
d =
1
4
```
这表示矩阵A的对角线元素为1和4。另外,如果将一个列向量作为diag函数的输入参数,则会构造一个以该列向量为对角线元素的对角矩阵。例如,执行以下代码:
```
d = [1; 2; 3];
A = diag(d);
```
得到的结果为:
```
A =
1 0 0
0 2 0
0 0 3
```
这表示构造了一个以列向量d为对角线元素的对角矩阵。
阅读全文