欢迎光临
我们一直在努力

HoRain云--Java判断一个字符串是否包含某个字符

  

🎬 HoRain云小助手:个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

📦 一、安装所需库

🔷 二、使用 SymPy 进行符号积分

1. 不定积分(求原函数)

2. 定积分(求积分值)

🔶 三、使用 SciPy 进行数值积分

📊 四、SymPy vs SciPy 对比

💡 五、实用技巧

1. 美化输出(LaTeX格式)

2. 多重积分

3. 检查积分是否存在

⚠️ 注意事项

🎯 快速参考表


img

根据搜索结果,我为您整理了Python快速求解不定积分和定积分的完整指南。主要使用 SymPy(符号积分)和 SciPy(数值积分)两个库。


📦 一、安装所需库

pip install sympy scipy


🔷 二、使用 SymPy 进行符号积分

1. 不定积分(求原函数)

from sympy import symbols, integrate, sin, cos, exp, sqrt, pi

# 定义符号变量
x = symbols('x')

# 示例1:多项式积分 ∫(x² + 3x + 5)dx
f1 = x**2 + 3*x + 5
F1 = integrate(f1, x)
print(f"∫(x² + 3x + 5)dx = {F1}")

# 示例2:三角函数积分 ∫sin(x)dx
f2 = sin(x)
F2 = integrate(f2, x)
print(f"∫sin(x)dx = {F2}")

# 示例3:复杂函数积分 ∫√(1/x)dx
f3 = sqrt(1/x)
F3 = integrate(f3, x)
print(f"∫√(1/x)dx = {F3}")

# 示例4:指数函数积分 ∫e^x dx
f4 = exp(x)
F4 = integrate(f4, x)
print(f"∫e^x dx = {F4}")

输出示例:

∫(x² + 3x + 5)dx = x**3/3 + 3*x**2/2 + 5*x
∫sin(x)dx = -cos(x)
∫√(1/x)dx = 2*sqrt(x)
∫e^x dx = exp(x)


2. 定积分(求积分值)

from sympy import symbols, integrate, sin, pi, oo # oo表示无穷大

x = symbols('x')

# 示例1:定积分 ∫₀^π sin(x)dx
result1 = integrate(sin(x), (x, 0, pi))
print(f"∫₀^π sin(x)dx = {result1}")

# 示例2:定积分 ∫₀^1 x² dx
result2 = integrate(x**2, (x, 0, 1))
print(f"∫₀^1 x² dx = {result2}")

# 示例3:无穷积分 ∫₋∞^∞ sin(x)/x dx
result3 = integrate(sin(x)/x, (x, -oo, oo))
print(f"∫₋∞^∞ sin(x)/x dx = {result3}")

# 示例4:带参数的定积分
a, b = symbols('a b')
result4 = integrate(x**2, (x, a, b))
print(f"∫ₐ^b x² dx = {result4}")

输出示例:

∫₀^π sin(x)dx = 2
∫₀^1 x² dx = 1/3
∫₋∞^∞ sin(x)/x dx = pi
∫ₐ^b x² dx = -a**3/3 + b**3/3


🔶 三、使用 SciPy 进行数值积分

当无法求得解析解时,使用数值积分:

from scipy import integrate
import numpy as np

# 示例1:数值定积分 ∫₀^1 x² dx
result1, error1 = integrate.quad(lambda x: x**2, 0, 1)
print(f"∫₀^1 x² dx ≈ {result1}, 误差估计: {error1}")

# 示例2:数值定积分 ∫₀^π sin(x)dx
result2, error2 = integrate.quad(lambda x: np.sin(x), 0, np.pi)
print(f"∫₀^π sin(x)dx ≈ {result2}, 误差估计: {error2}")

# 示例3:复杂函数数值积分
result3, error3 = integrate.quad(lambda x: np.exp(-x**2), -np.inf, np.inf)
print(f"∫₋∞^∞ e^(-x²)dx ≈ {result3}, 误差估计: {error3}")

输出示例:

∫₀^1 x² dx ≈ 0.3333333333333333, 误差估计: 3.7e-15
∫₀^π sin(x)dx ≈ 2.0, 误差估计: 2.2e-14
∫₋∞^∞ e^(-x²)dx ≈ 1.7724538509055159, 误差估计: 1.5e-09


📊 四、SymPy vs SciPy 对比

特性SymPySciPy
类型 符号计算 数值计算
结果 精确解析表达式 近似数值
适用场景 理论推导、公式化简 工程计算、复杂函数
速度 较慢 较快
无穷积分 支持 支持

💡 五、实用技巧

1. 美化输出(LaTeX格式)

from sympy import init_printing
init_printing(use_latex=True) # 在Jupyter中显示美观的数学公式

2. 多重积分

from sympy import symbols, integrate

x, y = symbols('x y')
# 二重积分 ∫₀^1 ∫₀^2 (x + y) dy dx
result = integrate(x + y, (y, 0, 2), (x, 0, 1))
print(f"二重积分结果: {result}")

3. 检查积分是否存在

from sympy import Integral, symbols

x = symbols('x')
expr = Integral(1/x, x)
result = expr.doit() # 尝试计算
print(f"积分结果: {result}")


⚠️ 注意事项

  • SymPy无法求解所有积分:某些复杂函数可能返回未计算的Integral对象
  • 数值积分有误差:SciPy返回结果包含误差估计值
  • 定义域问题:注意函数的定义域和奇点
  • 性能考虑:符号积分计算较慢,大批量计算建议用数值方法

  • 🎯 快速参考表

    操作代码
    不定积分 integrate(f, x)
    定积分 integrate(f, (x, a, b))
    数值积分 integrate.quad(f, a, b)
    定义符号 x = symbols('x')
    无穷大 oo (SymPy) 或 np.inf (SciPy)

    希望这份指南能帮助您快速上手Python积分计算!如有具体问题,欢迎继续提问。

    ❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

    💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

    🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

    赞(0)
    未经允许不得转载:171主机测评 » HoRain云--Java判断一个字符串是否包含某个字符
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址