Re: [問題]兩矩陣match已回收

看板MATLAB作者 (游)時間14年前 (2011/10/20 11:02), 編輯推噓0(005)
留言5則, 1人參與, 最新討論串2/2 (看更多)
你的A B矩陣裡有冒號 應該是字串或者是cell? 建議使用ismember ex: A=[ {'2011 4 28 6:00 6:05'};{ '2011 4 28 6:06 6:11'};]; B=[ {'2011 4 28 7:00 7:05'}; {'2011 4 29 6:00 6:05'};]; for i=1:length(A) idx(i)=ismember(A{i},B); end idx出來為1的結果就是A=B的地方 FYI ※ 引述《peterwu76 (r!cH* 鋼)》之銘言: : 各位版友大哥大姐好,不才有個問題想請教大家。 : 假設我有A、B 兩個矩陣(3000*5、6000*5) : EX: : A=[ 2011 4 28 6:00 6:05; B=[ 2011 4 28 7:00 7:05; : 2011 4 28 6:06 6:11; 2011 4 29 6:00 6:05; : ...................]; ...................]; : 今天我想找出此兩個矩陣某row中的每個column相等的row的位置, : 但是總是找錯地方或者找不到。 : 想法是用loop+find來寫。但是一直有mismatch的Error出現或者抓不到我們要的。 : for i=1:length(A); : Place_B=find(B(:,1)==A(i,1) & B(:,2)==A(i,2) & B(:,3)==A(i,3) & : B(:,4)>=A(i,4) & B(:,5)<=A(i,5)); : Place(i,:)=Place_B; : i : end : 請問各位老手,該如何做到我的目的或者修改此loop? : 謝謝各位:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.195.148

10/20 11:43, , 1F
我裡面的冒號是時間的意思,因為該矩陣是由excel檔匯入
10/20 11:43, 1F

10/20 11:44, , 2F
每個格子裡面的值都是number,時間格式的值進入matlab會
10/20 11:44, 2F

10/20 11:44, , 3F
有matlab的格式呈現(ex:0.xxxxx)。
10/20 11:44, 3F

10/20 11:45, , 4F
然後,還是謝謝你提供的ismember的做法,我會試試看得:)
10/20 11:45, 4F

10/20 11:45, , 5F
Thanks a lot!!! :)
10/20 11:45, 5F
文章代碼(AID): #1Eduz3mR (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1Eduz3mR (MATLAB)