Python数值计算


数值计算指有效使用数字计算机求数学问题近似解的方法与过程,以及由相关理论构成的学科。数值计算主要研究如何利用计算机更好的解决各种数学问题,包括连续系统离散化和离散形方程的求解,并考虑误差、收敛性和稳定性等问题。

在科研过程中,我们需要使用大量使用数值计算来帮助研究的顺利进行,本文将重点介绍如何使用Sympy库进行常用的数值计算。

sympy介绍

sympy是python的一个科学计算库,用强大的符号计算体系完成诸如多项式求值,求极限,求导,擅长求积分,解微分方程,级数展开,矩阵运算等功能。

sympy内置符号

  1. 自然对数:sympy.E
  2. 无穷大:sympy.oo
  3. 圆周率π:sympy.pi
  4. 虚数单位i:sympy.I
import sympy
import numpy as np

print(np.double(sympy.log(sympy.E*sympy.pi)))  # 2.1447298858494

sympy内置函数

  1. 正弦函数sympy.sin(num)
  2. 对数函数sympy.log(num)
  3. 求平方根函数sympy.sqrt(num)
  4. n次方根函数sympy.root(num,n)
  5. 求阶乘sympy.factorial(num)
  6. ∑ \sum 求和sympy.summation
  7. 求导sympy.diff(func,x,n)
  8. 求积分sympy.integrate(func,(x,a,b))

sympy实战

求解函数

基础案例一:

import sympy
import numpy as np

x = sympy.Symbol('x')  # 定义一个符号,表示变量
fx = 2*x + 1  # 定义函数表达式
fx.evalf(subs={
   x:2})  # 使用evalf函数以传入变量的值,对函数表达式进行求解

# output:5.00000000000000

基础案例二:

import sympy
import numpy as np

x,y = sympy.symbols('x y')  # 同时定义多个符号以表示变量
f = 2*x + y  
f.evalf(subs={
   x:2})   # output:2.0x+y
f.evalf(subs={
   x:2,y:1})  # output:5.0

# 定义符号的方法也可使用sympy.abc方法
from sympy.abc import x,y
f2 = 2*x + y
print(f2)  # output:2*x + y

求极限

import sympy

x = sympy.Symbol('x')

f1 = (x**2+2*x-1)/x
print(sympy.limit(f1,x,1))  # output:2

f2 = sympy.sin(x)/x
print(sympy.limit(f2,x,0))  # output:1

f3 = sympy.sin(x)/x
print(
  • 2
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

力语

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值