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

📄 newton.f90

📁 牛顿方程牛顿方程牛顿方程牛顿方程牛顿方程
💻 F90
字号:
module numerical
   implicit none
   real,parameter :: zero=0.00001 !小于zero 的值将被当成0
   contains

   !割线法的函数
   real function newton(a,f,df)
     implicit none
	 real :: a    !起始的猜值
	 real,external :: f !输入的求值函数
	 real,external :: df !函数的倒函数
	 real :: b  !逼近得到的解
	 real :: fb  !纪录f(a),f(b),f(c)

	 b=a-f(a)/df(a)
	 fb=f(b)
  !在趋近于零之前要一直做的逼近工作
	 do while(abs(fb)>zero)
	   a=b
	   b=a-f(a)/df(a)
	   fb=f(b)
	 enddo

	 newton=b
	 return
	 end function newton
  !求值的函数
	 real function func(x)
	    implicit none
		real :: x
		func=sin(x)
		return
	end function func
  !倒数函数
	real function dfunc(x)
	    implicit none
		real :: x
		dfunc=cos(x)
		return
	end function dfunc

end module numerical

program main
  use numerical
  implicit none
  real :: a  !起始的猜值
  real :: ans  !解
  write(*,*)"输入起始值"
  read(*,*)a
  !输入起始猜值及求值得函数
  ans=newton(a,func,dfunc)
  write(*,"('x=',f8.4)")ans
  stop
end program 

⌨️ 快捷键说明

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