python不定积分教学_python使用sympy不定积分入门及求解

1.安装

pip3 install sympy

建议使用anaconda,里面有大量的科学包,方便使用!

2.使用

我会根据我的理解和官方教程来进行使用,英语好的可以直接去官网看,防止我可能出现的理解误差。

请认真看注释!

from sympy import * //引入包

x = symbols('x') //声明变量'x'

a = Integral(cos(x)*exp(x),x) //

print(Eq(a,a.doit()))

Symbol()函数定义单个数学符号;symbols()函数定义多个数学符号

3.数学符号

学了那么久python,忽然发现自己连数学符号都不会打,趁这次机会学习一下好了。

sqrt:根号

pi:圆周率

exp(x):exe^xex

详见《python之math库的使用》

复数的表示

aComplex = 1 + 2j //申明一个复数

aComplex

(1+2j)

aComplex.real //复数实部

1.0

aComplex.imag //复数虚部

2.0

aComplex.conjugate() //共轭复数

(1-2j)

//  取整除 - 向下取接近除数的整数

比较运算符

==  等于 - 比较对象是否相等  (a == b) 返回 False。

!=  不等于 - 比较两个对象是否不相等  (a != b) 返回 True。

>  大于 - 返回x是否大于y  (a > b) 返回 False。

>=  大于等于 - 返回x是否大于等于y。  (a >= b) 返回 False。

<=  小于等于 - 返回x是否小于等于y。  (a <= b) 返回 True。

赋值运算符

以下假设变量a为10,变量b为20:

运算符  描述  实例

=  简单的赋值运算符  c = a + b 将 a + b 的运算结果赋值为 c

+=  加法赋值运算符  c += a 等效于 c = c + a

-=  减法赋值运算符  c -= a 等效于 c = c - a

*=  乘法赋值运算符  c *= a 等效于 c = c * a

/=  除法赋值运算符  c /= a 等效于 c = c / a

%=  取模赋值运算符  c %= a 等效于 c = c % a

**=  幂赋值运算符  c **= a 等效于 c = c ** a

//=  取整除赋值运算符  c //= a 等效于 c = c // a

:=  海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。  在这个示例中,赋值表达式可以避免调用 len() 两次:if (n := len(a)) > 10: print(f"List is too long ({n} elements, expected <= 10)")

示例:

4.扩展运用

折叠表达式

factor()函数可以折叠表达式(提取公因子),而expand()函数可以展开表达式(类似于一般式)

举个例子:x3+y2x2+zxx^3+y^2x^2+zxx3+y2x2+zx,折叠后:x(x2+y2x+z)x(x^2+y^2x+z)x(x2+y2x+z).

import math

import sympy

x,y,z = symbols('x y z')

expr = x**3+(x**2)*(y**2)+z*x

f_expr = factor(expr)

e_expr = expand(f_expr)

print(f_expr)

print(e_expr)

输出结果:

x*(x**2 + x*y**2 + z)

x**3 + x**2*y**2 + x*z

表达式化简

simplify()函数可以对表达式进行化简,相当于合并同类项

from sympy import *

x,y = symbols('x y')

expr=(2*x)**3*(-5*x*y**2)

s_expr=simplify(expr)

print(s_expr)

输出: -40*x**4*y**2

求解方程组

一元方程组,例:6x+6(x−2000)=1500006x+6(x-2000)=1500006x+6(x−2000)=150000, (需要移项)

from sympy import *

x = Symbol('x')

print(solve(6*x + 6*(x-2000)-150000,x)) //默认使用一边为0来求解

二元一次方程组,例:

from sympy import *

x,y = symbols('x y')

print(solve([x + y-10,2*x+y-16],[x,y]))

输出: {x: 6, y: 4}

n元同理,不再示例。

一元二次方程组

from sympy import *

x,y = symbols('x y')

a,b,c = symbols('a b c')

expr = a*x**2 + b*x + c

s_expr = solve(expr, x) //告知要解的参数

print(s_expr)

输出 :[(-b + sqrt(-4*a*c + b**2))/(2*a), -(b + sqrt(-4*a*c + b**2))/(2*a)]

微积分Calculus

一个非常重点的内容,请认真看并记住!

求极限

Sympy是使用limit(表达式,变量,极限值)函数来求极限的

例子:lim⁡y→0sin(x)x\displaystyle \lim_{y \to0}\frac{sin(x)}{x}y→0limxsin(x)

from sympy import *

x,y = symbols('x y')

expr = sin(x)/x

l_expr = limit(expr, x, 0)

print(l_expr)

结果为1

求导郑州人流医院 http://m.zzzy120.com/

可以使用diff(表达式,变量,求导的次数)函数对表达式求导(matlab也和这个差不多)

例子:sin(x)exsin(x)e^xsin(x)ex

from sympy import *

x,y = symbols('x y')

expr = sin(x)*exp(x)

diff_expr = diff(expr, x)

diff_expr2 = diff(expr,x,2) //n阶导同理

print(diff_expr)

print(diff_expr2)

求不定积分

Sympy是使用integrate(表达式,变量)来求不定积分的

