亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Python SymPy庫數學方程問題——線性方程組篇

標簽:
Python Linux

慕课网的小伙伴们!说到数学题,相信大家都不陌生,从小学到大学都跟数学打交道。其中初中的方程组,高中的二次曲线,大学的微积分最为头疼,今天我们将使用python 来解决方程组问题,微积分问题,矩阵化简。
这里我的本机的操作系统是 Ubuntu 14.04 文本编辑器是vim ,在交互环境下解释器使用的IPython,因为Python 是跨平台的,既可以在Mac OS下也可以在Windows下运行,因为这里我们学习的是Python科学计算方面的内容,Windows环境下的朋友建议安装Python(x,y)
简单介绍一下要用到SymPy库。

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

sudo pip install sympy

解二元一次方程功能实现

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

导入sympy库
命名变量x y

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

print solve(x * 2 - 4, x)
#result
#[2]

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

下面进行例题求解:

from sympy import *
x = Symbol('x')
y = Symbol('y')
print solve([2 * x - y - 3, 3 * x + y - 7],[x, y])

结果为:

{x:2,y:1}

通过解方程组可知:最终结果x=2,y=1
总结

上文简单介绍了SymPy库,和用SymPy库解决了初中的数学题——线性方程组,下一次我们会介绍如何解决更难的数学题——微积分相关习题,敬请期待,谢谢!

點擊查看更多內容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消