我有两个矩阵:finalEnergy{1,j}(i)
和finalZC{1,j}(i)
。 finalEnergy{1,1}(i)
有1 x 611
个元素,finalZC{1,1}(i)
有595个元素。我必须填充finalZC{1,1}(i)
以获得611个元素。如何将finalZC{i,j}
的每个单元格的大小填充到finalEnergy{i,j}
中单元格的大小。我的代码在
for j=1:length(finalEnergy)
for i=1:length(finalEnergy{1,j})
if(length(finalEnergy{1,j})<length(finalZC{1,j}))
lenFE=length(finalZC{1,j})-length(finalEnergy{1,j});
finalEnergy{1,j})(i)=padarray(finalEnergy,lenFE,padding);
end
end
end
答案 0 :(得分:0)
你的循环中有一些错误和实现错误,但这个想法是正确的。如果我理解正确的话,你不需要在这里循环i
。
for j=1:size(finalEnergy, 2)
if(numel(finalEnergy{1, j})>numel(finalZC{1, j}))
lenFE=length(finalEnergy{1, j})-length(finalZC{1, j});
finalZC{1, j}=padarray(finalZC{1, j},[0 lenFE/2], 0);
end
end
必须有一种更有效的方法来做到这一点。这也假设lenFE
始终是偶数,这在您的情况下是正确的。我可能稍后编辑这个答案,以提出一个更通用的解决方案..