例子:exsin(x)+excos(x)e^xsin(x)+e^xcos(x)exsin(x)+excos(x)

from sympy import *

x,y = symbols('x y')

expr=exp(x)*sin(x) + exp(x)*cos(x)

i_expr=integrate(expr,x)

print(i_expr)

输出原函数:exp(x)*sin(x)

求定积分

Sympy同样是使用integrate()函数来做定积分的求解,

例子:sin(x2)sin(x^2)sin(x2)

from sympy import *

x,y = symbols('x y')

expr=sin(x**2)

i_expr=integrate(expr, (x, -oo, oo))

print(i_expr)

输出:sqrt(2)*sqrt(pi)/2 即:2π2\frac{\sqrt 2 \sqrt \pi}{2}22π (哭了,手算算不出来,无法验证)

注意:

本人也是一个初学者,如有不对的地方望批评指正!

5.其他函数及参数的用法

这个涉及的知识就会比较深了,一般只有较高级的运用才会使用的到,一般仿照上面的代码使用就可以解决绝大多数问题,纯个人想加深理解,选读 (等我有能力的时候再看下源码吧!)

传参:

from sympy import *

x = symbols('x')

fx = 5*x+4

# 使用evalf函数传值

y1 = fx.evalf(subs={x:6})

print(y1)

微分:

矩阵:

构建矩阵:

from sympy import *

# 一纬矩阵

m1 = Matrix([1, 2, 3])

#二维矩阵

m2 = Matrix([[1, -1], [3, 4], [0, 2]])

