4

近似する y = f(x1,x2) というタイプの 2 つの変数の関数があり、最小二乗法を使用してそれを実行したいと考えています。

Polyval と Polyfit は 2 次元関数で動作しますが、ここでは 3 次元関数を解く必要があります。

前もって感謝します。

GB

4

2 に答える 2

3

私はこのようにそれを解決しました

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

于 2010-12-28T13:57:38.547 に答える
0

関数を見ると、完全な二次応答曲面を使用して適合しているように見えます。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;
于 2010-12-28T14:30:33.073 に答える