我有以下代码和绘图:
import numpy as np
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
def func(x, y):
return x*(1-x)*np.cos(4*np.pi*x) * np.sin(4*np.pi*y**2)**2
grid_x, grid_y = np.mgrid[0:1:200j, 0:1:200j]
rng = np.random.default_rng()
points = rng.random((1000, 2))
values = func(points[:,0], points[:,1])
grid_z = griddata(points, values, (grid_x, grid_y), method='linear')
plt.xlabel("Degrees")
plt.ylabel("Degrees")
plt.imshow(grid_z, extent=(-0.5,0.5,-0.5,0.5), origin='lower')
我想提取圆心半径为0.25°的圆形区域内所有点的平均值,在上述图中居中
谢谢你的帮助
你需要做的第一件事就是给你的圆加上一个布尔掩码。 然后您可以将其应用于
grid_z
,以分离圆内的所有值并计算其平均值更好的方法是直接在
grid_x
和grid_y
上使用掩码,仅在需要的点上插值函数相关问题 更多 >
编程相关推荐