繁体   English   中英

Octave / MatLab中矩阵的梯度函数

[英]Gradient function on a matrix in Octave/MatLab

我正在尝试在Octave / Matlab中实现梯度下降算法。 我正好有一个名为errors 201x201矩阵,我假设它对应于2个输入变量函数f(x, y) 当与imagesc显示时,矩阵给出了一个很好的渐变图像,但是当我计算[dx, dy] = gradient(errors)时,我感到困惑。 我获得dxdy均为二维矩阵(201x201),而不是简单的矢量。 我假设,因为我们计算的是关于x(分别为y),y(分别为x)的偏导数,所以它将从运算结果中消失。 尽管我觉得我对函数梯度的工作原理有足够的了解,但是我很确定我会丢失一些东西。 预先感谢您的答复。

在此处输入图片说明

渐变存在于一个点。 您的gradient表达式正在评估所有201x201点的(数字)渐变。

因此,例如,在点(3,4)处的errors梯度为向量[dx(3,4), dy(3,4)]

此示例可能会有所帮助: https : //www.mathworks.com/help/matlab/ref/gradient.html#bvhqkfr请注意, gradient返回的信息如何足以绘制gradient的整个矢量场。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM