1
A
回答
5
下面是使用邏輯索引的方式:
n = 4;
A = nan(n);
A(~eye(n)) = 1:n^2-n; %// Only replace values *not* on diagonal
A = A.'
A =
NaN 1 2 3
4 NaN 5 6
7 8 NaN 9
10 11 12 NaN
3
2
可以從nan
矩陣開始,找到對角線的線性指標,然後填滿其餘元件和遞增範圍:
n=4;
A=nan(n);
inds=setdiff(1:n^2,sub2ind([n,n],1:n,1:n));
A(inds)=1:numel(inds);
A=A.'; %' transpose to get the matrix we need
到底轉置是必要的,因爲線性索引去列第一,但你的具體需要矩陣EL的行的第一項任務對此語句。
結果:
>> A
A =
NaN 1 2 3
4 NaN 5 6
7 8 NaN 9
10 11 12 NaN
3
這裏的另一種方式:做
n = 4; %// matrix size
x = 1-eye(n);
x(:) = cumsum(x(:));
x = x.' + diag(NaN(1,n));
相關問題
- 1. 如何使矩陣的對角線等於另一個矩陣的對角線?
- 2. 主對角線矩陣的總和JAVA
- 3. 在R中的一個大方形矩陣內沿對角線選擇較小的方陣矩陣
- 4. 轉移矩陣元到另一個矩陣的對角線
- 5. 矩陣加跳過NaN值
- 6. 在基於另一矩陣的對應唯一值的矩陣增加值
- 7. 在numpy中沿着一個軸對角化2d矩陣
- 8. 從另一個矩陣生成矩陣
- 9. 從矩陣的一半創建對角線矩陣
- 10. 只爲矩陣的對角元素添加一個小值
- 11. 在線性表示中獲得方矩陣的主對角線
- 12. 對角線反映矩陣
- 13. 增加一個矩陣的大小
- 14. 與numpy的一個矩陣的對角矩陣,並SciPy的
- 15. 在矩陣上取樣的最大值不包括主對角線上的值
- 16. 爲每個python numpy填充不同值的矩陣對角線
- 17. R編程提取矩陣值並生成一個新的矩陣值
- 18. MATLAB:如何取消基於另一個矩陣的「NaN」值的矩陣元素(「NaN」值)?
- 19. C++增加值,以一種矩陣
- 20. 矩陣具有相同的對角線
- 21. 矩陣列表的塊對角線
- 22. 矩陣中的對角線-python
- 23. 打印對角線的矩陣
- 24. 更改矩陣數組的對角線
- 25. 矩陣的塊對角線綁定
- 26. 徵:用小矩陣的「對角線」
- 27. 用Mathematica更改矩陣的對角線
- 28. 替換矩陣的對角線
- 29. 減去一個矩陣轉置,但保持原有的對角線
- 30. 在矩陣中找到主要對角線的元素
簡單的方法。 +1。 – rayryeng