Keyword: 連続関数の根
概要
本サンプルは連続関数の根を求めるFortranによるサンプルプログラムです。 本サンプルは許容誤差を1.0e-5とする、区間[1,0]の範囲内の以下の連続関数の根の近似を求めて出力します。非線形補間法、外挿法、二分法を組み合わせた手法が使用されています。
※本サンプルはnAG Fortranライブラリに含まれるルーチン c05adf() のExampleコードです。本サンプル及びルーチンの詳細情報は c05adf のマニュアルページをご参照ください。
ご相談やお問い合わせはこちらまで
出力結果
(本ルーチンの詳細はc05adf のマニュアルページを参照)- 3行目に連続関数の根が出力されています。
ソースコード
(本ルーチンの詳細はc05adf のマニュアルページを参照)
※本サンプルソースコードは科学技術・統計計算ライブラリである「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 57 58 59 60 61 62 63 64 65 66
このソースコードをダウンロード |
! C05ADF Example Program Text ! Mark 23 Release. nAG Copyright 2011. MODULE c05adfe_mod ! C05ADF Example Program Module: ! Parameters and User-defined Routines ! .. Use Statements .. USE nag_library, ONLY : nag_wp ! .. Implicit None Statement .. IMPLICIT NONE ! .. Parameters .. INTEGER, PARAMETER :: nout = 6 CONTAINS FUNCTION f(x) ! .. Implicit None Statement .. IMPLICIT NONE ! .. Function Return Value .. REAL (KIND=nag_wp) :: f ! .. Scalar Arguments .. REAL (KIND=nag_wp), INTENT (IN) :: x ! .. Intrinsic Functions .. INTRINSIC exp ! .. Executable Statements .. f = exp(-x) - x RETURN END FUNCTION f END MODULE c05adfe_mod PROGRAM c05adfe ! C05ADF Example Main Program ! .. Use Statements .. USE nag_library, ONLY : c05adf, nag_wp USE c05adfe_mod, ONLY : f, nout ! .. Implicit None Statement .. IMPLICIT NONE ! .. Local Scalars .. REAL (KIND=nag_wp) :: a, b, eps, eta, x INTEGER :: ifail ! .. Executable Statements .. WRITE (nout,*) 'C05ADF Example Program Results' a = 0.0E0_nag_wp b = 1.0E0_nag_wp eps = 1.0E-5_nag_wp eta = 0.0E0_nag_wp ifail = -1 CALL c05adf(a,b,eps,eta,f,x,ifail) WRITE (nout,*) SELECT CASE (ifail) CASE (0) WRITE (nout,99999) 'Zero at X =', x CASE (2,3) WRITE (nout,99999) 'Final point = ', x END SELECT 99999 FORMAT (1X,A,F12.5) END PROGRAM c05adfe