qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

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

时间2023-08-30 20:46:39 提问来自 浙江省丽水市 的网友 分类创作 浏览274
您可以使用Python中的matplotlib库来实现这个需求。下面是一个示例代码,可以将图形窗口分成四个子图,并绘制出原始测量值和不同阶数多项式拟合后的曲线: ```python 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轴(强度)标签和子图名称。您可以根据实际数据进行修改和调整。

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 请分别采用一阶、二阶、三阶和四阶多项式对数据进行拟合; 下一篇 坐在火车上能写一首七言绝句吗