第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

優(yōu)化 numpy 網(wǎng)格創(chuàng)建以實(shí)現(xiàn)高效插值

優(yōu)化 numpy 網(wǎng)格創(chuàng)建以實(shí)現(xiàn)高效插值

我正在從文本文件中讀取磁場數(shù)據(jù)。我的目標(biāo)是正確有效地加載網(wǎng)格點(diǎn)(3 維)和相關(guān)字段(為簡單起見,我將在下面假設(shè)我有一個(gè)標(biāo)量場)。我設(shè)法讓它工作,但是我覺得有些步驟可能沒有必要。特別是,閱讀numpy文檔可能是“廣播”將能夠發(fā)揮其魔力對我有利。import numpy as npfrom scipy import interpolate# Loaded from a text file, here the sampling over each dimension is identical but it is not requiredx = np.array([-1.0, -0.5, 0.0, 0.5, 1.0])y = np.array([-1.0, -0.5, 0.0, 0.5, 1.0])z = np.array([-1.0, -0.5, 0.0, 0.5, 1.0])# Create a mesh explicitelymx, my, mz = np.meshgrid(x, y, z, indexing='ij')  # I have to switch from 'xy' to 'ij'# These 3 lines seem oddmx = mx.reshape(np.prod(mx.shape))my = my.reshape(np.prod(my.shape))mz = mz.reshape(np.prod(mz.shape))# Loaded from a text filefield = np.random.rand(len(mx))# Put it all togetherdata = np.array([mx, my, mz, field]).T# Interpolateinterpolation_points = np.array([[0, 0, 0]])interpolate.griddata(data[:, 0:3], data[:, 3], interpolation_points, method='linear')真的有必要像這樣構(gòu)造網(wǎng)格嗎?有沒有可能讓它更有效率?
查看完整描述

1 回答

?
慕仙森

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊

這是一個(gè)直接從中broadcasted-assignment生成并因此避免創(chuàng)建所有網(wǎng)格網(wǎng)格的內(nèi)存開銷的方法,并有望帶來更好的性能-datax,y,z


m,n,r = len(x),len(y),len(z)

out = np.empty((m,n,r,4))

out[...,0]  = x[:,None,None]

out[...,1]  = y[:,None]

out[...,2]  = z

out[...,3]  = np.random.rand(m,n,r)

data_out = out.reshape(-1,out.shape[-1])


查看完整回答
反對 回復(fù) 2021-12-08
  • 1 回答
  • 0 關(guān)注
  • 251 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號