Python 基于sicpy求解定积分 ,不定积分以及多重积分

1.SciPy是什么
SciPy是python的一个著名的开源科学库,SciPy一般都是操纵NumPy数组来进行科学计算,统计分析,可以说是基于NumPy之上。SciPy提供了许多科学计算的库函数,如线性代数,微分方程,信号处理,图像处理,系数矩阵计算等,
2.Scipy安装
官网:http://www.scipy.org/SciPy

安装:假定python安装目录在C:\Python27,则在C:\Python27\Scripts下打开cmd执行

执行命令:pip install scipy

python之SciPy简介

运用sicpy模块中integrate函数求定积分,不定积分,多重积分 ,以及含有断点如何求积分 并运用matplotlib画出含有断点函数的图形
代码如下

py import integrate
import numpy as np
import matplotlib.pyplot as plt
'''求定积分'''
#建立定积分函数含有 一重积分
def f(x):
    return x**2+1
v,err=integrate.quad(f,1,2)#求1到2的定积分 err误差
print("函数f的一重积分积分为{:0.4}".format(v))
#建立含有参数a、b的积分函数  一重积分
def F(x,a,b):
    return a*x**2+b
#可以用参数args传入a=2、b=1的值
v,err=integrate.quad(F,1,2,args=(2,1))
print("函数F的一重积分为{:0.4}".format(v))
#建立有断点的函数求积分 如 1/根号下x的绝对值
def w(x):
    return 1/np.sqrt(abs(x))
#w函数在x=0处存在断点 用quad()函数中的points可跳过求解
v,err=integrate.quad(w,-1,1,points=[0])
print("函数w的一重积分为{:0.4}".format(v))
#绘制图像
fig,ax=plt.subplots(figsize=(8,3))
x=np.linspace(-1,1,10000)
ax.plot(x,w(x),lw=2)
ax.fill_between(x,w(x),color='green',alpha=0.5)
ax.set_xlabel("$x$",fontsize=18)
ax.set_ylabel("$w(x)=1/sqrt(abs(x))$",fontsize=18)
ax.set_ylim(0,25)
# plt.show()
plt.draw()
plt.pause(1)# 间隔的秒数:1s
plt.close(fig)
#建立函数求二重定积分
def W(x,y):
    return x*y
def h(x):
    return x
v,err1=integrate.dblquad(W,1,2,1,h) #外层积分1到2 内层积分1到x
print("函数W(x,y)=x*y的二重积分为{:0.4}".format(v))
#建立函数求三重积分
f=lambda x,y,z:x
g=lambda x:(1-x)/2
h=lambda x,y:(1-x-2*y)
v,err=integrate.tplquad(f, 0, 1, 0, g, 0, h)
print("函数f=x的三重积分为{:0.4}".format(v))

运行结果
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值