我需要編寫一個函數,在參數n,並返回一個* N矩陣與每個條目爲I的函數和jaccesing無需索引或使用用於矩陣的每一索引/ while循環
對於例如,我需要一個2 * 2條目與每個條目abs(ij),所以函數應該返回以下矩陣:
[0,1; -1,0]
有沒有辦法做到這一點,而不使用for或while循環分別賦值每個值?
我需要編寫一個函數,在參數n,並返回一個* N矩陣與每個條目爲I的函數和jaccesing無需索引或使用用於矩陣的每一索引/ while循環
對於例如,我需要一個2 * 2條目與每個條目abs(ij),所以函數應該返回以下矩陣:
[0,1; -1,0]
有沒有辦法做到這一點,而不使用for或while循環分別賦值每個值?
[i, j] = meshgrid(1:n);
out = abs(i - j);
EDIT如丹指出的那樣,這導致i
通過柱(即i
每列具有恆定值)變化;和j
因行而異(每一行都是不變的)。 ndgrid
以相反的方式對輸出進行排序。
使用ndgrid
:
n = 2;
[I, J] = ndgrid(1:n, 1:n)
abs(I-J)
我想你會想''j,i] = meshgrid(...'根據矩陣通常如何索引。 – Dan
工作就像一個魅力!非常感謝你! –
丹的很正確 - 語法我'對於'x'和'y'類型的東西更有用 - 所以要小心。 – Edric