﻿功能:求解(一类特殊的稀疏矩阵)三对角矩阵

格式:SolveSparse3Diagonal(A,B)

说明:A是m*3,B是m*1的矩阵.如下
[ b1 c1  0   0   0   0 
  a2 b2  c2  0   0   0
  0  a3  b3  c3  0   0
  0  0   a4  b4  c4  0 
  0  0   0   a5  b5  c5
  0  0   0   0   a6  b6]
则A=[0  b1  c1
    a2  b2  c2
    a3  b3  c3
    a4  b4  c4
    a5  b5  c5
    a6  b6   0]
即A矩阵的第一个元素与最后一个元素必须是0.A存储的只是三对角稀疏矩阵对角线上的元素,然后对方程AX=B进行求解.

例子:
a =
[ 0.00000000000000   1.00000000000000   1.00000000000000
  1.00000000000000   2.00000000000000   1.00000000000000
  1.00000000000000   3.00000000000000   1.00000000000000
  1.00000000000000   4.00000000000000   1.00000000000000
  1.00000000000000   5.00000000000000   0.00000000000000 ]
b =
[ 1.00000000000000
  2.00000000000000
  3.00000000000000
  4.00000000000000
  5.00000000000000 ]
x=SolveSparse3Diagonal(a,b)//执行求解命令
x =
[ 0.69696969696969
  0.30303030303030
  0.69696969696969
  0.60606060606060
  0.87878787878787 ]
//可以对这个简单的结果进行验证,即
c =
[ 1.00000000000000   1.00000000000000   0.00000000000000   0.00000000000000   0.00000000000000
  1.00000000000000   2.00000000000000   1.00000000000000   0.00000000000000   0.00000000000000
  0.00000000000000   1.00000000000000   3.00000000000000   1.00000000000000   0.00000000000000
  0.00000000000000   0.00000000000000   1.00000000000000   4.00000000000000   1.00000000000000
  0.00000000000000   0.00000000000000   0.00000000000000   1.00000000000000   5.00000000000000 ]
执行{mul<矩阵运算\mul>}(c,x)命令,看结果是否等于b