首页 > 其他分享 >使用不同边界的三阶样条拟合样本数据

使用不同边界的三阶样条拟合样本数据

时间:2023-10-15 17:44:28浏览次数:45  
标签:plt natural 样条 interp 三阶 knot 拟合 cs clamped

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

# 样本数据点(4.0,4.2),(4.3,5.7),(4.6,6,6),(5.3,4.8),(5.9,4,6)
x = np.array([4.0, 4.3, 4.6, 5.3, 5.9])
y = np.array([4.2, 5.7, 6.6, 4.8, 4.6])

# 确保第一个和最后一个数据点的y值相等,以满足周期边界条件
y[0] = y[-1]

# 创建三次样条插值对象
cs_natural = CubicSpline(x, y, bc_type='natural')  # 自然边界
cs_clamped = CubicSpline(x, y, bc_type='clamped')  # 固定边界
cs_not_a_knot = CubicSpline(x, y, bc_type='not-a-knot')  # 非节点边界条件

# 生成插值点
x_interp = np.linspace(4.0, 5.9, 100)
y_natural = cs_natural(x_interp)
y_clamped = cs_clamped(x_interp)
y_not_a_knot = cs_not_a_knot(x_interp)

plt.rcParams['font.sans-serif'] = ['SimHei']  # 设置字体为中文黑体
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示为方块的问题

# 绘制图形
plt.figure(figsize=(8, 6))
plt.plot(x, y, 'o', label='样本数据')
plt.plot(x_interp, y_natural, label='自然边界')
plt.plot(x_interp, y_clamped, label='固定边界')
plt.plot(x_interp, y_not_a_knot, label='非节点边界')

plt.legend()
plt.xlabel('X')
plt.ylabel('Y')
plt.title('三次样条插值')
plt.grid(True)
plt.show()

标签:plt,natural,样条,interp,三阶,knot,拟合,cs,clamped
From: https://www.cnblogs.com/jinbb/p/17765878.html

相关文章

  • Matlab-数据拟合子程序
    可自行设置拟合多项式形式直接调用即可调用格式:[PPb5_xi,PPb5_yi]=Poly_Drizzly(PPb5_x,PPb5_y);子程序:function[xi,yi]=Poly_Drizzly(x,y)%已知函数,'independent',自变量名,'coefficients',{变量名};f=fittype('d*PPb_x^3+c*PPb_x^2+a*PPb_x......
  • 不同宽度,厚度,重量,车间温度下,物料温度随时间而衰减的曲线不同,请使用python机器学
    要使用Python机器学习拟合物料温度随时间衰减的曲线,你可以遵循以下步骤:收集数据:首先,你需要收集不同宽度、厚度、重量和车间温度下的物料温度随时间的数据。确保数据集包含了足够的样本,以便于训练和测试机器学习模型。数据预处理:对数据进行预处理,包括数据清洗、缺失值处理和特征工程......
  • 实验1 线性拟合 冷却
    '''目标:拟合物料冷却规律分类变量:物料规格,冷却方式连续变量:温度,时间其他因素:车间温度现实因素:初始温度,初始时间需求因素:目标温度的时间,目标温度的时长(时间-初始时间),当前时间的温度不加入分类变量则为单个线性模型''''''实验1只有温度和时间每个物料的初始温......
  • 拟合不同的冷却方式(分类变量)下,物料温度加入两个分类变量, 物料类型和冷却方式, 给
    在机器学习中,拟合不同冷却方式下物料温度随时间下降的规律可以使用不同的算法和方法。以下是四种常见的方法,它们可以用来生成数据集、拟合模型、解释参数和输出函数方程,以及解释它们的实际意义。线性回归:方法:线性回归是一种用于拟合线性关系的方法,通过寻找最佳拟合直线来预测温度随......
  • 温度由分类变量和连续变量决定,请用python机器学习三种方法模拟生成数据并拟合
    要模拟生成数据并拟合温度(或任何其他目标变量),通常需要考虑以下步骤:生成特征数据:创建分类变量和连续变量,这些变量将用于预测温度。分类变量可以是例如季节、天气状况(晴天、雨天、多云等),而连续变量可以是例如湿度、风速等。生成目标数据:根据特征数据和某种关系生成目标变量(温度)的数据......
  • python,机器学习,代码,三种方法,拟合,物料的冷却规律:温度Y=f(时间X,物料类型A,冷却方
    python,机器学习,代码,三种方法,拟合,物料的冷却规律:温度Y=f(时间X,物料类型A,冷却方式B)+其他因素理解你的问题,你似乎正在探讨如何使用机器学习方法对物料的冷却规律进行拟合,考虑到时间、物料类型、冷却方式以及其他因素。在这里,我将提供一个基本的框架,介绍三种常见的机器学习方......
  • R语言用普通最小二乘OLS,广义相加模型GAM ,样条函数进行逻辑回归LOGISTIC分类|附代码数
    原文链接:http://tecdat.cn/?p=21379 原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于回归的研究报告,包括一些图形和统计输出。本文我们对逻辑回归和样条曲线进行介绍。logistic回归基于以下假设:给定协变量x,Y具有伯努利分布,  目的是估计参数β。回想一下,针对该......
  • 【DSP视频教程】第11期:插补算法,曲线拟合丝滑顺畅,统计函数和基础函数加速实现,汇集SIMD,
    视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519 DSP视频教程有段时间没有更新了。当前DSP库从CMSIS软件包里面独立出来,并且更新非常频繁,所以本期视频教程优先给大家简单介绍下新版DSP,然后为大家详细介绍了基础函数,统计函数和插补函数。其中基础函数里......
  • "deepleraning.ai" study Notes P51 为什么正则化可以减少过拟合
    #L2regulization*whatwehavedoneisaddaregularizationiteminthecostfunction*thecostfunctioninneuralnetworkwillbe  #whyisitthatshrinkingtheL2normortheparametersmightcauselessoverfitting?-------------------------------......
  • R语言lasso惩罚稀疏加法(相加)模型SPAM拟合非线性数据和可视化
    全文链接:https://tecdat.cn/?p=33462原文出处:拓端数据部落公众号本文将关注R语言中的LASSO(LeastAbsoluteShrinkageandSelectionOperator)惩罚稀疏加法模型(SparseAdditiveModel,简称SPAM)。SPAM是一种用于拟合非线性数据的强大工具,它可以通过估计非线性函数的加法组件来捕捉......