m =得到错误"分配比非单身下标更多的非单身rhs维度"在以下代码中:
S=size(C);
S1=size(k);
p=S(1)+S1(1)-1;
q=S(2)+S1(2)-1;
T=uint8(zeros(S(1)+2*(S1(1)-1),S(2)+2*(S1(2)-1)));
T(S1(1):S1(1)+S(1)-1,S1(2):S1(2)+S(2)-1)=C;
for i=1:p
for j=1:q
mat=k.*C(i:i+S1(1)-1,j:j+S1(2)-1);
D =sum(mat(:));
end
end
请帮忙,错误就行了: 的 T(S1(1):S1(1)+ S(1)-1,S1(2):S1(2)+ S(2)-1)= C;
如果需要更多详细信息,请询问。
由于
答案 0 :(得分:0)
S
和S1
都是[1 x 2]
数组(即,如果C和k是2D矩阵)。
T(S1(1):S1(1)+S(1)-1,S1(2):S1(2)+S(2)-1)=C;
根据S
和S1
的实际值创建一些矩阵。此数组显然与C
的大小不同,因此您无法将此数组分配给C
。
旁注:为什么在指定T
的行周围有星号? Matlab并不认为它是有效的代码,如果它只是一个亮点作为我们的视觉辅助,读者,最好删除它,以便我们可以实际运行代码。