[運算] 刪除row以後超出矩陣大小

看板MATLAB作者 (霧久シキ)時間12年前 (2013/06/21 03:56), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
請問一下版上的matlab高手 我有一個矩陣1900*2 想要把第一個或是第二個column有負數的那一個row刪除 以下是程式碼 for i = 1:length(data_mean) if data_mean(i,1) < 0 || data_mean(i,2) < 0 data_mean(i,:) = []; end end 但是跑出來他會跟我講超出矩陣大小,應該是刪除以後矩陣縮小才會出現錯誤 我的上限應該怎麼設定才會正確呢?感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 31.205.1.33

06/21 03:58, , 1F
data_mean(data_mean(:,1)<0|data_mean(:,2)<0,:)=[];
06/21 03:58, 1F

06/21 04:26, , 2F
因為矩陣縮小之後你的counter i會超過他的維度 1F解正確快速
06/21 04:26, 2F

06/21 05:18, , 3F
感謝:D
06/21 05:18, 3F
文章代碼(AID): #1HmrvpfH (MATLAB)