Python化简公式Word文件下载.docx

上传人:b****5 文档编号:18778208 上传时间:2023-01-01 格式:DOCX 页数:6 大小:17.13KB
下载 相关 举报
Python化简公式Word文件下载.docx_第1页
第1页 / 共6页
Python化简公式Word文件下载.docx_第2页
第2页 / 共6页
Python化简公式Word文件下载.docx_第3页
第3页 / 共6页
Python化简公式Word文件下载.docx_第4页
第4页 / 共6页
Python化简公式Word文件下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

Python化简公式Word文件下载.docx

《Python化简公式Word文件下载.docx》由会员分享,可在线阅读,更多相关《Python化简公式Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。

Python化简公式Word文件下载.docx

simplify的另外一个缺陷是,由于它要尝试使用不同的化简方法,并选择最佳的那个,这个过程要花费一些时间。

如果你事先已经你确定要进行那一种化简,那么直接调用特定的化简函数,这是更佳的方法,能节省一些时间。

指定化简函数,而不使用通用的simplify函数还有一个好处,就是可以保证输出的形式。

例如,对于`factor`函数,如果施加到有理系数多项式上,那么得到的结果一定是最简因式。

而simplify没有这种保证,因为它是完全启发式的,有时会错过可能的化简类型。

何时使用simplify比较好?

当你在交互式的环境里,调用simplify函数,想看看它能把表达式化简到什么程度,然后你再选择几个特定的化简函数,看看是否还能再进一步简化。

 

展开表达式

表达式展开是SymPy中最常用的化简操作,对应的函数为expand。

很多数学理论都有展开的概念,我们在这里特指对多项式的展开。

例如:

expand((x+1)**2)

x**2+2*x+1

expand((x+2)*(x-3))

x**2-x-6

它能为我们完成两件事:

展开,合并同类项。

因式分解

因式化对应的函数是factor,它能够将一个多项式约成几个最简整式的积的形式,也就是因式分解。

factor(x**3-x**2+x-1)

(x-1)*(x**2+1)

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

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

factor函数的实现采用了一种完整的有理数多变量因式分解算法,能够保证因式为最简。

使用factor_list函数,能够将因式分解后得到的因式作为一个列表(List)返回。

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

(1,[(z,1),(x+2*y,2)])

合并同类项

合并同类项对应的函数为collect,能将多项式中同类项合成一项。

expr=x*y+x-3+2*x**2-z*x**2+x**3

expr

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

collected_expr=collect(expr,x)

collected_expr

x**3+x**2*(-z+2)+x*(y+1)-3

分式化简

分式化简函数的名称是cancel,它能化简任何分式函数,并能将其约到最简形式。

下面给出几个例子:

cancel((x**2+2*x+1)/(x**2+x))

(x+1)/x

expr=1/x+(3*x/2-2)/(x-4)

(3*x/2-2)/(x-4)+1/x

cancel(expr)

(3*x**2-2*x-8)/(2*x**2-8*x)

expr=(x*y**2-2*x*y*z+x*z**2+y**2-2*y*z+z**2)/(x**2-1)

(x*y**2-2*x*y*z+x*z**2+y**2-2*y*z+z**2)/(x**2-1)

(y**2-2*y*z+z**2)/(x-1)

分式裂项

分式裂项函数的名称是apart,它能将一个分式分解为几个分式的和、差。

且分解出来的分式,都是最简形式。

expr=(4*x**3+21*x**2+10*x+12)/(x**4+5*x**3+5*x**2+4*x)

(4*x**3+21*x**2+10*x+12)/(x**4+5*x**3+5*x**2+4*x)

apart(expr)

(2*x-1)/(x**2+x+1)-1/(x+4)+3/x

三角化简

由三角函数组成的表达式,可以使用trigsimp函数来化简。

下面给出三个例子:

trigsimp(sin(x)**2+cos(x)**2)

trigsimp(sin(x)**4-2*cos(x)**2*sin(x)**2+cos(x)**4)

cos(4*x)/2+1/2

trigsimp(sin(x)*tan(x)/sec(x))

sin(x)**2

trigsimp函数也能够化简双曲三角函数:

trigsimp(cosh(x)**2+sinh(x)**2)

cosh(2*x)

trigsimp(sinh(x)/tanh(x))

cosh(x)

与simplify相似的是,trigsimp对输入的表达式应用多种三角变换公式,使用启发式的方法来返回“最好”的那一个。

三角展开

要展开三角函数,可以使用expand_trig函数,它能够使用三角恒等式,将三角表达式展开。

expand_trig(sin(x+y))

sin(x)*cos(y)+sin(y)*cos(x)

expand_trig(tan(2*x))

2*tan(x)/(-tan(x)**2+1)

指数化简

若表达式中存在指数可以化解的情况,可以使用powsimp函数。

指数化简包含合并指数和合并基底两种情况。

powsimp(x**a*x**b)

x**(a+b)

powsimp(x**a*y**a)

(x*y)**a

注意,对于示例中的第二条语句(合并基底),要满足一定的条件才能够进行。

首先,x,y需为正,且a需为实数。

因此,我们在创建symbols的时候,必须指定:

x,y=symbols('

xy'

positive=True)

a,b=symbols('

ab'

real=True)

这样,示例中的语句二才能进行合并基底,否则,将显示原表达式,不做任何处理。

指数展开

与上一节的指数化简相对的,是指数展开,同样地,指数展开包含两个部分,指数展开与基底展开。

其中,指数展开对应的函数为expand_power_exp,基底展开对应的函数为expand_power_base。

expand_power_exp(x**(a+b))

x**a*x**b

expand_power_base((x*y)**a)

x**a*y**a

对于语句二,symbols要与上一节中的基底合并满足同样的条件,才能得正确得到结果。

化简指数的指数

对于表达式(x**a)**b,含有两层指数,通过使用powdenest函数,能将其简化为一层的结构。

首先,这种化简需要满足下列的条件,才能正确进行:

x=symbols('

x'

也就是基底x要大于0。

powdenest((x**a)**b)

x**(a*b)

对数展开

首先要说明一点,在数学中,log和ln是不同的概念,而在SymPy中,两个是等同的,都指自然对数。

对数成立需要满足一定条件,我们与要定义满足条件的变量:

n=symbols('

n'

指数展开函数为expand_log,能够套用指数展开公式来完成展开操作。

expand_log(log(x*y))

log(x)+log(y)

expand_log(log(x/y))

log(x)–log(y)

expand_log(log(x**2))

2*log(x)

expand_log(log(x**n))

n*log(x)

对数合并

与对数展开相对应地,是对数合并操作,函数名称为logcombine。

变量需要满足与上一节中同样的条件。

logcombine(log(x)+log(y))

log(x*y)

logcombine(n*log(x))

log(x**n)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1