Re: [問題] find?已回收

看板MATLAB作者 (Acoustic)時間15年前 (2010/09/07 23:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《freezein (....)》之銘言: : 我有一串數字 ex. x=[-3, -2, -1, 0, 1, 2, 3, 2, 1, 0, -2, 2, 4] : 我想要抓出x(i)<=0 && x(i+1)>0的x(i+1) (就是上例中的1和2) : 然後1後面的2 3 2 1 0 -2 都被分配到跟一樣的同一的陣列 : 2後面的4 跟2一起分配到另一個陣列 : 就是依x(i)<=0 && x(i+1)>0的條件把全部的資料分段 : 之後想再把這些資料平均 : 我想了很久不知道如果要用find的話要怎麼寫 : 希望有好心人可以教我 : 感激不盡.. %%% 減掉 1e-15 只是把 0 變成負數,不然不太好處理 xidx = find(diff(sign(x-1e-15))>0); %%% xidx = [4 11]; xidx = [xidx length(x)]; %%% xidx = [4 11 13]; for k=1:length(xidx)-1 y = x(xidx(k)+1:xidx(k+1)); disp( sprintf('%d is the mean of [%s]', mean(y), num2str(y) ); end -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.27.3
文章代碼(AID): #1CXbmzcH (MATLAB)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1CXbmzcH (MATLAB)