我想要在MATLAB中查找單元格陣列中「有效」的變化,以便進行運動。查找單元格陣列中的高峯和低峯點MATLAB
E.g.我有YT,代表人臉交互的偏航演示中的動作。 YT可以根據從80x1到400x1之間的任何地方的互動來改變。前幾行可能是
YT = {-7 -8 -8 -8 -8 -9 -9 -9 -6 ...}
我想記錄下
在整個單元陣列;
1)計數我可以findpeak而不是低峯做到這一點的高峯和低峯
數*
2)測量每個峯之間的區別 -
對於這個例子,峯值-9和-6之間的差值爲+3。所以報告1 + 3的峯值變化。目前我只對+/- 3的變化感興趣,但這可能會改變,所以我需要一個門檻?
,然後用細胞(重複對於在單元陣列)的X數目
3)的變化的計數數 - 在這個例子中,3改變
3)的顯著變化計數數 -/+ 3
4)描述的變化 - - -1 1種變化,-1 1種變化,的3
1個變化對於該示例,1個變化任何幫助將不勝感激,一點點的MATLAB noob。
謝謝!
嗨戴夫,這真的很有用。然而,我不能讓pospeaks [1:end-1] -negpeaks [2:end]跑步。有任何想法嗎?我將[]更改爲(),我得到一個矩陣尺寸錯誤(pospeaks是9x1,negpeaks是10x1) –
對不起,方括號 - 我一直在寫MEX文件,所以我的C語言和Matlab語法混合起來!我必須承認,我愚蠢地認爲你會有像負峯一樣多的積極因素,但顯然生活從未如此簡單!您會在上面的解決方案中看到,我已經進行了大量編輯(由[編輯]和[/編輯]分隔),這提供了更強大的解決方案。我相信它可以寫得更優雅,但目前我無法想象如何!我希望它有幫助。 – Dave
非常感謝戴夫! –