作者danny555361 ()
看板MATLAB
标题[讨论] 网格法求解问题
时间Sun May 29 23:47:05 2016
小弟的热传作业需要用网格法解每个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://webptt.com/cn.aspx?n=bbs/MATLAB/M.1464536827.A.13A.html
1F:→ rex0707: 写成矩阵的形式 x=A\b 05/29 23:48
2F:→ rex0707: 你是用有限差分吗? 怎麽觉得离散式写的怪怪的 05/29 23:49
3F:→ danny555361: 没错 是有限差分 可能是第一个点两边绝热 看起来怪怪 05/29 23:52
4F:→ danny555361: 感谢大大的建议想问有办法可以用方程式直接求解吗 05/29 23:53
5F:→ danny555361: 因为每个变数都可能会出现在好几条方程式中 05/29 23:54
6F:→ rex0707: 我懂你的意思 正常的作法就是写成矩阵的形式再解线性系统 05/29 23:54
7F:→ danny555361: 用矩阵的话我天生眼残 蛮可能漏看的 05/29 23:54
8F:→ rex0707: 可以用Gauss-Seidel方法求解 05/29 23:55
9F:→ rex0707: 不过28条式子写成矩阵 直接法求解就很好了 05/29 23:57
10F:→ danny555361: ok 感谢 原来一般就是用换成矩阵来解 05/29 23:58
11F:→ danny555361: 直接法是x=A\b吗 05/29 23:59
12F:→ rex0707: 我不知道在matlab里x=A\b是用甚麽方法解 05/30 00:01