LU分解を利用した逆行列のプログラムが作れません…
というか、作ったのですが実行するとエラーが出てしまいます(´Д`;)
どこをどう直せばいいか、もしくはこのようにプログラムした方が効率がよい
などのアドバイスどなたか下さい
double a[][]={{2,5,4},
{2,3,-1},
{6,9,28}};
int N=a.length;
double[][] s=new double[N][N];
for(int k=0; k<a[0].length-1; k++){
for(int i=k+1; i<N; i++){
s[i][k]=a[i][k]/a[k][k];
a[i][k]=s[i][k];
for(int j=k+1; j<N; j++){
a[i][j] -= s[i][k] * a[k][j];
}
}
}
double[][] y=new double[N][N];
double[][] X=new double[N][N];
double[][] e=new double[N][N];
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(i==j){
e[i][j]=1;
}else{
e[i][j]=0;
}
}
}
for(int i=0;i<N;i++){
y[1][i]=e[1][i];
for(int k=2;k<=N;k++){
for(int j=1;j<=N;j++){
y[k][i]=e[k][i]-s[k][j]*y[j][i];
}
}
X[N][i]=y[N][i]/a[N][N];
for(int k=N-1;k>=1;k--){
for(int j=k+1;j<=N;j++){
X[k][j]=(y[k][j]-s[k][j]*X[j][i])/a[k][k];
}
}
}
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
System.out.printf(" %6.5f ", X[i][j] );
}
System.out.println("");
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- FX・外国為替取引 mql4のコンパイルエラー箇所の修正お願いします。 1 2023/03/15 16:14
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- C言語・C++・C# c言語でユーザ関数を利用して複素数のべき乗と絶対値の数列を計算するプログラムが作りたいです。 3 2023/01/29 22:13
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# Cのdoubleの浮動小数点表示について 3 2023/04/17 13:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
べき乗
-
Javaで何パーセント%かを表示...
-
0dの意味を教えてください
-
doubleで入力するには?
-
doubleとintの違い
-
JAVAのプログラムで、2乗計算...
-
乱数のdouble型について
-
double型の足し算について
-
printfでのエラーがわからない...
-
実数からの小数部の取得
-
java のfor文について質問です。
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
VBAで配列の計算
-
[JAVA]try 内の変数を外で!?
-
Javaで改行などが出来ないのです。
-
ORA-01858: 数値を指定する箇所...
-
javaで文字数制限するには?
-
ループ処理の際、最後だけ","を...
-
ダブルクォーテーションのrepla...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0dの意味を教えてください
-
Javaで何パーセント%かを表示...
-
実数からの小数部の取得
-
べき乗
-
double型変数値の整数部分のみ...
-
JAVAのプログラムで、2乗計算...
-
printfでのエラーがわからない...
-
doubleとintの違い
-
java のfor文について質問です。
-
分を表す数値(int型)を、小数...
-
99.98+0.01の誤差
-
面積や角度を出力するプログラム
-
ダイアログベースの3次Spline...
-
四捨五入をするメソッドを実装...
-
Javaのeval関数処理
-
最大値を求めるプログラム
-
掛け算演算を使わない掛け算
-
少数50桁以上を表示するには
-
javaで1.8x10の308乗÷...
-
double を すべて bigdecimal
おすすめ情報