您的位置 首页 > 数码极客

微分方程如何写成矩阵、矩阵的微分方程

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

本项目由AlbertWY发布在实验楼,完整教程及在线练习地址:

一、知识点

所需知识

  • python基础知识

将学到的知识

  • 如何用SymPy库解线性方程组

  • 如何用SymPy库解微积分相关习题(极限与积分)

  • 如何用SymPy库解微分方程

  • 如何用SymPy库化简矩阵

二、实验环境

操作系统 : Ubuntu 14.04

所需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库。 使用

sudo pip install sympy

安装即可。

如果没有用sudo会导致权限不足问题。

解二元一次方程功能实现

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

示例题目是:

符号表示

方程中的符号

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 = 03 * 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])

结果如下:

麻麻,我跟正确答案一样哦~

总结

上文简单介绍了SymPy库,和用SymPy库解决了初中的数学题——线性方程组,接下来可以去学习如何解决更难的数学题——微积分及矩阵化简相关习题。实验楼)为本教程提供了免费的在线练习环境。微信关注公众号[实验楼],手机查看海量项目教程。

实验2 解微积分相关习题实现

实验3 解微分方程与矩阵化简的实现

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“微分方程如何写成矩阵,矩阵的微分方程,微分方程写成矩阵形式,微分方程写成矩阵形式C,微分方程写成矩阵向量”边界阅读