Fortran学习20:数值计算方法3

本文介绍了使用数值方法进行积分计算的基本原理和技术,包括梯形法和辛普森法,并提供了Fortran语言实现的具体代码示例。文中还探讨了不同精度设置对结果的影响。

今天来看看微积分,什么是微积分,好多人会给出自己的理解,我的理解就是,一个非规则几何体、面,太难算了,就把他给分,分成足够多的小块,然后就发现,每一个小块的面积相加就是整体的面积,分的过程就是微分,相加的过程就是积分。

用数值方法来积分的时候,主要是应用在函数不存在的时候,我们从实验中得到的一连串数据,没有办法刚好使用一些已知的函数来表示,那么这个时候就用其他的算法来计算了。

1、梯形法求积分:

这个是最简单的,使用梯形法,把所需要积分的图形,用许多的小梯形方块填满,这样就近似求解了。

module integeral
    implicit none
    real,PARAMETER::PI=3.1415926
    contains
        subroutine GenerateData(datas,width,func)
            ! 生成数列
            real datas(:),width
            real,external::func
            real r
            integer i,n
            n=size(datas, dim=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,sum
            ! sum:计算所有上底加下底除以2的和
            integer i,n
            n=size(datas, dim=1)
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值