SymPy学习之Basic Operations

本文介绍如何使用Python的Sympy库进行符号表达式的代换、字符串转换为表达式、高精度计算及函数向量化操作。通过实例演示了表达式代换、字符串到表达式的转换、计算精度控制及向量化函数的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

>>> from sympy import *
>>> x, y, z = symbols("x y z")
Substitution
#多个参数
>>> expr = x**3 + 4*x*y - z
>>> expr.subs([(x, 2), (y, 4), (z, 0)])
40
Converting Strings to SymPy Expressions
>>> str_expr = "x**2 + 3*x - 1/2"
>>> expr = sympify(str_expr)
>>> expr
x**2 + 3*x - 1/2
>>> expr.subs(x, 2)
19/2
evalf
>>> expr = sqrt(8)
>>> expr.evalf()
2.82842712474619
>>> pi.evalf(100)  #保留100位小数
3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068
>>> expr = cos(2*x)  
>>> expr.evalf(subs={x: 2.4})   #evalf与subs同时使用
0.0874989834394464
>>> one = cos(1)**2 + sin(1)**2
>>> (one - 1).evalf()
-0.e-124
>>> (one - 1).evalf(chop=True)
0
lambdify
>>> import numpy 
>>> a = numpy.arange(10) 
>>> expr = sin(x)
>>> f = lambdify(x, expr, "numpy") 
>>> f(a) 
[ 0.          0.84147098  0.90929743  0.14112001 -0.7568025  -0.95892427
 -0.2794155   0.6569866   0.98935825  0.41211849]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值