[心得] 矩陣轉存問題

看板MATLAB作者 (跟快樂交往)時間10年前 (2015/03/27 14:56), 10年前編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/1
A(i,j)元素屬於{1,2,3} 特殊矩陣 只有3個值 已知 A=[1 2 3; 3 2 1; 3 3 3;]; 欲得 A(i,j)=1時,B(i,j)=1 A(i,j)=2or3時,B(i,j)=0 B=[1 0 0; 0 0 1; 0 0 0;]; my code A=[1 2 3; 3 2 1; 3 3 3;]; for i=3 for j=3 if A(i,j)==1 B(i,j)=1; elseif A(i,j)>1 B(i,j)=0; end end end 請問有沒有不用for的方法... 我想讓程式跑快一點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.127.77.191 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1427439360.A.720.html ※ 編輯: Lionel (140.127.77.191), 03/27/2015 14:56:31

03/27 15:03, , 1F
B = A==1
03/27 15:03, 1F

03/27 15:09, , 2F
請問為什麼這樣就可以了??
03/27 15:09, 2F

03/27 15:20, , 3F
喔喔 我懂了 那個1是ture
03/27 15:20, 3F

03/27 17:18, , 4F
B=A; B(A==1)=1; B(A~=1)=0; 1F寫法的完整版 這題剛好
03/27 17:18, 4F

03/27 17:19, , 5F
1F那樣寫就夠了 但如果A=1的你想讓她=10 A不=1的想=20之
03/27 17:19, 5F

03/27 17:19, , 6F
類的就不能那樣寫
03/27 17:19, 6F
文章代碼(AID): #1L5Fy0SW (MATLAB)
文章代碼(AID): #1L5Fy0SW (MATLAB)