最小二乘法拟合例题 如何用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,表明与原系数一致。