diag(函式)

diag(函式)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

diag函式在FreeMatMatlab中該函式用於構造一個對角矩陣,不在對角線上元素全為0的方陣,或者以向量的形式返回一個矩陣上對角線元素。

基本介紹

函式簡介,FreeMat,Matlab,程式示例,FreeMat,Matlab,數學符號,

函式簡介

FreeMat

語法格式:
FreeMat中該函式語法:
y = diag(x,n)
如果x是一個矩陣,y就是x中第n條對角線上的元素。如果n被忽略,n的默認值是0,即返回主對角線上元素。

Matlab

Matlab中該函式語法:
X = diag(v,k)
其中v是一個含有n個元素的向量,該調用格式可以構造一個n+abs(k)階的方陣X。並把v作為方陣X的第k條對角線(k大於0,表示主對角線上方的第k條對角線,k小於0表示主對角線下側的第k條對角線,k等於0表示主對線)。如圖
圖1圖1
X = diag(v)
等價於X = diag(v,0)
v = diag(X,k)
以向量形式返回矩陣X中第k條對角線上的元素。
v = diag(X)
等價於v = diag(X, 0)
相關函式:diag、rank、det、eig、blkdiag、spdiags

程式示例

FreeMat

示例:
--> A = [1 2 3; 4 5 6; 7 8 9];
--> diag(A)
ans =
1
5
9
--> sum(diag(A))
ans = 15
--> trace(A)
ans = 15

Matlab

示例:
% 構造對角矩陣
>> v = [1 1 1];
>> X = diag(v)
X =
1 0 0
0 1 0
0 0 1
>> X = diag(v, 1)
X =
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
% 以向量形式返回對角矩陣上指定對角線上元素
>> v= diag(X)
v =
0
0
0
0
>> v= diag(X,1)
v =
1
1
1
矩陣的示例:
A=[1,2,3
4,5,6
7,8,9]
A =
1 2 3
4 5 6
7 8 9
>> diag(A)
ans =
1
5
9
>> diag(diag(A))
ans =
1 0 0
0 5 0
0 0 9

數學符號

線上性代數中,diag(a,b,c…)表示一個對角矩陣(即指除了主對角線外的元素均為零的方陣)。

相關詞條

熱門詞條

聯絡我們