日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

如何基于java實現(xiàn)Gauss消元法過程解析

瀏覽:25日期:2022-08-22 17:50:15

補充知識:

正定矩陣

奇異矩陣

嚴格對角占優(yōu)

要理解Gauss消去法,首先來看一個例子:

如何基于java實現(xiàn)Gauss消元法過程解析

從上例子可以看出,高斯消去法實際上就是我們初中學的階二元一次方程組,只不過那里的未知數(shù)個數(shù)$n=2$

$n>2$時,Gauss消去法的思路實際上和解二元一次方程組是一樣的,方法如下:

將n方程組中的n−1個方程通過消元,形成一個與原方程組等價的一個新方程組,新方程組中的n−1個方程僅包含n−1個未知數(shù)。 故問題就轉化為了求解n−1元的方程組,這樣我們可以繼續(xù)消元,以次類推,直到最后一個方程組為一元一次方程組 從最后一個一元一次方程組求解出最后一個未知量,然后逐步回代入之前的方程組,從而得到所有的未知數(shù)。 我們可以看到Gauss實際上就分為兩步:消去和回代

下面通過一般化得到Gauss消元法的求解過程

如何基于java實現(xiàn)Gauss消元法過程解析

如何基于java實現(xiàn)Gauss消元法過程解析

如何基于java實現(xiàn)Gauss消元法過程解析

以上就是Gauss消去法的基本步驟,我們再回過頭看看有沒有什么問題?

我們在求比例$l_{ik}= frac{a_{ik}^{left (k-1 right )}}{a_{kk}^{left (k-1 right )}}$時,如果分母很小,即:

如何基于java實現(xiàn)Gauss消元法過程解析

$l_{ik}rightarrow infty$,那么

如何基于java實現(xiàn)Gauss消元法過程解析

總結一下,能否使用Gauss消元法的情況

如何基于java實現(xiàn)Gauss消元法過程解析

為了解決這個問題,我們可以使用列主元Gauss消元法。

如何基于java實現(xiàn)Gauss消元法過程解析

參考了一些網(wǎng)上的代碼,這里給出Gauss的Java實現(xiàn)

