[討論] 找出剩餘矩陣並分出

看板MATLAB作者 (simonyo)時間10年前 (2014/05/04 15:43), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
我想請教一些問題, 舉例: a=[1 2 3 4 5 6 7 8]; a1=[0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8]; id=find(a<5 & a>2); b=a(id); b1=a1(id) a矩陣對應到a1,我首先找出小於5並大於2的值,b及b1 b=[ 3 4],b1=[ 0.3 0.4 ] 我的問題在於如何找出剩餘的矩陣,假設c及c1, 在沒有利用相反的大於小於判斷式下, 我先利用setdiff,可以找出c=[1 2 5 6 7 8], 有沒有方法找出c1=[0.1 0.2 0.5 0.6 0.7 0.8]??? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.23.103 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1399189397.A.07E.html

05/04 15:53, , 1F
notid = find(!(a<5 & a>2))
05/04 15:53, 1F

05/04 15:53, , 2F
其他步驟一樣
05/04 15:53, 2F

05/04 16:08, , 3F
find(~ 才對 抱歉
05/04 16:08, 3F

05/04 17:01, , 4F
謝謝你的回答,我發現利用ismember也可以解決喔
05/04 17:01, 4F

05/04 17:21, , 5F
先找出差集 c=setdiff(a,b);
05/04 17:21, 5F

05/04 17:23, , 6F
id2=ismember(a, c);c1=a1(id2)
05/04 17:23, 6F
文章代碼(AID): #1JPU-L1- (MATLAB)