Fw: [讨论]求助!implict scheme算一维扩散..觉得怪怪

楼主: LIZEN310321 (【海虎】台中梁朝伟)   2013-09-28 23:35:30
※ [本文转录自 MATLAB 看板 #1IHlSesq ]
作者: LIZEN310321 (海虎) 站内: MATLAB
标题: [讨论]求助!implict scheme算一维扩散..觉得怪怪
时间: Sat Sep 28 23:34:58 2013
http://en.wikipedia.org/wiki/Finite_difference_method
我先用维基百科内的explicit scheme法(显相差分法)
用explicit scheme法,算出一维液体里每一个段点的浓度扩散
如果换到implicit scheme法(隐相差分法)来看..
http://upload.wikimedia.org/math/c/f/d/cfd031f4eb1bbf8c2a4bdd02270ce640.png
目前已知的值:
1.有左边式子的第二个数(u..上n下j),
(u..上n下j)就是我用explicit scheme法算出来的结果
2.也知道k跟h的值
如果我想把他化为矩阵的形式→化为{系数}*[变量]=[常数]
PS.变量列为各项未知的(u ..上j+1..下i-1)、(u ..上j+1..下i)、(u ..上j+1..下i+1)
不过我把他化成矩阵的形式做代入的时候 发觉有一点很奇怪..
我把在explicit scheme法得到的各段点的液体浓度..代入implicit scheme
http://tinyurl.com/l5bkh2c
(图中的下方=我们用explicit scheme法得到的某一点的液体浓度)
(要用下方推出上方三个未知点的浓度=这个方法就是implicit scheme法)
将每点代入之后,
这样会变成每一个段点得出的系数都相同,变量本来就是相同的
最后只有常数不同,不知道是不是我弄错..
作者: lishin (下象棋找我!!)   0000-00-00 00:00:00
没错啊,所以你得到 Ax=b, A都相同,解出x然后再解下一个time step 的 x, 此时的b 会因上一次的x改变然后就能一直玩下去啦。

Links booklink

Contact Us: admin [ a t ] ucptt.com