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 00 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 =01
注:把主對角線上方的第乙個資料作為起始資料,按對角線順序取出寫成列向量形式
4、v = diag(x)
返回矩陣x的主對角線上的元素,類似於diag(x,k),k=0的情況例5:
v=[1 0 0;0 3 0;0 0 3];
diag(v)
ans =13
3或改為:
v=[1 0 3;2 3 1;4 5 3];
diag(v)
ans =13
3注:把主對角線的資料取出寫成列向量形式
5、diag(diag(x))
取出x矩陣的對角元,然後構建乙個以x對角元為對角的對角矩陣。
例6:
x=[1 2;3 4]
diag(diag(x))
x =1 23
4 ans =1 0
0 4
MATLAB中的diag函式
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 di...
Python NumPy中的diag函式
摘自 numpy包中的內建diag函式很有意思。假設建立乙個1維陣列a,和乙個3 3陣列b import numpy as np a np.arange 1,4 b np.arange 1,10 reshape 3,3 結果如下 a array 1,2,3 b array 1,2,3 4,5,6 7...
Python NumPy中diag函式的使用說明
numpy包中的內建diag函式很有意思。import numpy as np a np.arange 1,4 b np.arange 1,10 reshape 3,3 結果如下 a arr程式設計客棧ay 1,2,3 b array 1,2,3 4,5,6 7,8,9 使用diag函式,看一看結果...