作者Mizar (彌瑟爾)
看板MATLAB
標題Re: [討論] 請問 關於『Error using *』如何處理?
時間Sun Oct 8 20:08:16 2017
我跟原po有一樣的困擾
我在嘗試run下列code的時候
t=0:60:9600
M=1000000000
D=6.5
x=1700
C = (M/((4*3.14159265359*D*t)^1.5))*exp(-(x-0.64*t)/(4*D*t))
=============
我想要的是
在t=60的時候 C=什麼數值
t=120的時候 C=什麼數值
t=180的時候 C=什麼數值
.
.
.
但是我依照其他版友說的『因為t是陣列 所以要加"."』
但是我嘗試各種方法 都失敗告終 囧
現在只好把t一個一個手動輸入 求出各個C值
然後我看了版友們 回應原PO的推文
試過之後 還是沒辦法弄出來 會遇到各種失敗 囧
請問各位大大 要把t當陣列處理的話(t=0:60:9600)
我究竟要怎麼改 才會成功~__~
薄酬P幣 1000P 感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.219.163.95
※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1507464499.A.BDD.html
※ Mizar:轉錄至看板 Programming 10/08 20:08
→ LiamIssac: for loop10/08 20:24
→ Steven0422: *是矩陣計算,.*是每個對應元素的相乘,這是基本功10/08 21:53
不爭氣的說一下 囧 我用.*.^跑出來的都是同一個數值 很明顯錯誤
請問可以就這個算式為範例 教一下小的嗎O.Q
推 sppmg: 樓上正解。另,明明有pi可用,m用1e7 ok?10/08 21:56
→ sppmg: 1e9, 剛剛沒數10/08 21:57
推 sppmg: 突然發現為何你算式和他有點像?10/08 22:00
這是擴散方程式 我剛好再做跟擴散有關的東西
※ 編輯: Mizar (49.219.163.95), 10/08/2017 22:38:43
→ Steven0422: a=[1,2] b=[3,6] a.*b試過後學着改成你要的 10/08 22:58
推 sin55688: 因為你t是向量(矩陣)並非純量。 10/08 23:13
→ sin55688: google一下 *、/ 與 .*、./ 的差別 10/08 23:14
推 s871526117: 全部的乘或除前面都要加點喔! 10/09 00:16
推 s871526117: 還有指數前面 10/09 00:26
→ Mizar: 感謝大家 10/09 12:41