使用Python的scipy.integrate计算微积分

  先上一个二重积分计算,来自2022年考研数学第二题

\int_{0}^{2}dy\int_{y}^{2}\frac{y}{\sqrt(1+x^{3})}dx=

A.\frac{\sqrt{2}}{6}.~~ B.\frac{1}{3}.~ C.\frac{\sqrt{2}}{3}.~ D.\frac{2}{3} 

进行计算前先在终端下载 scipy包 

pip install scipy

在脚本中先导入所需要的模块

import scipy.integrate as spi 

定义函数f(x, y) ,所得值返回\frac{y}{\sqrt(1+x^{3})}

def f(x, y):    return y / (1 + x**3)**0.5

定义函数x_lower(y)和x_upper(y),返回值是在给定的y值下,x的积分上下限

def x_lower(y):    return y    def x_upper(y):    return 2    

设置y的积分上下限

y_lower = 0    
y_upper = 2   

使用SciPy的dblquad函数进行双重积分。首先对x在给定的y值下,从x_lower到x_upperx进行积分,然后在y_lower到y_upper对y进行积分

result, error = spi.dblquad(f, y_lower, y_upper, x_lower, x_upper) 

最后打印计算积分所得结果和估计误差

print(f"计算结果:{result}, 估计误差:{error}")

计算结果如下,原答案为\frac{2}{3}

计算结果:0.6666666666666667, 估计误差:3.034575198616355e-10

全部代码

import scipy.integrate as spi  def f(x, y):  return y / (1 + x**3)**0.5  
def x_lower(y):  return y   
def x_upper(y):  return 2  y_lower = 0  
y_upper = 2  result, error = spi.dblquad(f, y_lower, y_upper, x_lower, x_upper)    
print(f"计算结果:{result}, 估计误差:{error}")

 

 第二题是2022年考研数学第13题

\int_{0}^{1}\frac{2x+3}{x^{2}-x+1}dx=

使用SciPy的quad函数计算定积分,quad函数接受三个参数:被积函数、积分下限和积分上限,题目给出从0到1定积分。 
 

integral_value, error = spi.quad(integrand, 0, 1) 

计算结果如下,标准答案为\frac{8\pi}{3\sqrt{3}}

计算结果:4.83680,估计误差:5.12771e-13

全部代码

import scipy.integrate as spi  def integrand(x):  return (2*x + 3) / (x**2 - x + 1)  integral_value, error = spi.quad(integrand, 0, 1)  print(f"计算结果:{integral_value:.5f},估计误差:{error:.5e}")

第三题是2021年考研数学第11题

 \int_{-\infty}^{+\infty}|x|3^{-x^{2}}dx=

使用SciPy的quad函数计算从0到100的定积分,计算函数integrand在0到100区间上的积分 

integral_value, error = spi.quad(integrand, 0, 100) 

原题中的积分是从负无穷到正无穷,且函数关于y轴对称,所以将原积分拆分为两部分并从0到正无穷积分,然后结果乘以2。   

answer = 2 * integral_value 

计算结果如下,标准答案为\frac{1}{ln3}

积分的数值结果为:0.91024,估计误差为:9.10711e-10

完整代码

import scipy.integrate as spi  def integrand(x):  return x * 3**(-x**2)  integral_value, error = spi.quad(integrand, 0, 100)  
answer = 2 * integral_value  print(f"积分的数值结果为:{answer:.5f},估计误差为:{error:.5e}")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/767123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue的影院订票系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

LeetCode Python - 71. 简化路径

