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

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

通過 scipy.interpolate.griddata 在 n 維網(wǎng)格上插值是不可能的

通過 scipy.interpolate.griddata 在 n 維網(wǎng)格上插值是不可能的

慕哥6287543 2022-01-18 16:16:20
我有一組稱為值的觀察值,它來自按以下方式定義的函數(shù):values = np.array([oscillatory(i) for i in range(points.shape[0])])values 的形狀為 (65,1),points 是一個數(shù)組,用于評估振蕩函數(shù),它的形狀為 (65,7),7 是在 7 維空間中充當(dāng)維度的一些特征(7 只是一個任意數(shù)字)。我試圖插入在這個空間中定義的一些任意點。我嘗試使用以下方法定義這些點:grid_x = np.random.uniform(0,10, (100,7))但它沒有用。顯然是因為網(wǎng)格沒有正確定義所以我嘗試過:grid_x= np.mgrid[-2:2, 5:99 , 4:5, 5:6, 5:7, 6:67, 7:67]這又不行了。我通過以下方式調(diào)用插值函數(shù):grid_z1 = gdd(points, values, tuple(grid_x))但是我總是遇到一個巨大的錯誤,我很難理解。奇怪的是,如果我以隨機(jī)方式定義點和值,代碼將起作用:points = np.random.uniform(0,10, (65,3))values = np.random.uniform(0,10,(points.shape[0],1))grid_x= np.mgrid[0:2, 5:9 , 4:5]grid_z1 = gdd(points, values, tuple(grid_x))這里我只是嘗試了 3 而不是 7,因為它更快,但原理保持不變。如果我在 7 個維度中定義它,代碼也可以工作。所以我的問題是:1)我怎樣才能讓我的初始代碼在 7 維中運行?2)如果數(shù)組具有相同的形狀,為什么隨機(jī)聲明與其他聲明相比有效?任何幫助將不勝感激。非常感謝你。
查看完整描述

1 回答

?
精慕HU

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

我認(rèn)為問題在于您需要確保您在維度數(shù)量以及這些維度的“域”方面保持一致。插入到未采樣的地方不會得到好的結(jié)果。我認(rèn)為您遇到的錯誤與嘗試在這些地方進(jìn)行計算有關(guān)。


以下是如何使 scipy.interpolate.griddata 文檔中的示例適用于 7 維示例。我正在使用一個更簡單的函數(shù),它只是對points數(shù)據(jù)中的“特征”求和:


import numpy as np


def func(data):

    return np.sum(data, axis=1)


grid = np.mgrid[0:1:5j, 0:1:5j, 0:1:5j, 0:1:5j, 0:1:5j, 0:1:5j, 0:1:5j]


points = np.random.rand(100, 7)

values = func(points)

請注意,網(wǎng)格覆蓋了坐標(biāo)的整個范圍points。也就是說,由于每一列的points值都在 0 到 1 的范圍內(nèi),我應(yīng)該確保在這些相同的坐標(biāo)上創(chuàng)建一個網(wǎng)格。


from scipy.interpolate import griddata

grid_z = griddata(points, values, tuple(grid), method='linear')

現(xiàn)在我有這個:


>>> grid_z[2, 2, 2, 2, 2, :, :]

array([[ nan,  nan,  nan,  nan,  nan],

       [ nan, 3.  , 3.25, 3.5 ,  nan],

       [ nan, 3.25, 3.5 , 3.75,  nan],

       [ nan, 3.5 , 3.75, 4.  ,  nan],

       [ nan,  nan,  nan,  nan,  nan]])

請注意,有很多 NaN。如果你使用nearestas 方法,你總會得到一個解決方案,但當(dāng)然linear插值需要兩個東西來插值,所以超立方體的“邊緣”是無效的(并且 7-D 空間有很多邊緣!) .


查看完整回答
反對 回復(fù) 2022-01-18
  • 1 回答
  • 0 關(guān)注
  • 513 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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