过去这对我来说是一个相当微不足道的错误,但我在这里没有看到它。
>> rmatrix = zeros(size(Rx,1), size(Rx,2));
for k = 1:size(Rx,1)
for l = 1:size(Rx,2)
rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2];
end
end
??? Subscripted assignment dimension mismatch.
答案 0 :(得分:9)
rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2];
您尝试将1x2
矩阵分配给1x1
矩阵
也许您打算执行以下操作:
rmatrix = zeros(size(Rx,1), size(Rx,2),2);
for k = 1:size(Rx,1)
for l = 1:size(Rx,2)
rmatrix(k,l,:) = [Rx(k,l).^2, (Ry(k,l)).^2];
end
end
//编辑:你可以用以下方法轻松完成:
rmatrix = cat(3,Rx,Ry).^2
答案 1 :(得分:2)
>> rmatrix = zeros(size(Rx,1), size(Rx,2));
for k = 1:size(Rx,1)
for l = 1:size(Rx,2)
rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2]; % CHECK THIS LINE
end
end
??? Subscripted assignment dimension mismatch.
答案 2 :(得分:1)
问题是肯定的吗?
rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2];
将向量分配给数组的标量元素。这不是问题吗?