Keyword: チェビシェフ級数, 多項式, 導関数
概要
本サンプルはチェビシェフ級数形式の多項式の導関数を求めるFortranによるサンプルプログラムです。 本サンプルは区間[-0.5, 2.5]に渡るデータをフィットする多項式の導関数を求めて出力します。
※本サンプルはnAG Fortranライブラリに含まれるルーチン e02ahf() のExampleコードです。本サンプル及びルーチンの詳細情報は e02ahf のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
出力結果
(本ルーチンの詳細はe02ahf のマニュアルページを参照)1 2 3 4 5 6 7
この出力例をダウンロード |
E02AHF Example Program Results I Argument 1st deriv 2nd deriv 1 -0.5000 0.2453 0.1637 2 0.5000 0.4777 0.3185 3 1.5000 0.9304 0.6203 4 2.5000 1.8119 1.2056
- 3~7行目に引数、1階導関数、2階導関数が出力されています。
ソースコード
(本ルーチンの詳細はe02ahf のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「nAG Fortranライブラリ」のルーチンを呼び出します。
サンプルのコンパイル及び実行方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
このソースコードをダウンロード |
PROGRAM e02ahfe ! E02AHF Example Program Text ! Mark 23 Release. nAG Copyright 2011. ! .. Use Statements .. USE nag_library, ONLY : e02ahf, e02akf, nag_wp ! .. Implicit None Statement .. IMPLICIT NONE ! .. Parameters .. REAL (KIND=nag_wp), PARAMETER :: xmax = 2.5E0_nag_wp REAL (KIND=nag_wp), PARAMETER :: xmin = -0.5E0_nag_wp INTEGER, PARAMETER :: nout = 6, np1 = 7 INTEGER, PARAMETER :: la = np1 INTEGER, PARAMETER :: ladif = np1 REAL (KIND=nag_wp), PARAMETER :: a(la) = (/ 2.53213E0_nag_wp, & 1.13032E0_nag_wp, 0.27150E0_nag_wp, & 0.04434E0_nag_wp, 0.00547E0_nag_wp, & 0.00054E0_nag_wp, 0.00004E0_nag_wp/) ! .. Local Scalars .. REAL (KIND=nag_wp) :: deriv, deriv2, patm1, x INTEGER :: i, ifail, m ! .. Local Arrays .. REAL (KIND=nag_wp) :: adif(ladif), adif2(ladif) ! .. Intrinsic Functions .. INTRINSIC real ! .. Executable Statements .. WRITE (nout,*) 'E02AHF Example Program Results' ifail = 0 CALL e02ahf(np1,xmin,xmax,a,1,la,patm1,adif,1,ladif,ifail) ifail = 0 CALL e02ahf(np1-1,xmin,xmax,adif,1,ladif,patm1,adif2,1,ladif,ifail) m = 4 WRITE (nout,*) WRITE (nout,*) ' I Argument 1st deriv 2nd deriv' DO i = 1, m x = (xmin*real(m-i,kind=nag_wp)+xmax*real(i-1,kind=nag_wp))/ & real(m-1,kind=nag_wp) ifail = 0 CALL e02akf(np1-1,xmin,xmax,adif,1,ladif,x,deriv,ifail) ifail = 0 CALL e02akf(np1-2,xmin,xmax,adif2,1,ladif,x,deriv2,ifail) WRITE (nout,99999) i, x, deriv, deriv2 END DO 99999 FORMAT (1X,I4,F9.4,2(4X,F9.4)) END PROGRAM e02ahfe