关于matlab中的diag函数(矩阵对角元素的提取和创建对角阵)
2017-11-27 19:12
387 查看
diag函数功能:矩阵对角元素的提取和创建对角阵
设以下X为方阵,v为向量
1、X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。例1:
v=[1 2 3];
diag(v, 3)
ans =
0 0 0 1 0 0
0 0 0 0 2 0
0 0 0 0 0 3
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
注:从主对角矩阵上方的第三个位置开始按对角线方向产生数据的
例2:
v=[1 2 3];
diag(v, -1)
ans =
0 0 0 0
1 0 0 0
0 2 0 0
0 0 3 0
注:从主对角矩阵下方的第一个位置开始按对角线方向产生数据的
2、X = diag(v)
向量v在方阵X的主对角线上,类似于diag(v,k),k=0的情况。
例3:
v=[1 2 3];
diag(v)
ans =
1 0 0
0 2 0
0 0 3
注:写成了对角矩阵的形式
3、v = diag(X,k)
返回列向量v,v由矩阵X的第k个对角线上的元素形成
例4:
v=[1 0 3;2 3 1;4 5 3];
diag(v,1)
ans =
0
1
注:把主对角线上方的第一个数据作为起始数据,按对角线顺序取出写成列向量形式
4、v = diag(X)返回矩阵X的主对角线上的元素,类似于diag(X,k),k=0的情况例5:
v=[1 0 0;0 3 0;0 0 3];
diag(v)
ans =
1
3
3
或改为:
v=[1 0 3;2 3 1;4 5 3];
diag(v)
ans =
1
3
3
注:把主对角线的数据取出写成列向量形式
5、diag(diag(X))
取出X矩阵的对角元,然后构建一个以X对角元为对角的对角矩阵。
例6:
X=[1 2;3 4]
diag(diag(X))
X =
1 2
3 4
ans =
1 0
0 4
设以下X为方阵,v为向量
1、X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。例1:
v=[1 2 3];
diag(v, 3)
ans =
0 0 0 1 0 0
0 0 0 0 2 0
0 0 0 0 0 3
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
注:从主对角矩阵上方的第三个位置开始按对角线方向产生数据的
例2:
v=[1 2 3];
diag(v, -1)
ans =
0 0 0 0
1 0 0 0
0 2 0 0
0 0 3 0
注:从主对角矩阵下方的第一个位置开始按对角线方向产生数据的
2、X = diag(v)
向量v在方阵X的主对角线上,类似于diag(v,k),k=0的情况。
例3:
v=[1 2 3];
diag(v)
ans =
1 0 0
0 2 0
0 0 3
注:写成了对角矩阵的形式
3、v = diag(X,k)
返回列向量v,v由矩阵X的第k个对角线上的元素形成
例4:
v=[1 0 3;2 3 1;4 5 3];
diag(v,1)
ans =
0
1
注:把主对角线上方的第一个数据作为起始数据,按对角线顺序取出写成列向量形式
4、v = diag(X)返回矩阵X的主对角线上的元素,类似于diag(X,k),k=0的情况例5:
v=[1 0 0;0 3 0;0 0 3];
diag(v)
ans =
1
3
3
或改为:
v=[1 0 3;2 3 1;4 5 3];
diag(v)
ans =
1
3
3
注:把主对角线的数据取出写成列向量形式
5、diag(diag(X))
取出X矩阵的对角元,然后构建一个以X对角元为对角的对角矩阵。
例6:
X=[1 2;3 4]
diag(diag(X))
X =
1 2
3 4
ans =
1 0
0 4
相关文章推荐
- 关于Matlab中矩阵元素的表示方法
- 关于Matlab中矩阵元素的表示方法 .
- MATLAB矩阵元素的提取和替换
- 在matlab中提取一个比较大的矩阵的部分元素
- 一分钟了解“Matlab提取出矩阵中大于某值的元素”
- Matlab Tricks(十三)—— 提取矩阵的对角线元素
- 关于MATLAB中Hough变换提取直线
- MATLAB中关于图像特征提取相关内容
- 关于矩阵重复元素检测判断条件的粗陋看法
- MATLAB矩阵元素的删除命令
- Matlab的矩阵元素编写注意规范
- matlab 分块 矩阵 对角 合并
- matlab--稀疏矩阵赋值创建和操作
- matlab 根据index 提取 3D matrix中的元素
- 将C++里的Mat矩阵保存并由matlab提取分析
- 基于MATLAB的线性代数 创建全1矩阵
- matlab:统计矩阵中某元素的个数
- matlab-线性代数 isreal函数检测矩阵的复数元素
- MATLAB如何提取矩阵的子块
- (MATLAB)某个值(矩阵元素)是否存在于矩阵中