作业帮 > 综合 > 作业

求教用matlab实现最小二乘法拟合直线

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/28 18:06:27
求教用matlab实现最小二乘法拟合直线
公式是Y=(rt)^(3-c) 要求拟合为横坐标是lnY,纵坐标是lnrt 的直线
请问此程序怎么编写?重谢
rt=(1,1.4,1.6,2,2.4,2.6,3,3.6,4,4.6,5,6) 对应的Y=(0.264241,0.408167,0.475069,0.593994,0.691559,0.732615,0.800852,0.874311,0.908422,0.94371,0.959572,0.982649) 顺便问一下用matlab能求出回归方程吗?还有相关系数,我对matlab不太懂,
求教用matlab实现最小二乘法拟合直线
t=[1 1.4 1.6 2 2.4 2.6 3 3.6 4 4.6 5 6];
y=[0.264241,0.408167,0.475069,0.593994,0.691559,0.732615,...
0.800852,0.874311,0.908422,0.94371,0.959572,0.982649];
p=polyfit(log(rt),log(y),1) % 多项式拟合,取1次就是直线.结果p是多项式系数
xx=1:.1:6;
yy=exp( polyval(p,log(xx) ) ); % 求多项式的值,1次的话,2个系数,相当于y=p(1)*x+p(2)
plot(rt,y,'o',xx,yy); % 画图,原来的点用圈表示.
我试了一下,用直线拟合的不是很好,用二次多项式拟合就好多了.