[Flex 소스코드첨부] Cubic 스플라인 보간법 적용 프로그램
Astronomy/Programs
2007년 05월 12일 09시 51분

개인적으로 준비하고 있는 프로젝트에서 실험데이타를 빠짐없이 지나면서 각 구간안에 최적의 값을 찾아내야하는 문제가 있었다. 이 문제를 해결하기 위해 대학시절 배웠던 것이 문득 떠올랐다.
대학 2학년, 수치해석시간에 들은 강의 내용중에 큐빅 스플라인 보간법(Cubic Spline Interpolation)에 대한 내용이 있었다. 그 때는 교수님이 잘 만들어준 C코드를 이해하는데만 머리를 쥐어 짰는데... 그때 고생했던 것이 오늘에 와서 이렇게 유용하게 쓰일 줄은 몰랐다.
큐빅 스플라인 보간법은 실험이나 관측을 통해 얻은 원본데이타의 중간값을 얻기 위해 사용한다. 이 중간값을 얻는 방법에 대한 대략적인 설명은 http://blog.jidolstar.com/59 를 참고하기 바란다.
위 프로그램은 Flex로 만들어 졌다. 이 프로그램은 다음과 같은 기능을 가진다.
프로그램 기능
- XML 또는 Text형태의 실험/관측 데이타 사용가능
- Cublic Spline Interpolation 적용시 끝점처리를 Natural Spline, 포물선 방식, 선형보간법 3가지를 사용
- 각 구간별 다항식(y=ax^3+bx^2+cx+d)의 a,b,c,d 계수값을 출력
- 보간법 적용시 허용오차(EPS)적용 가능
- 결과데이타에 대한 x값 간격을 입력하도록 설정 가능
- 최종결과데이타를 Grid형태로 보여주고 외부에서 가공하기 편하도록 Text형태로도 보여줌
- 차트(Chart)를 이용해 결과데이타를 화면에 Plot해줌
- 보간법 적용시 사용하는 Gauss Elimination(가우스 소거법)은 컴퓨터 계산시 각종 좋지 않은 상태 (가령 너무 작은 수로 나누는 경우)를 피하기 위해 Scaling과 pivoting 방법을 도입함
- XML 데이타 아래와 같은 형태로 사용한다.
<?xml version="1.0" encoding="utf-8"?>
<items>
<item><x>0.9</x><y>1.3</y></item>
<item><x>1.3</x><y>1.5</y></item>
...
<item><x>12.0</x><y>0.6</y></item>
</items> - 1과 같은 방법 이외에 Text형태의 데이타를 입력시 프로그램에서 보이는 것 처럼 x,y 형태로도 입력할 수 있다. 단 순차적으로 x가 증가하도록 입력한다.
- 데이타 값은 반드시 4개 이상이어야 한다.
- 위의 1,2,3을 [Step 1]에서 적용한다.
- [Step 1]에서 정상적으로 데이타를 입력하게 되면 [Step 2]의 DataGrid에 값이 List된다.
- 허용오차, X값간격, 끝점조건등을 입력하고 "보간법 적용하기" 버튼을 누른다.
- 6을 시행하면 [Step 3]에 결과값이 나온다.
프로그램 권한,수정 및 배포
이 프로그램의 저작권은 jidolstar.com에 있으며 수정 및 배포에 대한 권한도 모두 jidolstar.com 에 있음을 말씀드립니다. 개인적이고 비영리 목적으로 사용시에는 언제든지 사용이 가능하지만 수정 및 배포는 반드시 jidolstar.com 운영자에게 꼭 문의하셔야 합니다.
프로그램 공개
프로그램 실행 : http://blog.jidolstar.com/web_example/60/
프로그램 소스 : http://blog.jidolstar.com/web_example/6 ··· dex.html
문의 : jidolstar@지메일
작성자 : 지돌스타 (http://jidolstar.com ), 천문노트(http://astronote.org/)
트랙백 주소 :: http://blog.jidolstar.com/trackback/60
-
Subject: 보간법(補間法, Interpolation)에 대해
Tracked from 지돌스타 블로그 2007년 05월 12일 14시 27분 삭제관측 또는 실험에서 얻은 데이타는 몇개의 (x,y)값으로 되어있을 것이다. 이 데이타를 이용하여 원하는 결과를 도출하기 위해 자주 사용되는 것 중에 하나가 보간법(補間法, Interpolation)이다. 이 보간법이라는 것은 주어진 데이타를 가지고 어떤 다항식과 같은 형태로 표준화 시키는 작업 중에 하나로 관측이나 실험을 통해서 얻어지지 않은 점을 추정할 때 유용하게 사용된다. 보간법은 반드시 원본데이타를 포함하기 때문에 내삽법(內揷法)이라고 한다...



댓글을 달아 주세요
천문학을 전공하셨나요? 전 천체관측이나 촬영 등에 관심이 많은데 종종 방문하겠습니다.
완벽히 잘 알지 못하지만
도와드릴 수 있는 부분은 도와드릴께요 ^^