python使用scipy.integrate模块进行数值积分:一维积分quad(),二维积分dblquad() 您所在的位置:网站首页 python求三重积分数值解 python使用scipy.integrate模块进行数值积分:一维积分quad(),二维积分dblquad()

python使用scipy.integrate模块进行数值积分:一维积分quad(),二维积分dblquad()

2024-06-01 13:24| 来源: 网络整理| 查看: 265

基本介绍

一般而言,使用求解微积分可以分为两大类:符号积分(即求出解析解)和数值积分(即求出数值解)。在计算机的处理当中,数值解往往更有意义。 使用python求解数值解的模块:scipy.integrate;常用的有一维积分方法quad()和二维积分quad()。本文也是主要介绍这两种方法的使用。

一维数值积分 from scipy import integrate # 基本使用格式:integrate(func, a, b) # func是一个函数名,a是积分下限,b是积分上限 # 值得注意的是,使用该积分函数,需要将被积表达式封装在函数内,比如被积表达式是2*x,积分上下限分别为 # 1和2,口算可得,积分结果为:3;那么编程实现怎么做呢 定义一个普通的函数 def func(x) return 2*x # 值得注意的是,一定要将表达式return出来 integrate(func, 1, 2) # 出结果 3 使用lambda表达式 integrate(lambda x : 2*x, 1, 2) # 结果 3

值得注意的是,由于是数值积分,因此一维是不允许有不定积分的,只能是定积分,而且不能是变限积分

二维函数 # 基本使用格式:integrate(func, a, b,afunc, bfunc) # func是一个函数名,a是外积分下限,b是外积分上限, afunc是内积分下限,bfunc是内积分下限 # 比如下图的一个二维积分

在这里插入图片描述

普通函数法 # 被积函数 def func(y, x) return x*y # 虽然下限是常数,但是还是写成函数形式 def afunc(x) return 0 # 上限x def bfunc(x) return x # 需要注意,func的参数顺序需要对应被积变量的顺序,比如本例就是先积分y,再积分x。 integrate(func, 1, 2, afunc, bfunc) lambda表达式法 integrate(lambda y, x : x*y, 1, 2, lambda x : 0, lambda, x : x)

总体而言,使用lambda会简节一点,但是当积分函数和上下限很复杂时,使用普通函数会好一点



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有