print(latex(m1)

print(latex(m2))

输出:

\left[\begin{matrix}1\\2\\3\end{matrix}\right]

\left[\begin{matrix}1 & -1\\3 & 4\\0 & 2\end{matrix}\right]

完了,有些看不懂,赶紧去查查! 详情请看《LaTeX之数学公式及符号的语法及表达》

扩展知识:

Eq():创建方程 (例:Eq(x**7+a^2,0) 等式的左边和右边

solve:求解方程

部分单词扩展:

integral :积分

indefinite:不定积分 definite:定积分

differential:微分

eigenvalues:特征值

python下的Sympy sympy介绍: Sympy是一个数学符号库(sym代表了symbol,符号),包括了积分,微分方程等各种数学运算方法,为python提供了强大的数学运算支持。对于图像来说,虽然都是做离散的计算,操作最多的还是numpy里的数组,但实际上,这个库包含了积分微分,三角等最基本的数学运算,可以说是工科最基本的,用起来媲美matlab。 --摘自网络 Sympy安装方法 安装命令:pip inst... 阅读详情

相关推荐

人工智能数学基础:Python实现不定积分1

总结:在本文中,我们对不定积分的概念和性质进行了探讨,并使用Python代码对不定积分进行了实现。了解数学基础是人工智能从业者必备的技能,希望本文能够帮助大家更加深入地了解计算机与数学之间的联系。在人工智能的世界中,数学功底是必不可少的。在此,我们将探讨不定积分的概念和性质,并使用Python代码进行实现。首先,我们需要导入sympy库,它是用于符号计算的Python库。然后,我们定义变量x和函数f。不定积分可以看作是求导的逆运算,它所表示的是函数的原函数集合。为需求不定积分的函数,则不定积分的表达式为。

qq_37934722的博客 362

使用python求定积分与不定积分以及重积分

使用 Python 求解不定积分时,会省略积分的常数。print('不定积分的结果为:%s' % i1)print('三重积分计算结果为:%s' % i)print('定积分的结果为:%s' % i2)ax.set_title('三重积分曲面')

m0_72204851的博客 2719

python 求定积分和不定积分示例

今天小编就为大家分享一篇python 求定积分和不定积分示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

pyhton实现对不定积分的计算

Python 中,可以使用 scipy 库中的 quad 函数来计算不定积分。 具体来说,可以这样使用: from scipy.integrate import quad def f(x): # 定义被积函数 return x**2 result, error = quad(f, 0, 1) print(result) 上面的代码计算的是 $\int_0^1 x^2 dx...

weixin_35752645的博客 1060

如何用python计算不定积分

本文详细介绍了如何用Python计算不定积分方法,重点SymPy是一个用于符号数学的Python库,支持许多类型的数学对象,包括整数、有理数、实数、复数、函数、极限、积分、微分、方程、几何等,同时本文也介绍了多项式函数、指数函数和三角函数、换元积分、有理函数的不定积分方法

m0_72958694的博客 1139

python如何求不定积分

库,这是一个用于符号数学的Python库,它能够进行符号计算,包括但不限于积分、求导、极限、方程求解等。在上面的例子中,我们计算了函数 ( f(x) = x^2 + 3x + 2 ) 的不定积分。还支持更复杂的积分,包括参数变化、多重积分等。如果需要计算定积分,可以给。是一个功能强大的库,可以处理各种数学问题,包括但不限于不定积分。函数的第一个参数是被积函数,第二个参数是关于哪个变量积分。在Python中,求解不定积分可以使用。函数传递额外的上下限参数。库中的相关函数和符号。定义积分的变量和函数。

m0_63331248的博客 536

sympy】用python的库 sympy 求积分

1.一重积分 问题1:求解如下一重积分: F(x)=∫01x2+ex+1 dx . F(x) = \int_0^1 x^{2}+e^{x}+1 ~dx\,. F(x)=∫01​x2+ex+1 dx. 程序1. from sympy import * print(integrate(x**2 + exp(x) + 1, (x, 0, 1))) 结果: 1/3 + E 2.二重...

kt4ngw的博客 3万+

Python 中的Sympy详细介绍

我发现这个作者写的特别好,我就把它转载过来啦。 2、函数方程求解: 3、求和 解带有求和式的方程 : 4、求极限(注意,math包中sin和很多数学函数会报错,要用sympy中的,无穷大用 sympy.oo 表示) 5、求导 6、求定积分 还有其他方法。 上面的求法有点烂,难的就罢工不干了,我丢,还是喜欢scipy,如下: http://liao.cpython.or

Petrel__Cloud的博客 1万+

pythonsympy库的使用与示例!!!

SympyPython中的一个开源库,专注于符号计算。它提供了一套强大的工具,可以进行符号数学运算、代数操作、求解方程、微积分、矩阵运算等。

m0_73609188的博客 5300

python 不定积分_python使用sympy不定积分入门求解

1.安装pip3 install sympy建议使用anaconda,里面有大量的科学包,方便使用!2.使用我会根据我的理解和官方教程来进行使用,英语好的可以直接去官网看,防止我可能出现的理解误差。请认真看注释!from sympy import * //引入包x = symbols('x') //声明变量'x'a = Integral(cos(x)*exp(x),x) //print(Eq(a,...

weixin_39619451的博客 593

python中的SymPy库函数的运用

概念 sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题。 常用的sympy内置符号 虚数单位i In [13]: import sympy In [14]: sympy.I Out[14]: I In [15]: sympy.I ** 2 Out[15]: -1 #求-1的平方根 In [16]: sympy.sqrt(-1) Out[16]: I 注;后面省略import sympy 自然对数的底

qq_51478930的博客 8794

python怎么算积分_python使用sympy不定积分入门求解

本文章首发于古客如果想要获得更好的阅读体验,请前往我的博客!概述为了解决数学中一些不定积分求解方便自己做作业,让我们一起学习如何使用python不定积分吧!《matlab版点这里》1.安装pip3 install sympy建议使用anaconda,里面有大量的科学包,方便使用!2.使用我会根据我的理解和官方教程来进行使用,英语好的可以直接去官网看,防止我可能出现的理解误差。请认真看注释!fr...

weixin_39589923的博客 681

SymPy-符号运算好帮手

SymPy-符号运算好帮手 SymPyPython的数学符号计算库,用它可以进行数学公式的符号推导。为了调用方便,下面所有的实例程序都假设事先从sympy库导入了所有内容: &gt;&gt;&gt; from sympy import * 4.1 封面上的经典公式 本书的封面上的公式: 叫做欧拉恒等式,其中e是自然指数的底,i是虚数单位,  是圆周率...

weixin_34293141的博客 636

python复数计算符号_python-2.7 – 用sympy计算符号特征值

你对M的定义使得SymPy的生活太难了,因为它引入了浮点数.当您需要符号解决方案时,应避免浮动.这意味着:>而不是1./3. (Python的浮点数)使用sp.Rational(1,3)(SymPy的有理数)或sp.S(1)/ 3,它具有相同的效果但更容易键入.>而不是1j(Python的虚构单位)使用sp.I(SymPy的虚构单位)>而不是x = 1.,写x = 1(Pytho...

weixin_39542742的博客 629

python log函数_用 Python 来研究数学 --- SymPy 符号工具包介绍

PYTHON 来研究数学 — SYMPY 符号工具包介绍SymPy 的简单介绍SymPy 是一个符号计算的 Python 库,完全由 Python 写成,为许多数值分析,符号计算提供了重要的工具。SymPy 的第一个版本于 2007 年开源,并且经历了十几个版本的迭代,在 2019 年已经基于修正的 BSD 许可证开源了 1.4 版本。SymPy 的开源地址和官方网站分别是:GitHub 链接...

weixin_39875832的博客 940

Sympy简单教程(1)

Python的符号计算工具包Sympy的简单教程

weixin_45616112的博客 2814

Python SymPy3:SymPy 集合、方程、微分方程

1. 集合 1.1 定义区间 Interval(start, end) 闭区间 Interval.open(start, end) 开区间 Interval.Ropen(start, end) 左闭右开区间 Interval.Lopen(start, end) 左开右闭区间 1.2 定义集合 FiniteSet(元素1, 元素2...) Range(start, end, step) 等差数列集合 1.3 内置集合 S.Reals 实数集 S.Integers 整数集 S.

Amzmks的博客 564
上一篇: mysql热拷贝_MySQL备份与恢复之热拷贝(4)
下一篇: python统计套利_基于python的统计套利实战(二)之协整检验
张小生blingbling
博客等级 码龄6年 43粉丝 87原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值