1 参考链接
多项式曲线拟合 - MATLAB polyfit - MathWorks 中国
Chenglin Li:数值计算(三十七)给定函数的参数拟合
Chenglin Li:数值计算(五)Lagrange分段线性插值
Chenglin Li:数值计算(六)Lagrange分段二次差值
Chenglin Li:数值计算(六十一)一维插值函数
2 拟合结果
3 相关程序
function Fitting201201()
%UNTITLED2 此处显示有关此函数的摘要
% 此处显示详细说明
%{
程序功能:
1、拉曼光谱数据的多项式数据拟合
2、参考链接:
多项式曲线拟合 - MATLAB polyfit - MathWorks 中国
https://ww2.mathworks.cn/help/matlab/ref/polyfit.html
%}
clear,clc,close all
load('kqsl.mat') %载入原始数据
N=length(x);
j=1;
for i=1:N
if( x(i)>=0 && x(i)<=800) %数据筛选范围
xi(j)=x(i);
yi(j)=y(i);
j=j+1;
end
end
plot(xi, yi, 'bo') %筛选后的原始数据绘图
hold on
n=7; %拟合多项式最高次幂
% [p, S, mu] = polyfit(xi, yi, n); %拟合函数
[p, ~, mu] = polyfit(xi, yi, n); %拟合函数
%计算以 p 为系数的一次多项式在 x 中各点处的拟合值。
% 将误差估计结构体指定为第三个输入,以便 polyval 计算标准误差的估计值。
% 标准误差估计值在 delta 中返回。
% [y_fit,delta] = polyval(p,x,mu);
y_fit= polyval(p, xi, [ ], mu);
% [y_fit, delta] = polyval(p, x, S, mu);
plot(xi, y_fit, 'r-') %拟合的数据线绘图
% hold on
% plot(xi, y_fit+2*delta,'m--', xi, y_fit-2*delta,'m--')
title('Linear Poly Fit of Raman Spectrum Data')
legend('Data', 'Linear Poly Fit' )
xlabel('Raman shift/cm^{-1}')
end
相关数据
——2020.12.15——