首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否需要矩阵函数梯度?

是否需要矩阵函数梯度?
EN

Stack Overflow用户
提问于 2022-02-24 13:49:44
回答 1查看 28关注 0票数 0

我无意中看到了数据的变化。在我看来,Matlab中的梯度函数对于某些输入有一个弱点。假设我有一个类似国际象棋的矩阵,并计算梯度:

代码语言:javascript
复制
matrix = repmat([1 5;5 1], 10, 10)
[Fx,Fy] = gradient(matrix);

在矩阵中,我们在两个方向上都有很多变化。但是由于梯度的行为,Fx和Fy只会包含除边界外的零。

这种行为是想要的吗?那么,使用diff()并通过填充实现输入和输出矩阵的大小是否总是更好呢?或者换句话说,使用梯度()代替diff()什么时候有用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-24 16:36:33

文档告诉use,gradient使用中心差异计算内部点的梯度,这解释了棋盘模式的行为。

此函数用于计算在常规网格上计算的函数的梯度。为了使梯度有意义,我们假定函数是可微的。但是中心差分(或任何有限差分格式)只有在函数采样足够密集的情况下才有意义,否则就会出现类似的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71253003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档