Fw: [求救 悬赏5000p] 一个7x7的矩阵 =.=

楼主: GreenBeret (绿扁帽)   2018-06-22 16:53:26
各位请看,这是有限差分法的隐式解法
https://i.imgur.com/9leImX6.png
我们可以把它 拆解成下面的矩阵
https://i.imgur.com/WwrrD7A.png
我设定 系数A=1
系数B=0.8
系数C=1
然后最右边那一列的C1*、C2*、C3*.....到C7* 都是1
所以最后矩阵相乘的结果D,每一个的计算结果都是(1*1)+(1*0.8)+(1*1)=2.8
===================================
这是一个迭代的矩阵,计算出每一组D以后,
就把D当成C1*、C2*~~C7*代入,再计算出下一组D;
然后再把D当成C1*、C2*~~C7*代入,再计算出下一组D;一直迭代下去
重点来了,
如果我把中间的那一行(第四行)的A、B、C 改成 0、1、0
这样子,会导致D的数据,跟原来的不一样
然后D接下来又被当作C1*、C2*~~C7*代入,又影响到下一组的D
然后下一组的D又当作C1*、C2*~~C7*代入,又影响到下下一组的D
一直影响下去。
====================================
总共要迭代几次、或者要带什么数字,您们都可以自行决定。
我只是想要了解这个程式的写法而已,数字不是重点,可自行决定数字大小。
感谢
如果看不懂我文中的"迭代"的意思,可以参阅下面两张图。
https://imgur.com/a/hlehNcU (求出最左边的那一列 0,0,1,8,1,0,0)
把那一列代入到下面这张图的最右边
https://imgur.com/a/2enLKV3
求出最左边的那一列(0 , 0.1 , 1.6 , 6.6 , 1.6 , 1 , 0.1 , 0)
以此类推
作者: sherees (ShaunTheSheep)   2017-06-22 16:44:00
while ess>1e-3;x = W*x0;ess = norm(x-x0);x0 = x;end起始猜值x0跟系数矩阵W 在while外要先给好W可以用diag创建误差也要先给一个能跑的起始值 大概就这样
作者: iHaveAPen (do you have an apple?)   2018-10-05 06:32:00
tridiagonal matrix algorithm直接解,不是block tridiagonal 的话这个够快了

Links booklink

Contact Us: admin [ a t ] ucptt.com