目录

1Sympy的基本概念

1符号计算

2计算机代数系统

3实际解方程

1把未知数设为符号

2用solve()解方程

1解一元一次方程

2解二元一次方程组

3解决一元二次方程

总结


哈喽,大家好!

我们今天用python解方程!

首先了解一下方程是什么。

方程 是指含有未知数等式。是表示两个数学式(如两个数、函数、量、运算)之间相等关系的一种等式,使等式成立的未知数的值称为“解”或“根”。求方程的解的过程称为“解方程”。

下面我们介绍如何用python解方程。

解方程我们需要借助python的一个库“SymPy

SymPy 是一个用于以符号运算为主的符号数学的Python库。它的目标是成为一个全功能的计算机代数系统

1Sympy的基本概念

先简单介绍一下Sympy的基本用法

首先了解几个概念。

1符号计算

符号计算又称计算机代数,通俗地说就是用计算机推导数学公式,如对表达式进行因式分解、化简、微分、积分、解代数方程、求解常微分方程等。 符号计算和数值计算是数学中平行的两部分,他们的区别在于: 在数值计算中,计算机处理和得到的对象都是一个数值,而在符号运算中计算机处理的是符号。

2计算机代数系统

计算机代数系统(Computer Algebra System,缩写作:CAS) 时进行符号运算的系统,计算机代数系统的标志是能够以字符串作为运算单位

3实际解方程

好,了解了这些可有可无的概念以后,我们来实际解决一下方程问题。

首先列方程;

\small 2x+1=3

先来一个比较简单的

既然方程有了,那如何用代码解决呢??

1把未知数设为符号

首先我们知道“Smypy”是进行符号运算,因此我们把未知数“x”设为符号,这里使用“sympy.Symbol('x')”

import sympy
x = sympy.Symbol('x')

2用solve()解方程

1解一元一次方程

solve()的第一个参数是要解的方程,第第二个参数是要求解的未知数

注意:solve()解的方程右边必须是0

所以我们的方程要进行移项:

\small 2x-2=0

写成代码是

sympy.solve(x*2-2,x)

输出一下

[1]

完全正确!!

再稍微难一点:

\small \frac{x}{2}+\frac{x}{3}-\frac{5}{9}= 0

print(sympy.solve(x*1/2+x*1/2-5/9,x))
输出
[0.555555555555556]

\small 3x-1=0

print(sympy.solve(x*3-1,x))
输出
[1/3]

2解二元一次方程组

在学习二元一次方程组的时候,我们都接触过“鸡兔同笼”的问题。

问题如下“有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?”

接下来,我们用python解决这个问题。

因为是两个未知数,因此我们设定两个符号。

x = sympy.Symbol('x')
y = sympy.Symbol("y")

接着列出方程

\small \\x+y=35\\ 2x+4y=94

代码如下

print(sympy.solve([x+y-35,x*2+y*4-94],x,y))
输出
{x: 23, y: 12}

很轻松!!

3解决一元二次方程

方程如下

\small x^{2}+x-20=0

代码如下

print(sympy.solve(x**2+x-20,x))
输出
[-5, 4]

总结

今天我们使用“Sympy”库的

“sympy.Symbol(')”

和“sympy.solve()”

解决的简单的一元一次,二元一次,一元二次方程。

如果大家喜欢后续我可以用python解决更多的数学问题。

谢谢!!!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