//#include "stdafx.h"
#include #include "stdio.h"
void matrixprint(double* arr, const int row, const int col);
double* matrixsolve(double* arr_co_in, double* arr_y_in, const int n);
void matrixpivotexchange(double* arr, double* arr_inv, const int n, const int row);
int _tmain(int argc, _tchar* ar**)
; //矩陣
double mat_y[n] = ; //增廣矩陣
//計算線性方程組的解
double *mat_solve = matrixsolve(mat_a, mat_y, n);
//列印增廣矩陣 和 方程組的解
double *mat_print = (double *)malloc((n*(n+1)) * sizeof(double));
for (i = 0, p = 0; i < n * n; i++) }
matrixprint(mat_print, n, n + 1);
matrixprint(mat_solve, n, 1);
system("pause");
return 0;
}double* matrixsolve(double* arr_co_in, double* arr_y_in, const int n)
arr_y[row_scan] = arr_y[row_scan] / pivot;
//通過主元行消除其餘行首位元素
for (resi_row_scan = row_scan + 1; resi_row_scan < n; resi_row_scan++)
arr_y[resi_row_scan] = arr_y[resi_row_scan] - pivot * arr_y[row_scan];
} }//逐步通過三角矩陣求解
for (row_scan = n - 1; row_scan >= 0; row_scan--)
mat_solve[row_scan] = y_row_scan / arr_co[row_scan * (n + 1)];
} free(arr_co);
free(arr_y);
return mat_solve;
}//列主元換位
void matrixpivotexchange(double* arr, double* arr_y, const int n, const int row) //row為現在處理的行
} //原矩陣與逆陣均需要換行
if (row != max_value_row)
//相容
if (arr_y != null)
}return;
}//矩陣列印方法
void matrixprint(double* arr, const int row, const int col)
} //跳空換行
求解線性方程組 全主元消去法
求解線性方程組 全主元消去法。源 用c 實現 這裡採用的是數值分析裡的演算法。在vc6.0下編譯通過,經測試沒大問題。求解線性方程組 全主元消去法 include using namespace std 二維陣列動態分配模板 template t allocation2d int m,int n r...
數值分析 線性方程組的迭代法
實驗結果 實驗結果 實驗報告 function x,k jacobimethod a b,x0,n,emg n length a x1 zeros n,1 x2 zeros n,1 x1 x0 k 0 r max abs b a x1 while r emg for i 1 n sum 0 for ...
數值計算 線性方程組求解(0)
本專題將講述以多種方式求解線性方程組,也作為本人在 數值計算與優化 課程中學到知識的總結與具體 實現。主要用到資料為 數值計算方法 第3版 解線性代數組是科學研究與工程計算中經常遇到的問題。此專題討論以下n階線性方程組 a 11x1 a12x2 a 1nxn b1a 21x1 a22x2 a 2nx...