Re: [問題] 這程式能不用迴圈嗎?

看板MATLAB作者 ( 殺氣模式)時間18年前 (2006/10/30 13:07), 編輯推噓3(300)
留言3則, 3人參與, 最新討論串1/1
※ 引述《q5212 (偷吃是王道)》之銘言: : A=[1 11 3 4 5 6 7 8 9 10] : B=[11 10] : for i=1:2 : index=find(A(1,:)==B(1,i)) : A(1,index)=0 : end : 就是要將A矩陣的數值=B矩陣的數值 : 就把等於的數值歸0 先將所求改變為 "取出不重覆的部份",則能以差集函數 (setdiff) 完成 q = setdiff(A,B) ; q = [1 3 4 5 6 7 8 9] 接著再利用 ismember 函數,確定 A 中哪些位置的元素, 是存於該差集 (q) 中 r = ismember(A, q) ; r = [1 0 1 1 1 1 1 1 1 0] ; 雖然 r 是 logical array,不過你還是可以將它與 numerical array 運算 因此 r .* A 便能滿足所求 -- 鬼壓床怎麼辦 騎上去啊 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.217.16

10/30 14:00, , 1F
推薦這篇文章
10/30 14:00, 1F

10/30 14:30, , 2F
請....請不要推倒我 女性限定 謝謝 XD
10/30 14:30, 2F

10/30 16:45, , 3F
哦哦哦哦!這個好!
10/30 16:45, 3F
文章代碼(AID): #15HOXtgR (MATLAB)
文章代碼(AID): #15HOXtgR (MATLAB)