Python应用 | 求解微积分!

作者: 14e61d025165 | 来源:发表于2019-07-14 14:36 被阅读4次

请计算下列函数的微分:

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031218 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

Python资源共享群:484031800

这是高等数学第七版(上册),121页的一道微分计算题。你能计算出它的答案吗?

如果我告诉你,在python中只需要一行代码就可以得到答案,你相信吗?

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031224 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

你的计算结果和我的一致吗?

高等数学是很多理工类专业必修的课程之一,一般要求都在大一期间完成。 而高等数学中最为精彩的部分就是微积分,同时微积分是现代工程技术的基础,也是后续从事科学研究的根基。 微积分主要包含两个部分: 微分和积分。 但是高等数学对于很多大学生来说都是异常的枯燥,能不能让微积分变得有趣起来呢? 是不是可以通过编程的方式来进行复杂微积分的计算呢? 本文将为大家介绍利用python来实现微积分的计算,让微积分的学习不再枯燥。

python用来计算微积分的库主要用的是sympy库,所以首先需要安装第三方库。可以通过包管理软件pip轻松完成安装,命令为:

<pre spellcheck="false" style="box-sizing: border-box; margin: 5px 0px; padding: 5px 10px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; font-size: 16px; line-height: inherit; font-family: inherit; vertical-align: baseline; cursor: text; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; background-color: rgb(240, 240, 240); border-radius: 3px; white-space: pre-wrap; color: rgb(34, 34, 34); letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">pip install sympy
</pre>

接下来将为大家介绍sympy库的基本用法,首先导入sympy库的所有函数。 sympy库与其他的科学计算库有很大的区别,这是一个可以直接进行符号运算的库,非常的方便。

from sympy import *

x为符号变量

x = symbols('x')

本文主要介绍如何求微分。

求微分即求导数使用的函数是diff(),其用法非常的简单。

1. python求解一阶微分

这是对

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031228" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

进行微分计算,代码如下所示:

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031234 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

2. python求解多阶微分

高等数学中经常需要求一阶微分、二阶微分等多阶微分,如何实现?

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031238 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

后面跟上两个x即可,但是也有更加简洁的写法:

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031241 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

以上就是求二阶和四阶微分,是不是很方便。

3. python求解多变量微分

<tt-image data-tteditor-tag="tteditorTag" contenteditable="false" class="syl1563086031244 ql-align-center" data-render-status="finished" data-syl-blot="image" style="box-sizing: border-box; cursor: text; text-align: left; color: rgb(34, 34, 34); font-family: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "Helvetica Neue", Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: pre-wrap; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: block;"> image

<input class="pgc-img-caption-ipt" placeholder="图片描述(最多50字)" value="" style="box-sizing: border-box; outline: 0px; color: rgb(102, 102, 102); position: absolute; left: 187.5px; transform: translateX(-50%); padding: 6px 7px; max-width: 100%; width: 375px; text-align: center; cursor: text; font-size: 12px; line-height: 1.5; background-color: rgb(255, 255, 255); background-image: none; border: 0px solid rgb(217, 217, 217); border-radius: 4px; transition: all 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;"></tt-image>

多变量的微分计算,首先需要定义多个符号变量即x,y,z,然后下一步就可以按照之前的方式进行微分计算。

本文为大家介绍了利用sympy求微分,后面文章将持续为大家介绍如何求解积分、极限等复杂的高数。

还在等什么,赶快下载试用 吧,感受python的魅力,感受微积分带来的不一样的感觉,另外很多复杂的高数习题都可以通过编程轻松得到结果哦。

相关文章

  • Python应用 | 求解微积分!

    请计算下列函数的微分: Python资源共享群:484031800 这是高等数学第七版(上...

  • 利用python的sympy求解微积分

    前言 一般的数学算式math就可以解决了,但是涉及到极限,微积分等知识,math就不行了,程序中无法用符号表示出来...

  • 一个教科书没提到的积分求解办法

    有学过微积分的读者,不妨先尝试求下面这个定积分: 或许很快就会发现,微积分教科书里面提到的几个积分求解办法,包括换...

  • 计算1到100的和

    利用递归求解 用 最笨的方法求解: 用python牛逼的sum求解: 用奇偶相加求解:

  • 用python算微积分及牛顿迭代求解高阶方程

    前段时间,工作中遇到了一个难题,网上查了很多资料也没有明确的解决方案,后来自己想到一种解决方法,决定分享出来。下面...

  • 1两数之和2020-07-18

    Python 方法一:用 Python 中 list 的相关函数求解num2 = target - num1,是否...

  • 4款微积分应用程序推荐

    这些微积分应用程序为学习导数、积分、求极限等等的人提供了很多东西。它们可以帮助你准备高中考试,准备AP微积分考试,...

  • TwoSum python求解

    leetcode 算法题,传送门例子: 乍一看,没有经验的一定会用到两重循环,比如这样: 但是如果有经验的人就会思...

  • python方程求解

    [Pythonによる科学・技術計算] 方程式の解を求める 解析解 sympy如果没有sympy,先安装:pip i...

  • 微积分

    可能是最好的微积分课程了(微积分入门到应用) P5 2.函數 vs 微分 微分:瞬间变化率,一定是比率。 ,平均速...

网友评论

    本文标题:Python应用 | 求解微积分!

    本文链接:https://www.haomeiwen.com/subject/oqgbkctx.html