艾丽游戏ing

最小二乘法matlab(递推最小二乘法matlab)

艾丽游戏ing 1

如何用MATLAB进行最小二乘法参数估计

用多元线性最小二乘法函数regress()求得B0=3.44282878384342B1=2.61328643905109B2=-0.7713855677052B3=0.000447565400324732B4=-0.0190951609076539B5=25.6112106456476B6=-5.1612096689879σ=1.00329960680252(标准差)R^2:0.993195409381661(相关系数);F=97.3064082850979(F统计量));p=0.000275300598726158(F统计量相当于的p值);

最小二乘法matlab(递推最小二乘法matlab)最小二乘法matlab(递推最小二乘法matlab)


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

如何用matlab求最小二乘法

举例

x=[0 0.2 0.4 0.6 0.8 1.0]; %测得的温度数据

y=[0 0.19 0.32 0.46 0.66 0.83]; %测得的电容数据

p=polyfit(x,y,1) %调用拟合函数

x1=0:0.1:1.2; %设置采样区间,采样点

y1=polyval(p,x1); %计算多项式在x1处的值

plot(x,y,'*r',x1,y1,'-b');

线性最小二乘法的函数:isqlin非线性最小二乘法的函数:isqcurvefit具体用法自己doc命令查吧。

最小二乘法的matlab程序是怎样的?

我给你个最小二乘拟合的例子自己体会一下:

下面给定的是乌鲁木齐最近1个月早晨7:00左右(新疆时间)的天气预报所得到的温度数据表,按照数据找出任意次曲线拟合方程和它的图像。

(2008年10月26~11月26)

天数 1 2 3 4 5 6 7 8 9 10

温度 9 10 11 12 13 14 13 12 11 9

天数 11 12 13 14 15 16 17 18 19 20

温度 10 11 12 13 14 12 11 10 9 8

天数 21 22 23 24 25 26 27 28 29 30

温度 7 8 9 11 9 7 6 5 3 1

下面应用Matlab编程对上述数据进行最小二乘拟合

Matlab程序代码:

x=[1:1:30];

y=[9,10,11,12,13,14,13,12,11,9,10,11,12,13,14,12,11,10,9,8,7,8,9,11,9,7,6,5,3,1];

a1=polyfit(x,y,3) %三次多项式拟合%

a2= polyfit(x,y,9) %九次多项式拟合%

a3= polyfit(x,y,15) %十五次多项式拟合%

b1= polyval(a1,x)

b2= polyval(a2,x)

b3= polyval(a3,x)

r1= sum((y-b1).^2) %三次多项式误差平方和%

r2= sum((y-b2).^2) %九次次多项式误差平方和%

r3= sum((y-b3).^2) %十五次多项式误差平方和%

plot(x,y,'*') %用*画出x,y图像%

hold on

plot(x,b1, 'r') %用红色线画出x,b1图像%

hold on

plot(x,b2, 'g') %用绿色线画出x,b2图像%

hold on

plot(x,b3, 'b:o') %用蓝色o线画出x,b3图像%

关于matlab最小二乘法的问题?

最小二乘法的问题如何用matlab来实现?我们可以根据数理统计的最小二乘法原理来写:

为了说明问题,特举例。已知某种合金的抗拉强度y与含碳量x的数据,求其一元线性回归数学模型(y=β0+β1*x)。

第一步,将含碳量数据和合金的抗拉强度数据分别赋值给x、y,即

x=【。。。】

y=【。。。】

第二步,求总数,即

n=length(x)

第三步,求x(i)和y(i)的和,即

S_x=sum(x);

S_y=sum(y);

第四步,求x(i)和y(i)的平均值,即

Ave_x=mean(x);

Ave_y=mean(y);

第五步,求x(i)^2、x(i)*y(i)、y(i)^2的和,即

S_xx=sum(x.^2);

S_xy=sum(x.*y);

S_yy=sum(y.^2);

第六步,求Lxx、Lxy、Lyy的值,即

Lxx=S_xx-n*Ave_x^2;

Lxy=S_xy-n*Ave_x*Ave_y;

Lyy=S_yy-n*Ave_y^2;

第七步,求系数β0、β1的值,即

b1=Lxy/Lxx %系数β1

b0=Ave_y-b1*Ave_x %系数β0

运行结果