数值方法高斯若当消元法解线性方程组

Bambi ·
更新时间:2024-09-21
· 689 次阅读

在这里插入图片描述

import java.util.Scanner; public class Gauss { static final int MAXN= 20; static double a[][]=new double[MAXN][MAXN]; static int num; public static void main(String[] args) { System.out.println("输入未知数个数:"); Scanner sc=new Scanner(System.in); num=sc.nextInt(); System.out.println("输入用矩阵表示的线性方程组:"); for (int i = 0; i < num; i++) {//输入方程组 for (int j = 0; j <= num; j++) { a[i][j]=sc.nextDouble(); } } for (int j = 0; j < num-1; j++) { guiyi(j); dengjia(j); guiling(j+1); } guiyi(num-1); for(int i=0;i<num;i++) { System.out.println("x"+i+"="+a[i][num]); } } static void dengjia(int jj) {//把原矩阵转化成三角形的 for (int i = jj + 1; i < num; i++) { double k = a[i][jj]/ a[jj][jj]; for (int j = jj; j =0;i--){ a[jj][i]=a[jj][i]/a[jj][jj]; } } static void guiling(int jj){//使其他值变为0 for(int i=0;i<jj;i++){ double k=(-a[i][jj])/a[jj][jj]; for(int j=jj;j<=num;j++){ a[i][j]+=a[jj][j]*k; } } } }

在这里插入图片描述


作者:菜虚困爱菜籽



线性方程 线性方程组 方法 高斯 线性

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章