﻿功能:采用高斯消元法求解方程组AX=B的问题(高斯的全选主元素法)

格式:SolveEquationGauss(A,B)

说明:
1、A是m*n的矩阵,B是m*p的矩阵.如果.A矩阵非满秩,当m>n时,高斯消元返回最小二乘解,如果m<n,则返回的解可能存在多组,本程序只返回其中一组
2、因为在交换数据时,进行了相关的优化,如果mn=min{m,n},那么数据最多交换的次数 = mn*(mn+1)/2

例子:
a =
[ 50.8392014777470    41.5683028947414    94.1119197262972    8.15575439862709    77.8646372155587    40.3749409319716
  50.6332210966541    78.4652124524420    60.2249054052983    87.1519892882332    62.2605986717439    96.6396507791428
  21.4606565523244    63.4386872236797    88.1311238222435    89.7409267210126    52.3558629454839    61.5288059979346
  24.5800139962602    63.4928534568720    20.4829293398573    38.0252643665416    96.4708760364311    81.6639948085248 ]
b =
[ 15.2396173287368    48.4094839768528
  91.5668851656685    90.8300703348732
  15.9741810597359    66.4374533418740
  19.8279373905752    48.2640624736734 ]

x=SolveEquationGauss(a,b)//假如上面变量已知,则执行程序后得到如下的答案。可以执行命令 Mul(A,x) 查看结果和B的关系
x =
[ 0.00000000000000    0.00000000000000
  0.00000000000000    0.00000000000000
  0.61134702996336    0.44877499794312
 -1.37879324636544   -0.21157568124180
 -2.00812480724834   -0.51028515337386
  3.10369700886626    1.17976977631719 ]