1个回答
展开全部
t=20;%t为随机数个数
x=1:t;
y=rand(1,t);%随即产生t个随机数,范围是0到1,你也可以都乘以某个常数
n=1;%直线拟合n就取1,
p=polyfit(x,y,n); %计算n次多项式系数p
xi=linspace(0,t,100);%linspace用于产生x1,x2之间的N点行矢量
yi=polyval(p,xi); %计算多项式的值
plot(x,y,'.',xi,yi);
xlabel('x'),ylabel('f(x)')
title('最小二乘法拟合')
p%p即为拟合后的直线的一次项系数和常数项
——————————————————————————————————————
注意:随机产生的点,因为数据方差比较大,拟合成的直线对于某个点来说相差较大。
比如我测试的p=0.0053 0.4909,那么,拟合直线就是y=0.0053x+0.4909。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询