package peterxiazhe;import java.util.Scanner;public class Gauss { /** * 列主元高斯消去法 */ static double A[][]; static double b[]; static double x[]; static int n; //n表示未知數(shù)的個數(shù) static int n_2; //記錄換行的次數(shù) public static void main(String[] args) { System.out.println('--------------輸入方程組未知數(shù)的個數(shù)---------------'); Scanner sc = new Scanner(System.in); n = sc.nextInt();A = new double[n][n]; b = new double[n]; x = new double[n];System.out.println('--------------輸入方程組的系數(shù)矩陣A:---------------'); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) {A[i][j] = sc.nextDouble(); } }System.out.println('--------------輸入方程組的常量向量b:---------------'); for(int i = 0; i < n; i++) {b[i] = sc.nextDouble(); }Elimination(); BackSubstitution(); PrintRoot(); } //消元法 public static void Elimination() { PrintA(); for(int k = 0; k < n; k++) { WrapRow(k); for(int i = k+1; i < n; i++) {double l = A[i][k] / A[k][k];A[i][k] = 0;for(int j = k+1; j < n; j++) { A[i][j] = A[i][j] - l * A[k][j];}b[i] = b[i] - l * b[k]; } //System.out.println('第' + k + '次消元后:'); //PrintA(); } } //回代法 public static void BackSubstitution() { x[n-1] = b[n-1] / A[n-1][n-1]; for(int i = n - 2; i >= 0; i--) { x[i] = (b[i] - solve(i)) / A[i][i]; } } public static double solve(int i) { double result = 0.0; for(int j = i; j < n; j++) result += A[i][j] * x[j]; return result; } //輸出方程組的根 public static void PrintRoot() { System.out.println('--------------方程組的根為---------------'); for(int i = 0; i < n; i++) { System.out.println('x' + (i+1) + ' = ' + x[i]); } } //交換Swap函數(shù)??? public static void Swap(double[] ar, int x, int y) { Double tmp = ar[x]; ar[x] = ar[y]; ar[y] = tmp; } public static void PrintA() { //輸出A的增廣矩陣 //System.out.println('--------------增廣矩陣---------------'); for(int i = 0; i < n; i++) { for(int j = 0; j < n; j++) {System.out.print(A[i][j] + ' '); } System.out.println(b[i]); } } //交換矩陣的行 public static void WrapRow(int k) { //k表示第k+1輪消元 double maxElement = Math.abs(A[k][k]);int WrapRowIndex = k; // 記住要交換的行 for(int i = k + 1; i < n; i++) { if (Math.abs(A[i][k]) > maxElement) {WrapRowIndex = i;maxElement = A[i][k]; } } if (WrapRowIndex != k) { //交換求得最大主元 n_2 += 1; System.out.println('k = ' + k + '時,' + '要交換的行為' + k + '和'+ WrapRowIndex); //先交換A for(int j = k; j < n; j++) {double[] arr = {A[k][j], A[WrapRowIndex][j]};Swap(arr, 0, 1);A[k][j] = arr[0]; A[WrapRowIndex][j] = arr[1];//double tmp = A[k][j];//A[k][j] = A[WrapRowIndex][j];//A[WrapRowIndex][j] = tmp; } //再交換b double[] arr = {b[k], b[WrapRowIndex]}; Swap(arr, 0, 1); b[k] = arr[0]; b[WrapRowIndex] = arr[1];// double tmp = b[k];// b[k] = b[WrapRowIndex];// b[WrapRowIndex] = tmp; System.out.println('--------------交換后---------------'); PrintA(); } }}

注意:由于Java不支持對基本數(shù)據(jù)類型的引用傳遞,這里使用了一個小技巧

java中交換兩個基本數(shù)據(jù)類型的變量函數(shù)swap(int[] source,int i,int j)

java中函數(shù)的參數(shù)傳遞機制是:基本數(shù)據(jù)類型采用值傳遞,對象采用傳引用。因此,如果要寫一個交換兩個int型變量數(shù)值的函數(shù),還真是有點不方便,必須采用一個數(shù)組對象來作為輔助,具體實現(xiàn)如下:

//交換兩個整數(shù) private static void swap(int[] source, int i, int j) { int temp = source[i]; source[i] = source[j]; source[j] = temp; }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
蜜桃成人精品| 成人免费网站www网站高清| 欧美~级网站不卡| 视频小说一区二区| 亚洲电影在线| 亚洲欧美日韩国产一区| 免费人成精品欧美精品| 日韩天堂av| 九色精品91| 丝袜国产日韩另类美女| 亚洲免费毛片| 国产精品视频一区视频二区| 精品中文在线| 国产aⅴ精品一区二区四区| 日韩理论片av| 欧美日韩精品免费观看视频完整| 丝袜美腿一区二区三区| 青青在线精品| 麻豆一区二区99久久久久| 精品国产乱码久久久| 国产欧美一区二区三区精品酒店| 99精品一区| 蜜桃视频第一区免费观看| 色综合视频一区二区三区日韩| 激情综合自拍| 国产日产精品_国产精品毛片 | 亚洲91视频| 欧美一区=区| 亚洲一级少妇| 免费视频一区二区三区在线观看 | 日韩精品免费一区二区夜夜嗨| 久久精品97| 成人国产精品一区二区免费麻豆| 国产一区欧美| 日韩av资源网| 日韩久久一区二区三区| 美女精品在线| 精品欠久久久中文字幕加勒比| 久久三级视频| 亚洲欧洲日韩| 福利一区在线| 久久性天堂网| 国产在视频一区二区三区吞精| 日韩一区二区三区免费| 三级欧美在线一区| 国产精品a级| 亚洲性色视频| 国产欧美午夜| 亚洲第一精品影视| 日本成人一区二区| 四虎884aa成人精品最新| 亚洲精品成人一区| 91tv亚洲精品香蕉国产一区| 亚洲另类黄色| 成人看片网站| 国产精品黄网站| 先锋亚洲精品| 日韩欧美精品综合| 亚洲三级网址| 国产一区丝袜| 国产精品久久久久久模特| 国产精品网址| 日韩精品一区二区三区中文在线 | 精品女同一区二区三区在线观看| 久久国产电影| 国产精品视频3p| 激情综合网站| 狠狠久久伊人中文字幕| 综合亚洲色图| 久久精品不卡| 国产欧美日韩影院| 亚洲精品97| 国产高清不卡| 国产欧美在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 色在线视频观看| 日韩国产欧美三级| 91精品观看| 新版的欧美在线视频| 国产精品v亚洲精品v日韩精品| 久久福利精品| 激情综合自拍| 日本蜜桃在线观看视频| 欧美国产日韩电影| 日韩二区在线观看| 国产精品老牛| 日韩精品欧美| 日产午夜精品一线二线三线| 国产一级成人av| 亚洲人www| 一区在线视频观看| 成人自拍av| 91亚洲自偷观看高清| 麻豆精品在线观看| 久久激情五月激情| 日韩av中文字幕一区| 蜜桃视频一区二区| 99国产精品99久久久久久粉嫩| 欧洲在线一区| 国产a久久精品一区二区三区| 国产三级一区| 日韩国产欧美一区二区三区| 免费在线观看日韩欧美| 欧美日韩国产一区精品一区| 亚洲午夜久久久久久尤物| 美女网站视频一区| 新版的欧美在线视频| 91综合视频| 中文字幕成在线观看| 国产aⅴ精品一区二区四区| 蜜桃精品视频| 久久一区精品| 麻豆91精品视频| 精品三级国产| 日韩av在线播放网址| 高清一区二区| 精品网站999| 国产精品久久久久蜜臀| 久久影院午夜精品| 久久久一本精品| 亚洲二区在线| 欧美午夜不卡| 亚洲免费网址| 日韩在线网址| 日韩va欧美va亚洲va久久| 青草久久视频| 国产美女撒尿一区二区| 欧美日韩18| 久久一区视频| 伊伊综合在线| 亚洲成人免费| 日韩网站在线| 日韩三级一区| 欧美成人aaa| 国产精品专区免费| 在线成人动漫av| 蜜桃一区二区三区在线观看| 婷婷精品在线| 国产精品久久久久久久免费软件| 精品一区二区三区亚洲| 超级白嫩亚洲国产第一| 国产伊人精品| 亚洲另类黄色| 国产精品乱战久久久| 国产在线一区不卡| 国产精品av一区二区| 亚洲作爱视频| 日韩福利在线观看| 国语精品一区| 在线观看免费一区二区| 亚洲色图综合| 久久精品国产久精国产爱| 色婷婷精品视频| 三级欧美在线一区| 国产精品porn| 欧美va天堂在线| 亚洲97av| 国产91欧美| 9色精品在线| 国产精品一区二区99| 欧洲一级精品| 国产精品日本| 国产精品久久| 欧美中文一区二区| 天堂久久av| av资源亚洲| 亚洲人成高清| 欧美国产偷国产精品三区| 亚洲免费成人| 国产精品亚洲产品| 久久精品电影| 日本h片久久| 久久精品高清| 国产日韩三级| 激情视频一区二区三区| 91欧美极品| 黄色在线网站噜噜噜| 在线精品观看| 日本综合字幕| 日韩不卡在线观看日韩不卡视频| 天堂中文av在线资源库| 蜜桃视频第一区免费观看| 久久三级毛片| 蜜臀va亚洲va欧美va天堂 | 91欧美国产| 中文字幕一区二区三区在线视频| 精品午夜久久| 亚洲久久在线| 三级精品视频| 视频一区中文字幕精品| 日韩欧美一区二区三区在线观看| 亚洲日韩中文字幕一区| 亚洲精品**中文毛片| 亚洲网址在线观看| sm久久捆绑调教精品一区| 天堂va在线高清一区| 欧美性感美女一区二区| 美女久久久精品| 免费的成人av| 亚洲婷婷在线|