感谢你们点开这篇文章,这是一篇关于用python进行简单数学计算的文章文章结构
前言: + 一、首先下载Sympy库二、使用步骤
1.引入库2.计算一元函数极限3.解一元二次方程3.解二元,三元方程组4.求导5.二元函数求极限 总结结束语
前言: +
✨作者简介:大家好,我是山河星梦,一个大一在校生,热爱编程,想学以致用,解决一些简单的生活问题
一、首先下载Sympy库
sympy是一个Python的科学计算库,用一套计算体系用于完成如计算极限、解方程、计算积分、解常微分方程,矩阵计算等计算问题。Sympy的语法简单、容易操作、是一个第三方库,熟练学会可以应付日常生活中大部分数学问题。
接下来是下载该库
在cmd中用 -- pip install sympy
下载成功后,我们开始下一步。
二、使用步骤 1.引入库代码如下(示例):
from sympy import *2.计算一元函数极限
这是高等数学上册书的例题,下面我们来用代码证明一下
上代码!
from sympy import * #首先导入库
n=symbols('n') #Symbol可以接收一个字符串作为参数,表示对Symbol函数的描述;
f=(1+1/n)**n #函数表达式
print(limit(f,n,oo)) #表示趋于无穷时极限
这里的运行结果为E与书上是一致的
这样我们可以引申出一元函数极限计算可以用该代码计算
!!切记,表达式一定要写对
上代码
from sympy import *
x = symbols('x')
a,b,c=symbols('a b c') #接受3个参数
y=a*x**2+b*x+c
s_expr=solve( y, x)
print(s_expr)
解出来的结果为
[(-b - sqrt(-4ac + b2))/(2a), (-b + sqrt(-4a*c + b2))/(2*a)]
sqrt()表示根号的意思
这也是我们初中所学的求根公式
from sympy import *
x, y = symbols('x y')
s=[x + y - 10, 2 * x + y - 16] #列方程组
print(solve(s, [x, y])) #解方程
这里得到结果{x:6,y:4}
这里的方程组需要用列表包括
我们同时也可以得出三元方程的解法
只需要再传入一个参数以及再多一个附加方程,就可以解出结果
这里我们示例sin(x)的求导
from sympy import *
x= symbols('x')
y= sin(x)
diff_expr = diff(y, x) #diff还有第三个参数,可控制求几次导
print(diff_expr)
这里求一次导结果为cos(x)
下面我们来求高阶导数,并且打印出来
from sympy import *
for i in range(8):
x= symbols('x')
y= sin(x)
diff_expr = diff(y, x,i)
print(f'这是sin(x)第{i}次求导')
print(diff_expr)
这里我们求了8次导数可以得到两轮循环
5.二元函数求极限这里我们需要用到limit镶嵌
我们来用高数书下册的例题,这里答案是1/2
我们用代码来实现它
from sympy import *
x,y=symbols('x,y')
s=(sqrt(x*y+1)-1)/(x*y)
print(limit(limit(s,x,0),y,0))
可以得到结果为1/2
但是这个方法有一定缺陷,如果二元函数不可以拆,我们将会得到错误的结果。
例如
from sympy import *
x,y=symbols('x,y')
s=(x+y)/(x-y)
print(limit(limit(s,x,0),y,0))
#结果-1
但是该函数极限在(0,0)处并不存在
这里得出了个错误的结果,需要注意
这里对文章进行总结:
以上就是今天要讲的内容,本文仅仅简单介绍了sympy库的使用,而sympy提供了大量能使我们快速便捷地计算数学题目方法。
在下一章我会写一些关于积分和常微分方程,线性代数方面的简单计算
结束语感谢您的阅读,喜欢的可以三连加关注噢~,长期更新,坚持一星期一篇



