자코비의 방법이 어느 연립방정식이나 모두 수렴하는것은 아니며
아래의 조건이 맞을때 수렴하는 것이다.
아래의 조건이 맞을때 수렴하는 것이다.
오라클자바커뮤니티에서 설립한 오엔제이프로그래밍
실무교육센터
주어진 연립방정식을 행렬 AX=B 형태로 표현했을때 행렬A의 임의의
대각원소 A(i,j) 에 대해 그 절대값이 동일행의 모든 다른 원소의 절대값의
합보다 크면 자코비의 반복법은 항상 해에 수렵한다.
아래의 자바 클래스를 보자...
public class Jacobi {
public static void main(String[] args) {
double[][] use = {{3,2,5,-1,17}, {1,7,1,-2,-25},{2,5,18,1,19},{1,3,-1,17,12}};
double[] base = new double[4];
double[] result = new double[4];
double[] para = new double[4];
for(int i=0; i<4; i++) {
base[i] = use[i][i];
use[i][i] = 0;
result[i]=0;
}
for(int i=0;i<20;i++) {
for(int j=0;j<4;j++) {
double sum=0;
for(int k=0; k<4; k++) {
sum += use[j][k] * result[k];
}
para[j] = (use[j][4] - sum) / base[j];
}
for(int j=0;j<4;j++) {
result[j] = para[j];
}
}
System.out.println("result....");
for(int i=0;i<4; i++)
System.out.println("The value " + i + " equal " + para[i]);
}
}
(신입사원채용무료교육, 오라클SQL, 튜닝, 힌트,자바프레임워크, 안드로이드, 아이폰, 닷넷)
주어진 연립방정식을 행렬 AX=B 형태로 표현했을때 행렬A의 임의의
대각원소 A(i,j) 에 대해 그 절대값이 동일행의 모든 다른 원소의 절대값의
합보다 크면 자코비의 반복법은 항상 해에 수렵한다.
아래의 자바 클래스를 보자...
public class Jacobi {
public static void main(String[] args) {
double[][] use = {{3,2,5,-1,17}, {1,7,1,-2,-25},{2,5,18,1,19},{1,3,-1,17,12}};
double[] base = new double[4];
double[] result = new double[4];
double[] para = new double[4];
for(int i=0; i<4; i++) {
base[i] = use[i][i];
use[i][i] = 0;
result[i]=0;
}
for(int i=0;i<20;i++) {
for(int j=0;j<4;j++) {
double sum=0;
for(int k=0; k<4; k++) {
sum += use[j][k] * result[k];
}
para[j] = (use[j][4] - sum) / base[j];
}
for(int j=0;j<4;j++) {
result[j] = para[j];
}
}
System.out.println("result....");
for(int i=0;i<4; i++)
System.out.println("The value " + i + " equal " + para[i]);
}
}
댓글 없음:
댓글 쓰기