目录 题目描述解法运行结果 题目描述 给你一个字符串 path ,表示指向某一文件或目录的 Unix 风格 绝对路径 (以 ‘/’ 开头),请你将其转化为更加简洁的规范路径。 在 Unix 风格的文件系统中,一个点(.&…

一图理解递归-算法通关村

一图理解递归-算法通关村 递归是我们算法进阶的基础,是必须要掌握的内容,只有掌握了递归才算真的会算法。与递归有关的问题有: 与树和二叉树相关的大部问题二分查找相关的问题快速排序、归并排序相关的问题所有回溯的问题所有动态规划的问题 …

大数据分析-基于Python的网络爬虫及数据处理---智联招聘人才招聘特征分析与挖掘的算法实现

概要 随着科学技术的发展,人类进入了互联网时代,不仅数据量庞大,而且数据种类繁多,Python简单易学, 语法清晰,在数据操作方面有着一定优势,成为了数据采集和可视化领域的热门语言。本论文主要是使用Python来…

Kruskal最小生成树【详细解释+动图图解】【sort中的cmp函数】 【例题:洛谷P3366 【模板】最小生成树】

文章目录 Kruskal算法简介Kruskal算法前置知识sort 中的cmp函数 算法思考样例详细示范与解释kruskal模版code↓ 例题:洛谷P3366 【模板】最小生成树code↓完结撒花QWQ Kruskal算法简介 K r u s k a l Kruskal Kruskal 是基于贪心算法的 M S T MST MST 算法&#xff…

导师坚鹏:厦门火炬高新区数字化转型战略蓝图从规划到落地培训

厦门火炬高新区战略制胜:数字化转型战略蓝图从规划到落地培训 厦门国家火炬高技术产业开发区(简称“厦门国家火炬高新区”)1991年被国务院批准为全国首批国家级高新区,是全国三个以“火炬”冠名的国家高新区之一。目前&#xff0c…

Excel通过下拉菜单,显示不同图片

背景:有的时候需要通过更改下拉菜单来改变对应的 值/ 图片。 如果是数值的话就是我们常常用的Vlookup,这个可以很简单的实现这个功能。(这个如果不知道请自行百度) 但是如果是图片呢?这个就不常见了,那么…

芯片工程系列(5)2.5D 3D封装

0 英语缩写 硅通孔(Through Silicon Via,TSV)硅中介层(Silicon Interposer)物理气象沉淀法(Physical Vapor Deposition,PVD)DRIE、CVD、PVD、CMP等设备CoWoS(Chip on Wa…

【开发环境搭建篇】Nacos的安装和配置

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

安卓手机系统跳过app启动广告软件

跳过广告关于此应用声明: 应用利用了安卓系统的辅助功能API,可以读取您手机屏幕上显示的所有内容,并且可以以您的名义进行屏幕点击等操作。* 轻量无广告,不联网,也不需要任何权限;* 请务必在系统设置中开启…

Redis中AOF、RDB和复制功能对过期键的处理

AOF、RDB和复制功能对过期键的处理 生成RDB文件 在执行SAVE命令或者BGSAVE命令创建一个新的RDB文件时,程序会对数据库中的键进行检查,已过期的键不会被保存到新创建的RDB文件中。 例子 举个例子,如果数据库中包含三个键k1、k2、k3&#x…

【目标检测实验系列】AutoDL线上GPU服务器租用流程以及如何用Pycharm软件远程连接服务器进行模型训练 (以Pycharm远程训练Yolov5项目为例子 超详细)

目录 1. 文章主要内容2. 租用AutoDL服务器详细教程2.1 注册AutoDL账号,并申请学生认证(学生认证有优惠,如果不是学生可以忽略此点)2.2 算力市场选择GPU,并选择初始化配置环境2.3 控制台参数解析,并使用相关参数登录Xftp(Windows与…

Office办公软件之word的使用(一)

前几天调整公司招标文件的格式,中途遇到一些问题,感觉自己还不是太熟悉操作,通过查阅资料,知道了正确的操作,就想着给记下来。如果再次遇到,也能很快地找到解决办法。 一、怎么把标题前的黑点去掉 解决办法…

[ C++ ] STL---list的模拟实现

目录 结点类的模拟实现 迭代器类的模拟实现 构造函数 前置与后置 前置- -与后置 - - 与 !运算符重载 * 运算符重载 -> 运算符重载 普通迭代器总体实现代码 list类的实现 list类的成员变量 构造函数 迭代器 insert() erase() push_front/push_back…

【SQL】1527. 患某种疾病的患者(like;通配符)

前述 知识点回顾: MySQL 使用OR在LIKE查询中比较多个字段 %:表示任意字符(包括0个或多个)_:表示任意单个字符匹配空格:直接用空格就行,例如,% DIAB1%可以匹配字符串ACNE DIAB100 …

Python Flask框架 -- ORM模型与表的映射

ORM模型 对象关系映射(Object Relationship Mapping),简称ORM,是一种可以用Python面向对象的方式来操作关系型数据库的技术,具有可以映射到数据库表能力的Python类我们称之为ORM模型。一个ORM模型与数据库中一个表相对应,ORM模型中…

【国家计算机二级考试C语言.2024】学习备忘录

说明 分值 4060100 40分: 这里面有一大堆程序结果选这题,如果手速还可以。那遇到有疑问的情况就自己去倒计算器的ad E上面去打一打。能够跑出来,结果那是100%的没问题。 有些概念题比较讨厌,只能自己去记忆了。要去背诵熟熟的。…

GPU 使用率监测及可视化

1. 使用 nvidia-smi可视化 直接在终端输入nvidia-smi动态查看GPU的使用情况watch -n 0.5 nvidia-smi其中0.5表示每隔0.5秒更新一次,时间可以调整 2. 使用nvitop可视化 2.1 nvitop的使用 (1) 安装 pip install nvitop(2) 查看GPU使用率 nvitop

springboot296基于个性化定制的智慧校园管理系统设计与开发

智慧校园管理系统的设计与实现 摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统校园综合信息管理难度大&…

maya打开bvh脚本

目录 maya打开脚本编辑器 运行打开bvh脚本 maya导出bvh脚本 maya打开脚本编辑器 打开Maya软件,点击右下角 “脚本编辑器” 运行打开bvh脚本 https://github.com/jhoolmans/mayaImporterBVH/blob/master/bvh_importer.py import os import re from typing impo…