[討論] 請問 關於『Error using *』如何處理?

作者: Ecampus (7.7)   2017-10-07 11:10:21
我code如下
t=0:1:160
t'
x=1700
D=390
M=1e+09
C = (M/4900.884539/t'.^0.5) * exp(-x.^2 /4 / D / t')
然後要求出C的時候
matlab跳出
『Error using /
Matrix dimensions must agree.』
========================
我試過 把t'改成t 也跑不出來 照樣跳出" Error using * "的結果
嘗試多次其他改變 也一樣
但我發現如果 把x跟t這兩樣參數互換 把t的參數當x輸入 把x的參數當t輸入
居然可以正常run =.="
作者: LiamIssac (Madchester)   2017-10-07 11:15:00
不是 .* 就是矩陣的維度沒對t'是?
作者: Steven0422 (Steven)   2017-10-07 12:25:00
都跟你說維度錯誤了
作者: Mizar (彌瑟爾)   2017-10-07 16:36:00
這不是矩陣類型 為什麼要考慮維度?
作者: LiamIssac (Madchester)   2017-10-07 21:02:00
t是陣列 所以要用.* 除非原po改成for loop
作者: s871526117 (安安)   2017-10-07 23:44:00
matlab裡面*和.*不一樣,原PO的狀況會變成一個1*n乘上1*n的矩陣乘法,會出問題還用.*才能一個元素對一個元素乘喔
作者: Ecampus (7.7)   2017-10-08 00:13:00
喔喔 原來是這樣 已修正THX Q_Q

Links booklink

Contact Us: admin [ a t ] ucptt.com