看板 MATLAB 關於我們 聯絡資訊
小弟的熱傳作業需要用網格法解每個node上的溫度,我現在手上有28條方程式&28個變數 方成組長的全部都想這樣 △x △y 是已知 T(m,n)是我想要解的 (△y/△x)*T(1,2)+(△x/△y)*T(2,1)-((△y/△x)+(△x/△y))*T(1,1)=0 我把每個網格的溫度令成T(1,1) T(1,2).....T(6,5) 想說最後用solve來解28條方程式 最後想要解方程組的時候發現 syms T(1,1) 無法編譯 所以有想到辦法是不是把T(m,n)都換成Tmn這樣似乎就行了 可是這樣我方程式全部都要重寫 想問大家有沒有其他好辦法 先謝謝各位的建議 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.250.44 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1464536827.A.13A.html
rex0707: 寫成矩陣的形式 x=A\b 05/29 23:48
rex0707: 你是用有限差分嗎? 怎麼覺得離散式寫的怪怪的 05/29 23:49
danny555361: 沒錯 是有限差分 可能是第一個點兩邊絕熱 看起來怪怪 05/29 23:52
danny555361: 感謝大大的建議想問有辦法可以用方程式直接求解嗎 05/29 23:53
danny555361: 因為每個變數都可能會出現在好幾條方程式中 05/29 23:54
rex0707: 我懂你的意思 正常的作法就是寫成矩陣的形式再解線性系統 05/29 23:54
danny555361: 用矩陣的話我天生眼殘 蠻可能漏看的 05/29 23:54
rex0707: 可以用Gauss-Seidel方法求解 05/29 23:55
rex0707: 不過28條式子寫成矩陣 直接法求解就很好了 05/29 23:57
danny555361: ok 感謝 原來一般就是用換成矩陣來解 05/29 23:58
danny555361: 直接法是x=A\b嗎 05/29 23:59
rex0707: 我不知道在matlab裡x=A\b是用甚麼方法解 05/30 00:01