看板 MATLAB 關於我們 聯絡資訊
我跟原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