近似する y = f(x1,x2) というタイプの 2 つの変数の関数があり、最小二乗法を使用してそれを実行したいと考えています。
Polyval と Polyfit は 2 次元関数で動作しますが、ここでは 3 次元関数を解く必要があります。
前もって感謝します。
GB
近似する y = f(x1,x2) というタイプの 2 つの変数の関数があり、最小二乗法を使用してそれを実行したいと考えています。
Polyval と Polyfit は 2 次元関数で動作しますが、ここでは 3 次元関数を解く必要があります。
前もって感謝します。
GB
私はこのようにそれを解決しました
A =[x1。^2、x1。* x2、x2。^ 2、x1、x2、ones(length(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;