전 프로그램을 Develper studio 환경에서만 사용하는데 Numerical Recipes을 사용시에 링크 및 문법 에러 등은 없었습니다.
아래 내용에 제가 사용하는 방법과 Numerical Recipes의 구조를 설명드리고자 합니다.
Numerical Recipes를 편하게 사용하실려면 다음의 모듈을 정의한 파일이 있으면 편리합니다.
" nrtype.f90 " : 변수 형태와 계산에 필요한 상수(예: 파이)등의 값을 정의한 파일입니다.
" nrutil.f90 " : 수치해석 서브루틴에 공통으로 사용되는 에러처리 루틴과 간단한 계산 루틴과 공통으로 사용되는 변수가 정의되어 있습니다.
" nr.f90 " : Numerical Recipes의 수치해석 서브루틴의 형을 선언하였으며, 변수형태가 바뀌더라도 동일한 서브루틴을 사용하도록 override 되어있습니다.
수치해석 서브루틴의 형만 있을 뿐 수치해석 서브루틴의 내용은 필요할 때 마다 첨가 하시면 됩니다.
이때 수치해석 서브루틴의 형이 이미 nr 모듈에 선언되어 있으므로 메인 프로그램의 내장함수가 아닌 외장 함수(서브루틴)로 수치해석 서브루틴을 첨가하셔야 합니다.
에러가 나는 이유는 필요한 모듈과 함수가 포함되어 있지 않은 것 같습니다.
제가 프로그램을 수정한 부분입니다.
workspace
Numerical Recipes 파일: " nrtype.f90 " , " nrtype.f90 ", " nrutil.f90 ", " spline.f90", "tridag.f90"
메인 파일 " main_SPLINE.f90"
PROGRAM SPLINE_TEST
USE nrtype
use nr
IMPLICIT NONE
INTEGER(I4B), PARAMETER :: NDAT = 21
INTEGER(I4B) :: I,J
REAL(SP), DIMENSION(NDAT) :: Y
REAL(SP), DIMENSION(NDAT) :: OX,OY
REAL(SP) :: Y1,YN
OPEN(6,FILE='RESULT.DAT')
OPEN(5,FILE='POL.DAT')
DO I=1,NDAT
READ(5,*) OX(I),OY(I)
ENDDO
Numerical Recipes 파일은 카페 자료실 84번째 글에 제가 올린 파일을 설치하시고
설치된 폴더에서 "index.htm"( 아마 대부분 "C:\Program Files\Numerical Recipes\F210\f90\index.htm")을 이용하시면
간편하게 이용하실 수 있을 겁니다.
Numerical Recipes pdf 파일에 없는 example들이 있어 각각의 서브루틴을 이해하고 사용하시는데 연습하실 수 있을 겁니다.