|
地板
發(fā)表于 2023-5-16 10:46:39
|
只看該作者
原因可能有二:
其一、你輸入的矩陣就不滿足矩陣的運算法則;
其二、對*與.* 、 /與./ 、 ^與.^理解不到位。
詳解如下:
舉個例子吧(在另外一個帖子上遇到的)
matlab如何解決矩陣維度必須一致-1.jpg (47.74 KB, 下載次數(shù): 123)
下載附件
保存到相冊
2023-5-16 11:16 上傳
首先代碼應該改為:
x=0:1:100;
y=0.5./sqrt([81./(x.^2)+1].*[1+(x.^2)./36]);
plot(x,y,'+-r');
最后畫圖為:
matlab如何解決矩陣維度必須一致-2.jpg (6.67 KB, 下載次數(shù): 92)
下載附件
保存到相冊
2023-5-16 11:16 上傳
要分清*與.*的區(qū)別。
其中點乘(.*)是指兩個矩陣的元素一一對應相乘。
而乘(*)是指矩陣AB相乘(A*B要滿足矩陣相乘的法則,即A的列數(shù)與B的行數(shù)相等)。
其他 /與./、^與.^也是這樣的區(qū)別。
例圖:
matlab如何解決矩陣維度必須一致-3.jpg (42.13 KB, 下載次數(shù): 107)
下載附件
保存到相冊
2023-5-16 11:16 上傳
matlab如何解決矩陣維度必須一致-4.jpg (49.33 KB, 下載次數(shù): 89)
下載附件
保存到相冊
2023-5-16 11:16 上傳
|
|