查看: 824|回復: 1|關注: 0
打印 上一主題 下一主題

[已解決] 為什么在 MATLAB 中我獲得報錯信息“無法執行賦值,因為左側的索引與右側的大小不兼容。”?

[復制鏈接]

21

主題

42

帖子

22

最佳答案
  • 關注者: 2
跳轉到指定樓層
1#
設定英語情況下,報錯信息為:

??? Subscripted assignment dimension mismatch.
??? In an assignment A(I) = B, the number of elements in B and
I must be the same.

21

主題

42

帖子

22

最佳答案
  • 關注者: 2
2#
 樓主| 發表于 2019-9-26 16:45:16 | 只看該作者 |此回復為最佳答案
此報錯發生在:當您嘗試將元素分配給現有數組時,元素的大小(維度)與現有數組不兼容(不相等)。例如,以下代碼段產生此報錯:

  1. A = [1 2 3; 4 5 6];
  2. B = [7 8 9 10];
  3. A(2,:) = B
復制代碼

其中,A是2乘3的矩陣,B是1乘4的矩陣。代碼嘗試將B賦值給A的第二列,此時等號右側B有4個元素,等號左側A的第二列有3個元素,個數不相等引起報錯。為了正常運行,等號右側也應該是3個元素,例如:

  1. B = [11 12 13];
  2. A(2,:) = B
復制代碼

更詳細的說明請參考:
https://www.mathworks.cn/help/matlab/math/matrix-indexing.html


答案來源:
www.mathworks.cn/matlabcentral/answers/93586-why-do-i-get-the-subscripted-assignment-dimension-mismatch-error-message
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /3 下一條

快速回復 返回頂部 返回列表
哪一款德州扑克还能玩