python scipy.misc derivative_为什么Scipy.misc.导数给出错误答案Python

我试着画一个分段函数的导数。在

{1美元^

我算出了导数存在的数学,一切都应该是好的,我想看看在“奇点”发生了什么,但我得到:

“x=0”处的奇点

XSTeV.png

与我的期望相反:

我期望的那种结果

cbee52951e859014125459bf3e492370.png

我的代码:from scipy.misc import derivative as deriv

import numpy as np

import pylab as pyl

def f(x): # Define piecewise function

if x != 0:

h = np.power(x, -1)

return x**2 * np.sin(h)

elif x == 0:

return 0

vf = np.vectorize(f) # Vectorize function to use "deriv"

x = np.linspace(-1, 1, num=10 ** 5) # Make 'x' continuous parameter

x = np.sort(np.append(x, [0])) # Make sure 'x' contains '0'

def d(x): return deriv(vf, x) # Define derivative of 'f' respect to 'x'

print('0, ' + str(d(0))) # Derivative at '0'

pyl.plot(x, vf(x), 'b-') # Plot functions

pyl.plot(x, d(x), 'C4')

pyl.scatter(0, d(0), c='r0')

pyl.grid()

pyl.show() # Display graphically

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值