2
我在該輪廓數據中進行線性插值並在其之後。對於計算我使用浮點型,因爲我不知道輸入數據將有多少小數。有時它可能不是小數,有時是一個或多於十個。沒有浮動僞影的輪廓
不幸的是因爲插值後使用浮點數並繪製相同值的輪廓,我得到不需要的工件。我該如何解決我的代碼不會產生不應該出現輪廓的輪廓?
簡單的代碼示例:
import numpy as np
from scipy.interpolate import griddata
import matplotlib.pyplot as plt
interval_in = np.linspace(1, 100, 10)
interval_out = np.linspace(1, 100, 100)
xin, yin = np.meshgrid(interval_in, interval_in)
zin = np.ones((10, 10))*10
xout, yout = np.meshgrid(interval_out, interval_out)
zout = griddata((xin.flatten(),yin.flatten()),zin.flatten(),(xout,yout),method='linear')
contours = plt.contour(xout, yout, zout, levels=[10])
plt.show()
謝謝你,我知道它是浮動的問題。在問這個問題之前,我嘗試了整數相同的代碼,它根本沒有創建工件。我的問題是,雖然我不能簡單地舍入到小數點後三位,因爲在某些情況下,我的輪廓輸入值類似於0.0000001到0.0000002,輪廓間隔足以滿足它。但再想一想,我想我可以根據輸入值的最小值/最大值使用四捨五入到合適的小數位數。 – Miro
其實我想我可以簡單地在我的代碼中四捨五入到小數點後12位,只是爲了擺脫浮點問題。這會爲我做。謝謝。 – Miro