一、相关函数
1、MATLAB中polyfit函数是用来进行多项式拟合的。其数学原理是基于最小二乘法进行拟合的。具体使用语法是:p = polyfit(x,y,n);
% 其中x,y表示需要拟合的坐标点,大小需要一样; n表示多项式拟合的次数。
% 返回值p表示多项式拟合的系数,系数从高到低排列
2、
多项式曲线求值函数:polyval( )
调用格式: y=polyval(p,x)
说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。
[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。
3、log函数——log(x)——对x的函数都用 ln(x) 计算;
二、题例:
步骤
1、构建x、y矩阵
2、做x、y散点图
可用:plot(x,y,'o');
hold on;
3、z=log(y);以此方法求一组因变量z,z为lny,可以通过求出z对x的拟合再取e^z求y
z与x关系为z=lna+bx
4、x1=0:0.01:8;
构建一个x1作为拟合后的x轴
5、p=polyfit(x,z,1);
求z=lna+bx的系数
6、z1=polyval(p,x1);
求此系数下拟合的z值
7、y1=exp(z1);
如上文所说,通过z求y
8、plot(x1,y1,'r');
作图
三、总结代码
x=1:1:8;
y=略;
plot(x,y,'o');
hold on;
z=log(y);
p=polyfit(x,z,1);
x1=0:0.01:20;
z1=polyval(p,x1);
y1=exp(z1);
plot(x1,y1,'r');