中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

SciPy中怎么進行樣條曲線和曲面擬合

小億
152
2024-05-25 12:56:15
欄目: 編程語言

在SciPy中,可以使用scipy.interpolate模塊中的UnivariateSpline類來進行樣條曲線擬合,使用scipy.interpolate模塊中的RectBivariateSpline類來進行曲面擬合。

下面是一個使用UnivariateSpline類進行樣條曲線擬合的示例:

import numpy as np
from scipy.interpolate import UnivariateSpline
import matplotlib.pyplot as plt

# 生成一些隨機數據
x = np.linspace(0, 10, 50)
y = np.sin(x) + np.random.normal(0, 0.1, 50)

# 使用UnivariateSpline進行樣條曲線擬合
spline = UnivariateSpline(x, y)

# 繪制原始數據和擬合曲線
plt.scatter(x, y, color='red', label='Original data')
plt.plot(x, spline(x), color='blue', label='Spline fit')
plt.legend()
plt.show()

下面是一個使用RectBivariateSpline類進行曲面擬合的示例:

import numpy as np
from scipy.interpolate import RectBivariateSpline
import matplotlib.pyplot as plt

# 生成一些隨機數據
x = np.linspace(0, 10, 50)
y = np.linspace(0, 10, 50)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) * np.cos(Y) + np.random.normal(0, 0.1, (50, 50))

# 使用RectBivariateSpline進行曲面擬合
spline = RectBivariateSpline(x, y, Z)

# 繪制原始數據和擬合曲面
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X, Y, Z, color='red', label='Original data')
X_new, Y_new = np.meshgrid(np.linspace(0, 10, 100), np.linspace(0, 10, 100))
Z_new = spline(X_new, Y_new)
ax.plot_surface(X_new, Y_new, Z_new, color='blue', label='Surface fit')
plt.legend()
plt.show()

通過以上示例,您可以使用SciPy中的樣條曲線和曲面擬合功能進行數據擬合。

0
保德县| 汪清县| 白沙| 乌海市| 理塘县| 新宁县| 博罗县| 扎赉特旗| 汉阴县| 咸宁市| 汾西县| 淳化县| 平邑县| 莎车县| 蒙城县| 北辰区| 新昌县| 大冶市| 黄龙县| 靖边县| 长子县| 肥乡县| 永泰县| 郓城县| 红安县| 南召县| 安阳市| 厦门市| 西青区| 乌兰县| 呈贡县| 辰溪县| 宜黄县| 孝义市| 德令哈市| 高密市| 余干县| 霍州市| 吴旗县| 怀宁县| 鲁甸县|