我有一个类型的两个变量的函数: y = f(x1,x2) 要近似,我想使用最小二乘法来做到这一点。
Polyval 和 Polyfit 处理二维函数,这里我需要求解一个三维函数。
提前致谢。
国标
我有一个类型的两个变量的函数: y = f(x1,x2) 要近似,我想使用最小二乘法来做到这一点。
Polyval 和 Polyfit 处理二维函数,这里我需要求解一个三维函数。
提前致谢。
国标
我已经以这种方式解决了
A = [x1.^2,x1.*x2,x2.^2,x1,x2,ones(长度(x1),1)]; c=A\y;
yEval = c(1)*x1.^2+c(2)*x1.*x2+c(3)*x2.^2+c(4)*x1+c(5)*x2+c(6) ;
无论如何感谢您的帮助。
问候,GB
查看您的函数,您似乎正在使用完整的二次响应曲面来拟合。您可以使用 x2fx 函数来生成所有条款。这里没有什么开创性的,但它可能会更干净一些。您不仅可以使用它来进行 OLS 拟合,还可以使用稳健的方法。这是我写的一些代码:
% set up terms for the variables, linear, quadratic, interactive, and constant
paramVEcomponents= x2fx([MAPkpa,RPM],'quadratic');
% robust fit using a Talwar weighting function
[coefs,robuststats]= robustfit(paramVEcomponents(2:6),(CAM2.*TEMPd./MAPkpa),'talwar');
% generating points for all the data we have based on the new parameters of the response surface
GMVEhat= paramVEcomponents * coefs;