JAVA 를 이용한 LSM 구현
- 최초 등록일
- 2014.12.22
- 최종 저작일
- 2014.09
- 10페이지/ 압축파일
- 가격 2,000원
소개글
자바를 이용해 최소자승법을 구현하는 레포트입니다.
txt 를 이용한 데이터 입력, 그래프 출력, 행렬의 곱셈 및 Gaussian Elimination 을 이용한 inverse 연산,
transpose, pseudo-inverse 연산 등을 구현하여 LSM 연산을 수행합니다.
목차
[목차]
0. 최소자승법을 사용하는 이유
1. 최소자승법
2. LSM (Least Square Method) 구현
2-1. Matrix 클래스
2-2. Function 클래스
2-3. GraphView 클래스
2-4. LSMFrame 클래스
2-5. Main 클래스
3. LSM 프로그램 실행
3-1. 데이터 입력
3-2. 근사식 차수 입력
3-3. LSM 연산
본문내용
3. LSM 프로그램 실행
[캡쳐1] LSM.exe 실행 모습
이제 앞에서 구현한 LSM 프로그램을 이용해 LSM 연산을 수행해보자. 우리가 만든 프로그램은 다음과 같이 생겼다.
이 프로그램으로 LSM 연산을 수행하기 위해 다음과 같은 과정을 거쳐야 한다.
1. 데이터 입력
2. 몇 차식으로 근사시킬지 입력
3. LSM 계산
3.1 데이터 입력
우리가 만든 프로그램에서는 두가지 방법으로 데이터를 읽을 수 있다. 첫 번째는 점의 좌표를 지정해서 하나씩 입력하는 방법이고, 다른 하나는 미리 준비해 둔 점들을 입력해 둔 .txt 파일을 읽어서 저장되어있는 점들을 모두 읽어 들이는 방법이다. 이 방식을 사용하여 점들을 읽어 들이면 다음과 같은 상황이 된다.
[캡쳐2] 데이터 입력 및 선택 모습
이 사진을 보면 입력된 점들이 그래프 상에 나타나고, 오른쪽에서 선택한 점들은 푸른색으로 표시가 됨을 알 수 있다. 이렇게 데이터를 입력하다가 그래프 상의 범위를 넘어가는 데이터가 있으면 데이터 목록 아래에 있는 MinX, Max X, MinY, MaxY 의 값들을 조정하여 그래프를 표시하는 범위를 수정해주면 된다.
3.2 근사식 차수 입력
LSM 의 결과로 나오는 식의 차수는 가장 우측 하단에 있는 조그만 TextField에 입력한다. 데이터의 개수를 n개라 했을 때, 이 데이터를 통해 얻을 수 있는 최대 차수를 n-1 차이다. n-1 차의 식을 구하면 모든 데이터를 지나는 정확한 식을 얻을 수 있다. 예를 들어, 2개의 점으로는 이 점들을 지나는 1차식을 구할 수 있고, 3개의 점으로는 2차식을 구할 수 있다.
[캡쳐3] 차수를 1로 입력한 모습
따라서 차수를 입력할 때, 점의 개수보다 크거나 같은 값이 들어오면 이는 잘못된 입력으로 인식하고 무시한다. 1보다 작은 값을 입력했을 때도 마찬가지로 무시한다. 정리하면, 차수로 입력하여 유효한 수의 범위는 1부터 (데이터의 개수-1) 개까지이다.
참고 자료
없음
압축파일 내 파일목록
input.txt
input2.txt
LeastSquare.zip
최소자승법JAVA.hwp