通过python用超级简单和基本的方法实现求导数

直接利用数学中导数的定义就行

代码实现就是

MIN=1e-9            #一个足够小的数

import numpy as np
def f_yuan(x_2):
    y_2=x_2**2        #这里的函数可以改
    return y_2
def F_daoshu_yuan(x_1):
    a_1=(f_yuan(x_1+MIN)-f_yuan(x_1))/MIN
    return a_1

A_1=F_daoshu_yuan(1)
print(A_1)
print("*******************************************")
A_2=F_daoshu_yuan(10)
print(A_2)
print("*******************************************")
A_3=F_daoshu_yuan(1000)
print(A_3)
print("*******************************************")
A_4=F_daoshu_yuan(10000)
print(A_4)
print("*******************************************")



# 2.000000165480742
# *******************************************
# 20.00000165480742
# *******************************************
# 2000.0152289867399
# *******************************************
# 20012.259483337402
# *******************************************
# 
# 进程已结束,退出代码0

优缺点

优点是泛用性非常好,也十分好理解,在合适的范围,函数可以变得不规则,但是依旧可以求出导数的大约值,并不会与真实值差的很多

缺点很明显在数据十分大的时候误差也会越来越大,原因就是MIN的值还是太大了。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木木em哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值