如何解决如何在matlab中使用移动窗口计算梯度和相关系数?
我正在研究行人步数检测算法(加速度数据),我需要从过滤后的信号而非原始数据中计算统计特征。我已经计算了均值、无功和标准差,现在我想从过滤后的数据中计算相关系数和梯度。我的过滤器数据是 1x37205 双倍。我使用 for 循环计算了这些特征,移动窗口大小为 2samples,前一个窗口重叠 50%。下面我附上我尝试计算的代码。但是当我为 corrcoef 运行它时,它给出了 1 作为整个数据的输出,对于梯度,它给出了错误“分配具有比非单例下标更多的非单例 rhs 维度”。我无法很好地理解。有人可以建议我或在 matlab 中提供任何代码帮助和/或我如何处理吗?
windowsize=2;
%%C is used for corrcoef and G for gradient. %%Data_filtered is caclulated
%%from acceleration xyz.
function [C,G] = features(Data_filtered,window)
C=zeros(length(Data_filtered),1);
G=zeros(length(Data_filtered),1);
for i=window:(length(Data_filtered))
C(i,1)=corrcoef(Data_filtered(i+1-window:i));
end;
for i=window:(length(Data_filtered))
G(i,1)=gradient(Data_filtered(i+1-window:i));
end;
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。