[問題] 請問有沒有指令可以直接生成這種矩陣

看板MATLAB作者 (Orz)時間18年前 (2006/07/21 17:03), 編輯推噓6(602)
留言8則, 6人參與, 最新討論串1/1
 0  0  1  0  1  0  1  0  0 這是3*3的對角方陣,只不過1的位置不一樣 請教大家matlab有沒有這種指令可以直接跑出 n by n的這種矩陣呢?感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.69.92.99

07/21 17:30, , 1F
a=sparse([3 2 1],[1 2 3],[1 1 1],3,3);full(a)
07/21 17:30, 1F

07/21 19:01, , 2F
a=zeros(3); a( 3:2:7 ) = 1; 這問題其實是小兒科
07/21 19:01, 2F

07/21 19:03, , 3F
a=zeros(n); a( n:(n-1):(n*n-n+1) ) = 1;這如果你要n*n的
07/21 19:03, 3F

07/21 19:06, , 4F
再來另一種方法: a=eye(n); a = a( : , n:-1:1 );
07/21 19:06, 4F

07/21 19:09, , 5F
我也提供一個:rot90(eye(3))
07/21 19:09, 5F

07/21 20:49, , 6F
感謝大家回答^^
07/21 20:49, 6F

07/22 19:36, , 7F
再來一個fliplr(eye(n))
07/22 19:36, 7F

07/24 09:55, , 8F
那我也來一個flipud(eye(n)) XD
07/24 09:55, 8F
文章代碼(AID): #14m9Xzgl (MATLAB)