Re: [問題] 這程式能不用迴圈嗎?
※ 引述《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
10/30 14:30, 2F
推
10/30 16:45, , 3F
10/30 16:45, 3F
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章