matlab diag(A,n)
时间: 2023-11-02 20:42:02 浏览: 172
MATLAB的基本原理
MATLAB中的diag函数还有一种用法,可以用来提取矩阵A的第n个对角线或者构造一个具有给定对角线元素的矩阵。
使用diag(A, n)的语法,其中A是一个矩阵,n是一个整数参数。
如果n为正整数,则提取A的第n个超对角线(即主对角线上方的对角线)或者构造一个具有A主对角线上方的第n个超对角线元素的矩阵。
如果n为负整数,则提取A的第|n|个次对角线(即主对角线下方的对角线)或者构造一个具有A主对角线下方的第|n|个次对角线元素的矩阵。
例如,给定以下3x3矩阵A:
```matlab
A = [1 2 3;
4 5 6;
7 8 9];
```
- 如果使用diag(A, 1),则提取A的第一个超对角线元素:
```matlab
B = diag(A, 1);
```
得到的B为:
```matlab
B = [2; 6];
```
- 如果使用diag(A, -1),则提取A的第一个次对角线元素:
```matlab
C = diag(A, -1);
```
得到的C为:
```matlab
C = [4; 8];
```
- 如果使用diag(A, 2),则构造一个具有A主对角线上方的第二个超对角线元素的矩阵:
```matlab
D = diag(A, 2);
```
得到的D为:
```matlab
D = [0 0 0;
0 0 0;
3 0 0];
```
- 如果使用diag(A, -2),则构造一个具有A主对角线下方的第二个次对角线元素的矩阵:
```matlab
E = diag(A, -2);
```
得到的E为:
```matlab
E = [0 0 0;
0 0 0;
0 0 0];
```
这就是使用diag函数的带有参数n的用法。希望能对你有所帮助!
阅读全文