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

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

[復制鏈接]

MATLAB 基礎討論
版塊優秀回答者

39

主題

79

帖子

39

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

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

回復主題 已獲打賞: 0 積分

舉報

MATLAB 基礎討論
版塊優秀回答者

39

主題

79

帖子

39

最佳答案
  • 關注者: 3
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
回復此樓 已獲打賞: 0 積分

舉報

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

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

快速回復 返回頂部 返回列表
哪一款德州扑克还能玩 东北麻将下载齐齐哈尔 捕鱼游戏通用秒杀器 捕鱼送彩金 单机打麻将免费 2020年香港现场开奖结果 炒股入门知识 国际棋牌游戏送金币 118管家婆彩图 投资股票长线好吗 最有信誉的提现棋牌 2020中超完整赛程 九龙至尊棋牌最新版下载 最新特马免费资料 天才麻将少女电视剧在线观看 福彩刮刮乐的秘密 航天发展股票行情