MATLAB 使用多项式和四参数方程进行曲线拟合

587 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

使用三次多项式进行曲线拟合

clc; clear; close all;
data_mer = xlsread('data_0926.xlsx',1,'AE4:BA103');
var = 1:1:100;
var = var';
[H L] = size(data_mer);
dt1 = data_mer(:,1);
plot(var,dt1,'r*')
p=polyfit(var,dt1,3)
x2 = 1:.1:100;         
y2 = polyval(p,x2);    
plot(var,dt1,'r*',x2,y2,'k-')
grid on;
title('三次多项式曲线拟合');

在这里插入图片描述

使用四参数方程进行曲线拟合

clc; clear; close all;
data_mer = xlsread('data_0926.xlsx',1,'AE4:BA103');
var = 1:1:100;
var = var';
[H L] = size(data_mer);
dt1 = data_mer(:,1);
f=fittype('(a-d)/[1+(x/c).^b]+d','independent','x','coefficients',{'a','b','c','d'});
cfun=fit(var,dt1,f)
x0=0:0.2:100;
y0=cfun(x0);
plot(var,dt1,'r*',x0,y0,'b-'); 
title('自定义公式进行曲线拟合');

在这里插入图片描述 其中各项参数为:s