MATLAB计算与建模常见函数:5.曲线拟合

曲线拟合

  • 数据插值,根据原始数据获取待查询点的结果,要求原始数据是精确的,或具有较小的误差;
  • 在科学和工程领域,常出现数据含噪声或误差的情况 ;曲线拟合的主要功能是寻求平滑的曲线来最好地表现带有噪声的测量数据,从这些测量数据中寻求两个函数变量之间的关系或者变化趋势,最后得到曲线拟合的函数表达式y=f(x):
  • 在进行曲线拟合的时候,已经认为所有测量数据中包含噪声,因此,最后的拟合曲线并不要求通过每一个已知数据点,衡量拟合数据的标准则是整体数据拟合的误差最小

什么是曲线批合

  • 曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测、实验等离散数据,并可以用拟合的曲线方程分析两个变量间的关系;适用范围内给定数据意外的数据点也可以通过曲线方程进行计算;
  • MATLAB可以使用多种函数 对数据点进行曲线拟合,如:多项式拟合、指数函数
    拟合、三角函数拟合、对数函数等等;
  • 一般情况下,MATLAB的曲线拟合方法用的是"最小方差"函数 ,其中方差的数
    值是拟合曲线和已知数据之间的垂直距离

多项式批合函数

p=polyfit(x,y,n)

  • 返回次数为n的多项式p(x)的系数 ,该阶数是y中数据的最佳拟合(在最小二乘方式中);
  • p中的系数按降幂排列长度为n+l,即:p(x)=p1*x^n+p2*x^(n-1)+...+pn*x+pn+1;

[p,S]=polyfit(x,y,n)

  • S为一个结构体,可用作polyval的输入来获取误差估计值

[p,S,mu]=polyfit(x,y,n)

  • mu为一个二元素向量,包含中心化值和缩放值;
  • mu(1)是mean(x),mu(2)是std(x);(mean:平均值,std:标准差)
  • 使用这些值时,polyfit将x的中心置于零值处并缩放具体单位标准差

例子:

matlab 复制代码
x = linspace(0,4*pi,100);
y0 = sin(x);

p1 = polyfit(x,y0,5);
y1 = polyval(p1,x);

p2 = polyfit(x,y0,7);
y2 = polyval(p2,x);

plot(x,y0,'b-')
hold on
plot(x,y1,'r-')
plot(x,y2,'g-')
legend('Original Data','Degree 5','Degree 10')

MATLAB曲线拟合工具箱-curve fitting

相关推荐
serve the people7 分钟前
神经网络中梯度计算求和公式求导问题
神经网络·算法·机器学习
闻缺陷则喜何志丹13 分钟前
【二分查找、滑动窗口】P10389 [蓝桥杯 2024 省 A] 成绩统计|普及+
c++·算法·蓝桥杯·二分查找·滑动窗口·洛谷·成绩
大数据追光猿17 分钟前
【大模型技术】LlamaFactory 的原理解析与应用
人工智能·python·机器学习·docker·语言模型·github·transformer
乔冠宇1 小时前
蓝桥杯算法——铠甲合体
算法·职场和发展·蓝桥杯
商bol451 小时前
算阶,jdk和idea的安装
数据结构·c++·算法
迷迭所归处1 小时前
C语言 —— 愿文明如薪火般灿烂 - 函数递归
c语言·开发语言·算法
神秘的土鸡1 小时前
如何在WPS中接入DeepSeek并使用OfficeAI助手(超细!成功版本)
人工智能·机器学习·自然语言处理·数据分析·llama·wps
潘达斯奈基~2 小时前
机器学习4-PCA降维
人工智能·深度学习·机器学习
終不似少年遊*2 小时前
综合使用pandas、numpy、matplotlib、seaborn库做数据分析、挖掘、可视化项目
开发语言·python·机器学习·numpy·pandas·matplotlib·seaborn
CS创新实验室3 小时前
《机器学习数学基础》补充资料:过渡矩阵和坐标变换推导
人工智能·机器学习·矩阵·机器学习数学基础