用python和sympy库解决方程组问题_使用 Python 解数学方程

本文介绍了如何使用Python的SymPy库来解决数学方程组和微积分问题。SymPy是一个符号数学库,它允许我们将变量设置为符号进行计算。通过示例展示了如何设置符号、表示方程以及使用`solve`函数解二元一次方程组。
摘要由CSDN通过智能技术生成

e9dae57333b36d1534689d5da90f2f4f.png

说到数学题,相信大家都不陌生,从小学到大学都跟数学打交道。 其中初中的方程组,高中的二次曲线,大学的微积分最为头疼, 这个项目 就使用python 来解决方程组问题,微积分问题,矩阵化简。

SymPy库

用Python解决方程组、微积分等问题,主要是用到Python的一个库——SymPy库。可以说这个项目也主要是学习SymPy库的用法。

SymPy是符号数学的Python库。它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁、易于理解和扩展。 SymPy完全是用Python写的,并不需要外部的库。

大家可能还是不太明白,我稍微解释一下,单纯用语言内置的运算与变量解决的是,由值求结果。如:

#仅用于说明,不要直接运行

print x + y

上式中的x与y在这条语句执行前你肯定得赋值的,否则就会出错。

而符号计算不同,你可以在之前将其设为符号。

#仅用于说明,不要直接运行

x = Symbol('x')

y = Symbol('y')

print x + y

上述代码是可以的。因为Sympy库将x与y转换成了符号(概念上)。

这就是SymPy库。

解二元一次方程功能实现

解方程的功能主要是使用Sympy中solve函数实现。

示例题目是:

fa64fb3c4f95fd176925bc1fd1c0f4e8.png

此处输入图片的描述

符号表示

方程中的符号

from sympy import *

x = Symbol('x')

y = Symbol('y')

或者

from sympy import *

x, y = symbols('x y')

第二个用空格隔开,下面代码中用x,y。括号里面的其实可以随意定义,因为是显示用。 比如:

x = Symbol('x1')

但考虑到易读性还是相同比较好。

方程表示

代码表示与手写还是有区别的,下面列出常用的:

加号 +

减号 -

除号 /

乘号 *

指数 **

对数 log()

e的指数次幂 exp()

对于长的表达式,如果不确定,就加小括号

题目中表达式可表示为:

2 * x - y - 3 = 0

3 * x + y - 7 = 0

由于需要将表达式都转化成右端等于0,这里把常数3和7移到等式左边。

利用solve函数解方程

在解决例子之前,我们先解决一个一元一次的方程。

x * 2 - 4 = 0

虽然很容易口算出来,我们还是要用solve函数

print solve(x * 2 - 4, x)

#result

#[2]

solve:第一个参数为要解的方程,要求右端等于0,第二个参数为要解的未知数。还有一些 其他的参数,想了解的可以去看官方文档。

下面进行例题求解:

solve([2 * x - y - 3, 3 * x + y - 7],[x, y])

完整代码为:

from sympy import *

x = Symbol('x')

y = Symbol('y')

print solve([2 * x - y - 3, 3 * x + y - 7],[x, y])

结果如下:

7f2ccf2248ed22cec2bbc83962c3c1b5.png

此处输入图片的描述

9fe1b3846d28c20ead50a598df44deed.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值