下标分配尺寸不匹配

bru*_*lin 0 matlab

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

 >> 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.
Run Code Online (Sandbox Code Playgroud)

Gun*_*uyf 9

rmatrix(k,l) = [Rx(k,l).^2, (Ry(k,l)).^2];
Run Code Online (Sandbox Code Playgroud)

你试图将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
Run Code Online (Sandbox Code Playgroud)

//编辑:你可以用以下方法轻松完成:

rmatrix = cat(3,Rx,Ry).^2
Run Code Online (Sandbox Code Playgroud)