Глядя на вашу функцию, вы видите, что вы используете полную квадратичную поверхность отклика, чтобы соответствовать ей.
Вы можете использовать функцию 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;