aiaiask.com©

开花即结果 提问即答案

"四阶多项式拟合效果对比:分图展示各阶次拟合曲线"
原始问题:

"四阶多项式拟合效果对比:分图展示各阶次拟合曲线"

您可以使用Python中的matplotlib库来实现这个需求。下面是一个示例代码,可以将图形窗口分成四个子图,并绘制出原始测量值和不同阶数多项式拟合后的曲线:

import numpy as np
import matplotlib.pyplot as plt

# 原始测量值
x = np.array([1, 2, 3, 4, 5])
y = np.array([2, 4, 6, 8, 10])

# 多项式拟合
poly_degrees = [1, 2, 3, 4]  # 不同阶数的多项式
x_fit = np.linspace(x.min(), x.max(), 100)  # 拟合曲线的x值范围

fig, axs = plt.subplots(2, 2, figsize=(10, 8))  # 创建一个2x2的图形窗口

# 子图1:一阶多项式拟合曲线
axs[0, 0].scatter(x, y, label='原始测量值')
coeffs = np.polyfit(x, y, 1)
y_fit = np.polyval(coeffs, x_fit)
axs[0, 0].plot(x_fit, y_fit, 'r', label='一阶多项式拟合曲线')
axs[0, 0].set_xlabel('时间')
axs[0, 0].set_ylabel('强度')
axs[0, 0].set_title('一阶多项式拟合曲线')
axs[0, 0].legend()

# 子图2:二阶多项式拟合曲线
axs[0, 1].scatter(x, y, label='原始测量值')
coeffs = np.polyfit(x, y, 2)
y_fit = np.polyval(coeffs, x_fit)
axs[0, 1].plot(x_fit, y_fit, 'g', label='二阶多项式拟合曲线')
axs[0, 1].set_xlabel('时间')
axs[0, 1].set_ylabel('强度')
axs[0, 1].set_title('二阶多项式拟合曲线')
axs[0, 1].legend()

# 子图3:三阶多项式拟合曲线
axs[1, 0].scatter(x, y, label='原始测量值')
coeffs = np.polyfit(x, y, 3)
y_fit = np.polyval(coeffs, x_fit)
axs[1, 0].plot(x_fit, y_fit, 'b', label='三阶多项式拟合曲线')
axs[1, 0].set_xlabel('时间')
axs[1, 0].set_ylabel('强度')
axs[1, 0].set_title('三阶多项式拟合曲线')
axs[1, 0].legend()

# 子图4:四阶多项式拟合曲线
axs[1, 1].scatter(x, y, label='原始测量值')
coeffs = np.polyfit(x, y, 4)
y_fit = np.polyval(coeffs, x_fit)
axs[1, 1].plot(x_fit, y_fit, 'm', label='四阶多项式拟合曲线')
axs[1, 1].set_xlabel('时间')
axs[1, 1].set_ylabel('强度')
axs[1, 1].set_title('四阶多项式拟合曲线')
axs[1, 1].legend()

plt.tight_layout()  # 调整子图之间的间距
plt.show()

这段代码会生成一个包含四个子图的图形窗口,每个子图上都有原始测量值和对应阶数多项式拟合后的曲线。每个子图都有x轴(时间)、y轴(强度)标签和子图名称。您可以根据实际数据进行修改和调整。

"四阶多项式拟合效果对比:分图展示各阶次拟合曲线"
https://www.aiaiask.com/ask/45597.html
AI / 模型Siliconflow
时间 / DATEAugust 30, 2023, 8:46 PM
语言zh-CN
IP / 区域浙江 丽水