当我运行下面的代码时 (24, 170, 180) (29559,)
作为我打印语句的答案(打印数组的形状)。 我使用的原始数据集的形状是(24170180)。因此,当前数据集dataArr的维数为170*180。我将时间t=10(这里的维数为24)固定为一个值,并将二维数组和单元格(四个数据点-I,ji+1,j,I,j+1,I+1,j+1)迭代为一个值并附加到自拍数组。所以我应该得到自拍阵列为170*180。但是结果集有29904个值。为什么我得到这个值?你知道吗
def compute(self,varval):
vars=self.data.variables
for var in vars:
if var==varval:
ntimes, ny, nx=vars[var].shape #inherit the method above.
print(ntimes, ny, nx)
#create the old computational grid.
computational_grid=np.zeros((ny,nx),dtype=int)
fraction=.5
newnx,newny =(nx*fraction,ny*fraction)
new_computational_grid=np.zeros((newny,newnx),dtype=int)
phy_value_arr=self.get_data(varval)
t=10 #send this t value with coords
dataArr=self.data.variables['tos'][t]
for j in range(1,(nx-2),1):
for i in range(1,(ny-2),1):
a=self.Lerp((dataArr[i][j+1]),(dataArr[i+1][j+1]),fraction)
b=self.Lerp((dataArr[i][j]),(dataArr[i+1][j]),fraction)
self.tempY.append(self.Lerp(a,b,fraction))
smallgridarray = np.asarray(self.tempY)
print(smallgridarray.shape)
def Lerp(self, _a, _b, _t) :
return _a+(_b-_a)*_t
好吧,我知道为什么了!这是我从nx-2*ny-2得到的正确点数 i、 东经:168*178
相关问题 更多 >
编程相关推荐