【问题标题】:Subscripted assignment dimension mismatch下标分配尺寸不匹配
【发布时间】:2012-07-03 14:24:38
【问题描述】:

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

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

【问题讨论】:

标签: matlab


【解决方案1】:
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

【讨论】:

    【解决方案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.
    

    【讨论】:

      【解决方案3】:

      问题肯定是这个??

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

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

      【讨论】:

        猜你喜欢
        • 2012-06-10
        • 2015-06-24
        • 2013-12-23
        • 2017-10-28
        • 1970-01-01
        • 2011-07-28
        • 1970-01-01
        • 2022-12-20
        相关资源
        最近更新 更多