數值分析 線性方程組求解 列主元高斯消元法

2021-09-11 19:08:59 字數 1696 閱讀 8619

//#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...