• 欢迎访问GanAHE的小创元世纪,技术交流与资源分享,欢迎加入GanAHE的小创元世纪🤪 微信公众号:星辰换日
  • 电影、教程、软件等分享资源请在本站或微信公众号合作平台:【星辰换日】获取。
  • 首页展示个人参与或独立开发的产品,更多功能在建中......🙆🏼天王盖地虎
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏本站吧🥺
  • 注册采用有效的邮箱,有助于及时收到评论回复、最新资源以及活动通知哟~✔🥳
  • 目前在逐渐打通微信小程序与网站之前的间隔~💻🏢

【python与高等数学专题 二】使用Python的sympy库求解N阶导函数及对应点的导数值

Uncategorized GanAHE 8个月前 (09-08) 11次浏览 已收录 0个评论
文章目录[隐藏]

title: 【python与高等数学专题 二】使用Python的sympy库求解N阶导函数及对应点的导数值
type: categories
copyright: true
categories: Python
tags:

  • Python
  • 高等数学
  • 图像绘制与可视化
  • matplotlib
  • 考研数学工具
    comments: true
    top: false
    abbrlink: 976c4b7f
    date: 2020-08-06 21:10:49
    updated:

如何用Python对一个函数求导?

(1)背景与介绍

如何证明自己解算出来的函数导数是正确的?
仅靠手工计算你无法确定导数的答案是否正确,不过我们可以用Python编写数学库来验证它。

(2)导数基本概念框架思维导图

导数的基本概念如下图:

(3)实例

(3.1)Ex. 1

让我们对这个函数求导,并计算当xo = 1时的导数值。

让我们来画一下函数图(如果不知道如何绘制函数图,请参照文章):

通过推算,我们知道这个函数的微分解算如下:

利用Smypy去解算,代码如下:

#!usr/bin/env python
# -*- conding:utf-8 -*-

# import the Lib
from sympy import *
import matplotlib.pyplot as plt

# define a function to caculate
# we can use the function to derivative the 
# function what you want to solve
def derivative(draw = False):
    """
    derivate
    @para draw: Bool,plot function or not
    """
    x,f = symbols("x,f")
    dx = 1
    # define a function which will be derivatived
    f = log(1+exp(x**2))
    print("the derivative of function :",diff(f,x))
    if dx != None:
        print("the value of derivative in xo (xo = {}):{}".format(dx,f.evalf(subs ={'x':dx})))
    if draw:
        ezplot = lambda expr:plot_implicit(sympify(expr))
        ezplot(f)

调用求导函数 : derivative(False) 得到如下结果:

将原函数与导函数一起绘制出来如下图所示:

(3.2)Ex. 2

在默认解中我们可以得到一阶导数。当我们需要求高阶导数时,可以通过下面的代码获得更高阶次的导数:

#!usr/bin/env python
# -*- conding:utf-8 -*-

# import the Lib
from sympy import *
import matplotlib.pyplot as plt

# define a function to caculate
# we can use the function to derivative the 
# function what you want to solve
def derivative(draw = False):
    """
    derivate
    @para draw: Bool,plot function or not
    """
    x,f = symbols("x,f")
    dx = 1
    # define a function which will be derivatived
     n = 2
    f = x**3
    print("the derivative ({}) of function :{}".format(n,diff(f,x,n)))
    if dx != None:
        print("the value of derivative in xo (xo = {}):{}".format(dx,f.evalf(subs ={'x':dx})))
    if draw:
        ezplot = lambda expr:plot_implicit(sympify(expr))
        ezplot(f)

for example, We will take the second derivative of function: y = x^3 :

(4)Confusing Things

我试图在 Sympy 代码中显示求导后的函数图,但失败了。

    if draw:
        ezplot = lambda expr:plot_implicit(sympify(expr))
        ezplot(f)

你会发现画布上什么都没有。显然,我的代码有很多问题,所以如果大佬有其他正确的写法,可以在评论中提交你正确的代码。


GanAHE 的小创元世纪, 版权所有丨如未注明 , 均为原创丨本网站采用@BY-NC-SA协议进行授权
转载请注明原文链接:【python与高等数学专题 二】使用Python的sympy库求解N阶导函数及对应点的导数值
喜欢 (0)
[WeChat]
分享 (0)
关于作者:
网站的建设与维护者、DGZC的守护者
0 0 评分
都看完了,打个分儿叭~
通知
提醒
0 评论
内部反馈
显示所有评论
0
有什么想法吗,快来留下你的评论吧!x
()
x