此报错发生在:当您尝试将元素分配给现有数组时,元素的大小(维度)与现有数组不兼容(不相等)。例如,以下代码段产生此报错:
A = [1 2 3; 4 5 6];
B = [7 8 9 10];
A(2,:) = B
其中,A是2乘3的矩阵,B是1乘4的矩阵。代码尝试将B赋值给A的第二列,此时等号右侧B有4个元素,等号左侧A的第二列有3个元素,个数不相等引起报错。为了正常运行,等号右侧也应该是3个元素,例如:
B = [11 12 13];
A(2,:) = B
更详细的说明请参考:
https://www.mathworks.com/help/matlab/math/array-indexing.html
源链接:www.mathworks.com/matlabcentral/answers/93586-why-do-i-get-the-subscripted-assignment-dimension-mismatch-error-message