python-3.x - 使用python近似梯度
问题描述
我试图解决以下问题。
对于梯度的计算,我们不得不使用近似计算:
我尝试为 R^4 的规范基础的每个向量 e 求解它,并使用 h = 1e-05 例如。
但是,我为 R^2 做了一个示例,但我不确定我的代码是否适合这种情况,我需要更改图片中公式的代码。
def f(x,y):
return np.sin(x)+np.cos(y)
def derivative(func, vx, h):
e = np.array([[1,0],[0,1]]) #Basis canonique of R^2
x = vx[0]
y = vx[1]
dx=(func(x + e[0]*h,y) - func(x,y)) / h #directional derivative in x
dy=(func(x ,y+e[1]*h) - func(x,y)) / h #directional derivative in y
grad = np.array([dx[0],dy[1]])
return grad
vx=np.array([np.pi,1])
derivative(f,vx,h)
此代码的结果:
In [150]: derivative(f,vx,h)
Out[150]: array([-1. , -0.84147369])
我有点困惑如何解决这个问题,但我希望能得到一些帮助来修复我迄今为止生成的代码。谢谢!
解决方案
查看第 4.6 节 - 以下文本的方程组:
推荐阅读
- c# - 如果使用 Validator,try-catch 会变得无关紧要吗?
- google-cloud-build - 有没有办法在构建 Google Cloud Build 期间获取 Github Pull Request 编号?
- c++ - 放宽对枚举类和布尔模板参数的 constexpr 要求
- ios - 当我点击它们时,TextFields 没有响应!好像是粘在一起的还是什么的?
- c - 将两个别名传递给“typedef struct”是什么意思?
- javascript - 如何修复 firebase.auth().signInWithEmailAndPassword() 方法中的错误“未定义和错误消息:this.f 不是构造函数”?
- java - 将使用 radiogroup 做出的选择转移到另一个意图
- components - 在 Angular 8 中创建组件时,如何解决“检测到无效格式版本 - 预期:[1] 找到:[3]”错误?
- javascript - innerHTML 在 android 的本机代码中返回未定义
- javascript - 回文检查器需要帮助