Re: [問題] 請問對應的位置 ??? 之前板友提供的方式已回收

看板MATLAB作者 (大長今)時間16年前 (2010/03/29 00:34), 編輯推噓2(204)
留言6則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《afa0525 (阿發)》之銘言: : 之前我問了一個問題是 如果當我資料裡面有部分資料是一樣的 : 要如何自動刪除一樣的部分 : 有板友提供方式是 : jj=1; : data11=[]; : for ii=2:1:length(data1) : if(data1(ii)~=data1(ii-1)) : data11(jj)=data1(ii); : jj=jj+1; : end : end : time1=time(1:length(data11)); time1的值是跳著抓的 不是用length()去抓前幾個time 所以會抓錯 程式碼中直接把第一筆data刪除 他並沒有跟不存在的第0筆衝突 所以應該保留 data1=10*[1 2 3 5 5 5 7 8 9 9 10] time=1:length(data1); index=find(abs(diff(data1))>eps); new_data=data1([0 index]+1) new_time=time([0 index]+1) : 但是對應到的時間點 沒有對應到 : 我看不出來 哪邊有問題 不知道 能否有人幫我看看 : 感謝幫忙 ~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.118.221

03/30 10:25, , 1F
您好!! 我加入了程式碼之後 會出現問題 我PO新文謝謝
03/30 10:25, 1F

03/30 10:33, , 2F
我找到問題了 要改成 new_data=data1([index]+1) 就可以
03/30 10:33, 2F

03/30 10:34, , 3F
新的時間也要更改 這樣就可以了 ^^ 感謝
03/30 10:34, 3F

03/30 10:40, , 4F
可以問一個笨問題嗎 ?? 什麼是eps 我在matlab打這個
03/30 10:40, 4F

03/30 10:41, , 5F
出現的是一個很小的數值
03/30 10:41, 5F

03/30 11:51, , 6F
如果要極小值 怎麼不打0就好 ?? 感謝您
03/30 11:51, 6F
文章代碼(AID): #1BhuKpjW (MATLAB)
文章代碼(AID): #1BhuKpjW (MATLAB)