2012-11-27 68 views
-1

如何從矢量中獲取值作爲矩陣中對角線的值?我正在使用python。使用python向矩陣的對角線矢量值

+2

首先,你有沒有嘗試過,然後展示一個向量和矩陣的虛擬示例,這樣我們就不會「不得不想象的東西,如果可能的話給出預期的輸出 – avasal

+0

正如答案所示,你可以用列表來做快速和骯髒的python矩陣示例。但對於更嚴重的事情,您應該使用numpy庫。 – DaveP

回答

0

你的意思是這樣的:

vec = [1,2,3,4] 
-> 
mat = [[1,0,0,0], 
     [0,2,0,0], 
     [0,0,3,0], 
     [0,0,0,4]] 

那麼總體思路是通過VEC用計數器循環,並追加[0,0,0,0]製作的第i個元素後墊列表vec [i]。

0

如果你只想一個列表的列表,使矩陣如:

values = [1,2,3] 
matrix =[[1 0 0] 
     [0 2 0] 
     [0 0 3]] 

然後將下面的代碼應工作

values = [1,2,3] 
matrix=[] 
size = len(values) 
for i in range(size): 
    tmp = [] 
    for j in range(size): 
    if i == j: 
     tmp.append(values[i]) 
    else: 
     tmp.append(0) 
    matrix.append(tmp) 
print(matrix) 
1

這裏是一個列表理解,將做到這一點:

[[v[i] if i==j else 0 for i in range(len(v))] for j in range(len(v))]