作业帮 > 数学 > 作业

matlab 最小二乘法拟合直线,

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:数学作业 时间:2024/04/28 01:23:46
matlab 最小二乘法拟合直线,
横坐标是x=0.01:0.01:1;
m=log(x);
纵坐标是
for i=1:100;
y(i)=log((2^0.5)*(x(i)+1)/(x(i)*x(i)+2*x(i))^0.5);
end
求拟合,m,y
并求拟合出来的直线斜率.速速速!
matlab 最小二乘法拟合直线,
首先确认一下,你这的log是以10为底的对数吧?那么命令如下.(如果是以e为底就不用除以log(10)了,自己改一下.)
>> x=0.01:0.01:1;
>> m=log(x)/log(10);
>>for i=1:100;
y(i)=log((2^0.5)*(x(i)+1)/(x(i)*x(i)+2*x(i))^0.5)/log(10);
end
>>plot(m,y,'r');hold on;
>>p = polyfit(m,y,1)%这个就是拟合的函数
p =
-0.3600 0.4161
>>pp=poly2sym(p);
>>ezplot(pp,[-2,0]);
红色的是原曲线,蓝色的是拟合直线.拟合直线的斜率就是-0.3600