spdiags函数用法
时间: 2023-09-10 18:15:12 浏览: 252
PCA.zip_6SX_MATLAB自带pca_matlab求pca函数_快速pca
5星 · 资源好评率100%
spdiags函数是MATLAB中的一个稀疏矩阵函数,用于将一个向量放在一个对角线上,或者从一个对角线提取一个向量。其基本语法格式如下:
```matlab
B = spdiags(A, d, m, n)
```
其中,A表示输入的向量或者矩阵,d是一个整数向量,表示对角线的位置,m和n分别表示输出矩阵的行数和列数。如果m和n没有指定,则默认为A的行数和列数。
例如,如果我们有一个3x3的矩阵A,如下所示:
```matlab
A = [1 2 3; 4 5 6; 7 8 9];
```
我们可以将其主对角线上的元素提取出来,得到一个3x1的列向量:
```matlab
B = spdiags(A, 0);
% B = [1; 5; 9]
```
我们还可以将一个向量放在矩阵的次对角线上,得到一个4x4的矩阵:
```matlab
v = [1; 2; 3];
B = spdiags(v, -1, 4, 4);
% B = [0 0 0 0; 1 0 0 0; 0 2 0 0; 0 0 3 0]
```
上述代码中,-1表示次对角线的位置,4表示输出矩阵的行数和列数。注意,由于v只有3个元素,因此第一列和最后一行都是0。
阅读全文