第三个函数输出的时候报错,得不到最后的图形
clc,clear,close all; %清除命令,清空工作区,关闭所有窗口
x=[2 3 4 5 7 8 10 11 14 15 16 18 19];
y=[106.42 108.26 109.58 109.50 110.0 109.93 110.49 110.59 110.6 110.9 110.76 110.0 111.20];
%拟合
p1=polyfit(x, y, 1);% 用x 和 y 拟合多项式, 1 表示一次多项式
disp(p1);% 输出 0.8025 0.2431 表示多项式是 f(x) = 0.8025 * x + 0.2431
%绘制图形
y1=polyval(p1, x);
%双曲线拟合
f2=fittype('t/(a*t+b)','independent','t','coefficients',{'a','b'}); %fittype是自定义拟合函数
x=x';
y=y';
cfun1=fit(x,y,f2); %根据自定义拟合函数f来拟合数据x,y
x2=0:0.1:20;
y2=cfun1(x2);
%对数函数拟合
f3=fittype('a+b*log(t)','independent','t','coefficients',{'a','b'}); %fittype是自定义拟合函数
x=x';
y=y';
cfun2=fit(x,y,f3); %根据自定义拟合函数f来拟合数据x,y
y3=cfun2(x2);
plot(x, y, '*', x, y1, '-',x2,y2,'r-',x2,y3,'b-');
legend('不同函数拟合效果比较图')