matlab-二元最小二乘函数逼近

matlab-二元最小二乘函数逼近,matlab,multidimensional-array,least-squares,Matlab,Multidimensional Array,Least Squares,我有一个由两个变量组成的函数:y=f(x1,x2)近似,我想用最小二乘法 Polyval和Polyfit使用二维函数,这里我需要解一个三维函数 提前谢谢 G.B.我就是这样解决的 A=[x1.^2,x1.*x2,x2.^2,x1,x2,个数(长度(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) 无论如何谢谢你的帮助 问候,, G.B.看看你的函数,它看起来像是用一个完整的二次响应面来拟合。 您

我有一个由两个变量组成的函数:y=f(x1,x2)近似,我想用最小二乘法

Polyval和Polyfit使用二维函数,这里我需要解一个三维函数

提前谢谢


G.B.

我就是这样解决的

A=[x1.^2,x1.*x2,x2.^2,x1,x2,个数(长度(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)

无论如何谢谢你的帮助

问候,,
G.B.

看看你的函数,它看起来像是用一个完整的二次响应面来拟合。 您可以使用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;

看一看,我认为这个答案需要统计工具箱