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

看板MATLAB作者 (7.7)時間7年前 (2017/10/07 11:10), 7年前編輯推噓3(306)
留言9則, 5人參與, 7年前最新討論串1/3 (看更多)
我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 =.=" -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.230.67.243 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1507345824.A.8D8.html

10/07 11:15, 7年前 , 1F
不是 .* 就是矩陣的維度沒對
10/07 11:15, 1F

10/07 11:16, 7年前 , 2F
t'是?
10/07 11:16, 2F

10/07 12:25, 7年前 , 3F
都跟你說維度錯誤了
10/07 12:25, 3F
我感到有點疑惑的是 我這不是矩陣 只是單純想求出C在每個不同時間的值 難道是 我要把x設定N個...跟t的數量一樣多個 才能求得出來嗎@_@? 請問您們說的"維度"是這個意思嗎

10/07 16:36, 7年前 , 4F
這不是矩陣類型 為什麼要考慮維度?
10/07 16:36, 4F
※ 編輯: Ecampus (125.230.80.48), 10/07/2017 20:11:23

10/07 21:02, 7年前 , 5F
t是陣列 所以要用.* 除非原po改成for loop
10/07 21:02, 5F

10/07 23:44, 7年前 , 6F
matlab裡面*和.*不一樣,原PO的狀況會變成一個1*n乘上
10/07 23:44, 6F

10/07 23:44, 7年前 , 7F
1*n的矩陣乘法,會出問題
10/07 23:44, 7F

10/07 23:45, 7年前 , 8F
還用.*才能一個元素對一個元素乘喔
10/07 23:45, 8F

10/08 00:13, 7年前 , 9F
喔喔 原來是這樣 已修正THX Q_Q
10/08 00:13, 9F
文章代碼(AID): #1Ps4MWZO (MATLAB)
文章代碼(AID): #1Ps4MWZO (MATLAB)