求指导。。。。如何用matlab拟合一次函数或者二次函数的公式和曲线。。

例如:要拟合一个“透镜孔径大小与像距的函数关系”的一次函数和二次函数的式子和曲线,x轴为“孔径半径(cm)”[0.4,0.6,0.8,1.0,1.2,1.4],y轴为“像距(cm)”[0.15,0.21,0.39,0.55,0.78,1.07]
要怎么编程呢?求指导。。。

x=0:0.1:2;

y=[-0.4 1.928 3.28 6.16 7.98 7.94 7.66 9 9.58 9.30 11.2];

A=polyfit(x,y,3)

z=polyval(A,x)

plot(x,y,'k+',x,z,'r') %作出数据点和拟合曲线的图形,线性的最小二乘拟合

y=a(x-h)²+k(a≠0,a、h、k为常数),顶点坐标为(h,k) [4]  ,对称轴为直线x=h,顶点的位置特征和图像的开口方向与函数y=ax²的图像相同,当x=h时,y最大值=k。

扩展资料

一次函数的解析式为:

其中m是斜率,不能为0;x表示自变量,b表示y轴截距。且m和b均为常数。先设出函数解析式,再根据条件确定解析式中未知的斜率,从而得出解析式。该解析式类似于直线方程中的斜截式。

奇偶性:当b≠0时 非奇非偶; 当b=0时 偶函数

周期性:非周期函数,在实际问题中,如果所含两个变量之间的依存关系是线性的,则可通过建构一次函数加以解决。

最值 a>0时,函数有最小值是 (4ac-b^2)/4a;a<0时有最大值是 (4ac-b^2)/4a

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
从函数关系看,使用二次拟合为宜

% 原始数据
x=[0.4,0.6,0.8,1.0,1.2,1.4];
y=[0.15,0.21,0.39,0.55,0.78,1.07];

% 二次拟合
p=polyfit(x,y,2)

% 绘图比较
plot(x,y,'.-',x,polyval(p,x),'r:o')追问

那怎样在拟合曲线的同时,把各个数据点也画在上面

追答

我已经把数据点画在上面了啊
你想要什么样的效果?

本回答被提问者和网友采纳
第2个回答  2013-01-12

x=[0.4,0.6,0.8,1.0,1.2,1.4];
y=[0.15,0.21,0.39,0.55,0.78,1.07];
plot(x,y,'ro')
画出散点图,观察适用于几次。

在拟合
p=polyfit(x,y,2);%二次拟合
y0=polyval(p,x);
plot(x,y,'ro',x,y0)%得到拟合曲线和原来的散点在同一图像的图。追问

恩恩,有图像了。。要使图像从(0,0)点开始的话,要加什么语句啊