今天依旧是手动求导,代码白痴学习太难了,所以在这块还是耽误比较久的时间,今天的内容分享倒着来吧,先是lambda的匿名函数、然后是legend函数 mat画图和pytorch
lambda
首先是lambda函数 这个函数的作用是什么呢?他是通过输入一些东西 然后输出一些东西,距离论证:
lambda x,y:x/y //这个代表输入x和y的值,然后输出的是x/y 的值
lambda :none //这个表示没有输出,输出的是none
lambda :*args:sums(args) // 这表示输入任意位数的参数 输出他们的和
lambda **kwargs :1 // 输出任意绝对值的参数,输出为1
legend函数
这个是pytorch里的函数,表示什么意思呢 就是我们在matplotlib画图的时候 图片里的注释应该怎么加
比如 :
这个图左上角的两个备注 怎么显示 不是只用plt.legend()就可以显示出来的 需要用 plt.plot(x,y)这个语句中加入参数 后才可以使用上面的plt.legend()来使用 具体使用办法为
plt.plot(x,y,label = "y=x**2+2*x" ) plt.plot(x,y22,label = "切线") plt.legend(loc = 'best')
最后是本期的源码 手动求导 代码逻辑很清楚 有不懂的问就行
import numpy as np
import matplotlib.pyplot as plt
def f(x):
return x**2+2*x
def f_dao(x,f):
return (f(x+h)-f(x))/h
def tan_lin(f,x):
k = f_dao(x,f)
b = f(x) - k*x
return lambda t:k*t+b
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
h = 0.01
x = np.arange(0.1,10,0.1)
y = f(x)
tf = tan_lin(f,5)
y22 = tf(x)
plt.xlabel("“X轴")
plt.ylabel("Y轴")
#plt.title("函数切线")
plt.grid()
plt.plot(x,y,label = "y=x**2+2*x" )
plt.plot(x,y22,label = "切线")
plt.legend(loc = 'best')
plt.show()