⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 trape.f90

📁 fortran 95书的源程序全集
💻 F90
字号:
module INTEGRAL
  implicit none
  real, parameter :: PI=3.14159
contains
! 产生数列
  subroutine GenerateData(datas, width, func)
    real datas(:), width
	real, external :: func
	real r
	integer i,n
	n = size(datas,1)
	width = PI/(n-1)
	r = 0
	do i=1,n
	  datas(i) = func(r)
	  r = r+width
	end do
  end subroutine
! 梯形法积分
  real function Trape_Integral(datas, width)
    implicit none
    real datas(:)
    real width     ! 每条数据的间隔
    real SUM       ! 计算所有上底加下底除以二的和
    integer i,n
    n = size(datas,1)
    SUM = (datas(1)+datas(n))/2.0
    do i=2,n-1
      SUM=SUM+datas(i) ! 累加边长
    end do
    Trape_Integral=SUM*width  ! 计算面积和
    return
  end function 
end module
! 梯形法积分范例
program main
  use INTEGRAL
  implicit none
  integer, parameter :: N = 10
  real DATAS(N), width
  real ANS  ! 答案  
  real, intrinsic :: sin ! 模拟用来产生数据的函数
  call GenerateData(DATAS, width, sin)
  ANS = Trape_Integral(DATAS, width)  ! 计算积分
  write(*,"('ans=',F5.2)") ANS        ! 写出答案
  stop
end program

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -