【发布时间】:2020-02-12 11:22:55
【问题描述】:
无法执行分配,因为左侧的索引与右侧的大小不兼容。这是什么意思?
错误 段(n_start)=data(n_start:(n_start+ window_size-1));
%% input data matrix
DDD=load('data2.mat');
data=DDD.data;
N_max=length(data);
window_size=256*3; %% 256 for 1 second ==> 3 seconds
step_win=128*3; %% overlapping window ...by 50%
segment=zeros(4798,768);
count=0;
for n_start = 1:step_win:(N_max-window_size)
count=count+1;
segment(n_start)=data(n_start:(n_start+ window_size-1));
end
plot(Segment)
xlabel('time')
grid on;
title('data of channel1');
【问题讨论】:
-
你没有说 哪里 你得到了错误(总是包括整个错误消息),但我认为它在你正在尝试的地方分配
Segment(n_start)将 768 个元素的向量放入单个数组元素中。我不认为那是你想要做的。此外,您应该检查您的变量名称。您初始化segment,但分配Segment。这些不一样。 -
我希望每次循环迭代时都填充数组
segment=zeros(4798,768)
标签: arrays matlab for-loop matrix vector