最小二乘法拟合例题 如何用MATLAB做多元函数的最小二乘法拟合?

如何用MATLAB做多元函数的最小二乘法拟合?参考代码%生成测试数据A0=1A1=2A2=3X1=rand(10,10)x2=rand(10,10)y=a0a1*X1 A2*x2%添加随机噪声y=y0

如何用MATLAB做多元函数的最小二乘法拟合?

参考代码

%生成测试数据

A0=1A1=2A2=3

X1=rand(10,10)

x2=rand(10,10)

y=a0a1*X1 A2*x2

%添加随机噪声

y=y0.1*randn(size(y))

]%拟合函数形式

f=@(k,x)k(1)k(2)*x(:,1)k(3)*x(:,2)

x=[X1(:)x2(:)

]k=lsqsurvefit(f,[1,1],x,y(:)

n=Size(x,1)

plot(1:n,y(:),“Bo”,1:n,f(k,x),“R.”)

运行结果

k=

1.0309 1.9782 2.9800

分别对应于A0~A2,表明与原系数一致。