纠结,望高手指点迷津,先谢谢各位了
最近遇到一道关于稀疏矩阵存储的问题,大家看看帮帮我。a*P[m-1][n-1]+b1*P[m][n-1]+a*P[m+1][n-1]+b1*P[m][n+1]-c*P[m][n]+b2*P[m+1][n]+a*P[m-1][n+1]+b2*P[m-1][n]+a*P[m+1][n+1]=S,其中a,b1,b2,c是加权系数。u为未知
当我给定m,n的值时就会有上述式子成立。我给定m从0到N,n也从0到N 。我举个例子:
m=0,n=0 会出现a*P[-1][-1]+b1*P[0][-1]+a*P[1][-1]+b1*P[0][1]-c*P[0[0]+b2*P[1][0]+a*P[-1][1]+b2*P[-1][0]+a*P[1][1]=S,其中P[-1][-1],P[0][-1],P[1][-1],
P[-1][1],P[-1][0]不合定义 故舍去这一项 只剩下4项。即-c,b1,b2,a,我光列出了加权系数 同理这些点上都有这样的式子成立 一直到m=N,n=N时,有的项出现p[N+1][]或者
p[][N+1]都舍去 故只剩下a,b2,b1,-c,我只写的系数。
这样就可以等到N^2个式子。故把系数拿出来,组成一系数矩阵A,P未知 可写为A*U=S。U是一列向量,为这N^2个点各个点的值,是按列存储的先第一列N各点,再第二列,依次。。。。A就是一稀疏矩阵,因为其中0很多。我的疑惑是怎么用数组表示这个稀疏矩阵?忘了说了,A的每一行就是通过那式子得到的系数 问题是中间得补零。望各位大侠看看帮帮我。感激不尽。先谢谢各位了。