hum*_*ker 3 indexing matlab vector
我有一个1和0的向量,表示何时发生间歇性数据信号.例如:
V = [0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0,0];
Run Code Online (Sandbox Code Playgroud)
如何找到从1到0的每个变化的索引值?所以对于上面的矢量V,答案是:
idx = [10,18,28];
Run Code Online (Sandbox Code Playgroud)
快捷方便:
idx=find(diff(V)<0)+1;
Run Code Online (Sandbox Code Playgroud)
计算导数,只得到负值(从1到0是-1)并找到位置.由于衍生工具从第二个位置开始,我们需要添加1
但请注意,如果您想要访问这些位置上的数据,最好直接使用逻辑索引,如:
somevals=my_other_data([false;diff(V)<0]);
Run Code Online (Sandbox Code Playgroud)
在此处阅读有关常规变量索引的更多信息
strfind 不仅仅是字符串,也适合像你这样的情况.
idx = strfind(V,[1 0]) + 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |