如何修复FOR循环中的“下标分配尺寸不匹配”错误

时间:2019-04-26 17:17:56

标签: matlab

尝试在Subscripted assignment dimension mismatch循环内转置向量时,我在Matlab中遇到此for错误。我已经检查了其他问题和解决方案,但无济于事,我们将不胜感激。

id = spikes.labels(:,1);
cl = id(spikes.labels(:,2) == 2); 


for i = 1:length(cl);
    ii = cl(i);
    indexSpike = find(spikes.assigns == ii);     
    Unit = spikes.unwrapped_times(indexSpike);    
    strcat('Unit', num2str(ii)) = Unit';
    save (strcat('Unit', num2str(ii), '.mat'), strcat('Unit', num2str(ii)));
end

在循环的倒数第二行中,我需要转置名为Unit的向量,并根据ii对其进行命名。 这是我得到错误的地方。

1 个答案:

答案 0 :(得分:0)

您可以为该问题制作一个结构数组。结构将具有两个属性名称和值。将strcat('Unit', num2str(ii))分配给名称,将Unit'分配给值

units(ii).name = strcat('Unit', num2str(ii));
units(ii).value = Unit';
save (strcat('Unit', num2str(ii), '.mat'), Unit');