您的位置:首页 > 编程语言 > MATLAB

matlab数据拟合与线性回归

2012-07-03 22:22 204 查看
函数拟合

知道y=a+b*exp(-x)

观测数据

x 0.0 0.3 0.8 1.1 1.6 2.3

y 0.82 0.72 0.63 0.60 0.55 0.5

求a、b,线性回归或拟合问题。

建立矛盾方程组

AX=y

其中X=[a,b]'

这里将a、b看做待求量,X=A\y或由最小二乘准则X=inv(A'A)*A'y

t=[ 0.0 0.3 0.8 1.1 1.6 2.3]'
y=[0.82 0.72 0.63 0.60 0.55 0.5]'
A=[ones(size(t)),exp(-t)]
x=inv(A'*A)*A'*y%x=A\y
n=500
tt=zeros(n,1);
yy=zeros(n,1);
dt=2.3/n;
for i=1:n
tt(i)=i*dt;
yy(i)=x(1)+x(2)*exp(-tt(i));
end
plot(t,y,'b',tt,yy,'r')
X=A\y

得X=0.4760

0.3413

函数拟合为y=0.4760+0.3413*exp(-x)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab