gpt4 book ai didi

python - 2D 数组的 Numpy 梯度

转载 作者:行者123 更新时间:2023-12-01 01:49:29 29 4
gpt4 key购买 nike

我有一个 2D 数组正弦模式,想要绘制该函数的 x 和 y 梯度。我有一个二维数组 image_data :

def get_image(params):
# do some maths on params
return(image)

params = (a, b, c)
image_data = get_image(params)

我使用numpy.gradient获取渐变:

gradients = numpy.gradient(image_data)
x_grad = gradients[0]
y_grad = gradients[1]

绘制所有三个看起来像:

gradients

该图案不是 45 度。我希望 x 和 y 梯度不同。在我心里x_gradient[i][j]应该是image_data[i][j]的梯度相对于两侧的索引和 y_gradient[i][j]相对于上方和下方索引的梯度。由于图案稍微倾斜,在 image_data 中梯度以不同的速率变化。

我是否误解了我的数据或不理解numpy.gradient输出?

最佳答案

我不知道为什么你认为渐变应该不同。但是给定函数的梯度形状应该具有相同的形状和不同的级别。我们来分析一下:

partial derivatives

所以你可以看到它们都有相同的形状。添加颜色级别,您就会看到差异。

关于python - 2D 数组的 Numpy 梯度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50875021/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com