0

过去,这对我来说是一个相当微不足道的错误,但我在这里没有看到。

 >> 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.
4

3 回答 3

9
rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2];

您正在尝试将矩阵分配1x21x1矩阵

也许您打算执行以下操作:

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

//edit: 你可以用它做的更容易:

rmatrix = cat(3,Rx,Ry).^2
于 2012-07-03T14:28:25.163 回答
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.
于 2012-07-03T14:27:49.047 回答
1

问题肯定是这个??

    rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2]; 

您将向量分配给数组的标量元素。这不是问题吗?

于 2012-07-03T14:29:10.833 回答