Fortran 90では、数学関数をある制限内の1つの変数と数値的に統合したいと考えています。例えば、f(x)= x ** 2を0から10に積分する。私の持つ関数はこれよりも複雑で、積分の限界を数回変えて実行しなければならない。私はインターネット上で 'QUADPACK'ライブラリが私にこれを助けてくれるかもしれないことを知りました。しかし、どのように私はこのコードを私のコードで呼び出すことができるようにこのライブラリをインストールすることができますか?高度な指示に従うことができないため、いくつかの詳細を記入してください。Fortran 90における数値積分
-3
A
答えて
0
私は中点法を使ってx^2を統合する単純なプログラムを提供しました。
program integrate
implicit none
integer,parameter :: cp = selected_real_kind(14)
integer,parameter :: N = 1000
real(cp),dimension(N) :: f,xc
real(cp),dimension(N+1) :: x
real(cp) :: s,xmax,xmin,dx
integer :: i
xmin = 0.0_cp
xmax = 10.0_cp
dx = (xmax - xmin)/real(N,cp)
x = (/(xmin + dx*(i-1),i=1,N+1)/)
! Define x at center
do i=1,N
xc(i) = x(i) + 0.5_cp*dx
enddo
! Define f
do i=1,N
f(i) = xc(i)**2
enddo
! Integrate (Midpoint method)
s = 0.0_cp
do i=1,N
s = s + f(i)*dx
enddo
write(*,*) 'sum = ',s
end program
関連する問題
- 1. Fortran 90で2つのベクトルの外積を計算する
- 2. Fortran 90のリソース?
- 3. Fortran 90/95での関数インタフェース
- 4. 文字の誤りfortran 90
- 5. Fortran 90種類のパラメータ
- 6. Fortran 90の最適化ルーチン
- 7. Fortran 90プログラムで配列の値を保存
- 8. Mathematicaのリストの数値微積分
- 9. スパース行列のFortran 90/95ライブラリ?
- 10. Fortran 90モジュールの神秘的な性質
- 11. Rでの積分/積分:キャッチを見つける
- 12. Fortran 90 - 変数をファイルパスとして渡す
- 13. Fortran 90で引数を渡すスマートな方法
- 14. のFortran 90でのファイルからの関数を読ん
- 15. どのようにFortran 90モジュールのデータを使用する
- 16. Fortran 90からCUFFTを使用するには?
- 17. 数値積分 - それを並列化する方法は?
- 18. Javaにおけるメモリフットプリントの見積もり
- 19. Rubyにおける累積配列の合計
- 20. SciPyを使って積分を伴う関数を積分する
- 21. Mathematicaで数値的に二重積分を計算するには?
- 22. 2つのデータリストを与えられたmathematicaの数値積分
- 23. MATLAB積分関数の評価数
- 24. Javaにおける戻り値の値
- 25. 崇高なテキスト2のFortran 90に適切なテキストカラーハイライトを得るには?
- 26. javaまたはlinuxのコマンドラインで数値の集合から90%の分布値を計算するには?
- 27. これらのFortran(90)ステートメントは何をしますか?
- 28. 離散データに対するシンプソンのルールを使用した数値積分
- 29. のFortran:値
- 30. セグメンテーションフォールトCおよびFortran
https://en.wikipedia.org/wiki/Trapezoidal_ruleまたはhttps ..より複雑な式は、メッシュが十分細かいので、長く入ることができる(および関数が滑らかである)、これは動作するはずです: //en.wikipedia.org/wiki/Simpson's_rule彼らはどちらもあなたの自己を実装するのに非常に簡単です –
あなたが使用しているオペレーティングシステムを統合している方程式についての詳細情報を提供してください。具体的事例。これはもっと役に立つでしょう。 – Charlie
@ Charlie-一般的な方程式を知りたいです。例えば、a * x ** 2 + b * x + cを限界l1からl2に積分する。ここで、a、b、およびcはいくつかの定数である。私はl1とl2の配列を持っています。つまり、この方程式を限界の配列に何度も積分しなければなりません。 – NewToFortran