Re: [問題] 維度不同的矩陣能比對嗎?已回收

看板MATLAB作者 (zzs2005)時間17年前 (2008/11/20 14:23), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《bxorw (每天保持微笑)》之銘言: : a矩陣:256*256(數值都不同) : b矩陣:256*2(0-255) : 我想要a矩陣去跟b矩陣的(256,1)比較,假設符合就將(256,2)填入a矩陣該位置內。 : 我有想到先將a矩陣改為同樣維度的65536,1。 : 但這樣需要兜2個迴圈,整個計算時間變得好慢(會變慢應該是a矩陣太大),能夠利用矩 : 陣運算的方式達成嗎? : 迴圈如下: : for i=1:65536 : for j=1:256 : if a(i,1)==b(j,1) : a(i,1)=b(j,2); : end : end : end : 感謝 for i=1:size(b,1) Idx=find(a==b(i,1)); if ~isempty(Idx) a(Idx)=b(i,2); end end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.122.23

11/20 14:52, , 1F
感謝<_ _>原來find可以這樣使用...
11/20 14:52, 1F
文章代碼(AID): #199G9S50 (MATLAB)
文章代碼(AID): #199G9S50 (MATLAB)