[問題]有關資料配對的問題

看板MATLAB作者 (Pz)時間10年前 (2015/05/04 23:05), 編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/1
小弟很久沒碰MATLAB,想請問一下幾個問題 目前有兩份簡化資料如下 A B 0.000000000 38 0.000000000 5.855 0.008333334 26 0.008333334 5.750 0.016666668 37 0.025000000 5.645 0.025000000 45 0.033333333 5.521 0.033333333 65 0.416666666 5.488 0.050000000 87 0.050000000 5.412 . . . . . . 23.91666666 54 23.98333333 5.321 23.99999999 67 23.99999999 5.210 A,B兩矩陣 A[:,1] 和 B[:,1] 表示時間序列(資料量為一天,每隔三十秒紀錄一次) A[:,2] 和 B[:,2] 是相對應的資料 目前問題出在不一定每隔三十秒就一定會有資料 我要如何配對相同時間序列得到一份完整資料如下 C 38 5.855 26 5.750 45 5.645 65 5.521 87 5.412 . . . 67 5.210 用哪種指令可以快速得到,請大大指引!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.20.12 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1430751940.A.D41.html

05/04 23:21, , 1F
union 時間 然後在取出來做assign就好
05/04 23:21, 1F

05/04 23:22, , 2F
union的話 另一邊沒有的值就是NA
05/04 23:22, 2F

05/04 23:22, , 3F
或是乾脆用intercept
05/04 23:22, 3F

05/04 23:31, , 4F
C = zeros(length(intersect(A(1,:),B(1,:))), 2);
05/04 23:31, 4F

05/04 23:34, , 5F
[~,ia,ib] = intersect(A(:, 1),B(:, 1));
05/04 23:34, 5F

05/04 23:35, , 6F
C(:,1) = A(ia, :); C(:,2) = B(ib, :);
05/04 23:35, 6F

05/04 23:35, , 7F
C = 那行 A(1,:)要改成A(:,1),B亦同
05/04 23:35, 7F

05/05 00:01, , 8F
謝謝指引,但我使用上面這樣出現 Subscripted assignment
05/05 00:01, 8F

05/05 00:01, , 9F
dimension mismatch.
05/05 00:01, 9F

05/05 13:29, , 10F
已解決 多一步驟即可 謝謝!
05/05 13:29, 10F
文章代碼(AID): #1LHuh4r1 (MATLAB)
文章代碼(AID): #1LHuh4r1 (MATLAB)