Second order multiple regression

Hi all !
I'm trying to use 'regress' function to find the best-fit second-order multivariable polynomial equations. It seems most of the online sources are either first-order multiple linear regression or polynomials of only one independent variable. I'm wondering if I use 'regress' to find the best-fit second-order multivariable polynomial equation, is there any possible error even if the matching is accurate (e.g. colinearity maybe?)? What's the principle of 'regress' behind the codes?
Please see below my codes. Es is the dependent variable; mu and G are independent variables. Thank you very much for your answers!
G = [ 3 ;3 ;3 ; 25 ;25 ;25 ; 50 ;50 ;50 ;];
mu = [ 0.15 ;0.50 ;0.90 ; 0.10 ;0.50 ;0.90 ; 0.10 ;0.50 ;0.90 ;];
Es = [ 0.30 ;1.57 ;2.33 ; 0.28 ;2.37 ;4.29 ; 0.34 ;2.66 ;4.70 ;];
%Es = b0 + b1 * G + b2 * G^2 + b3 * mu + b4 * mu^2 + b5 * mu * G
X = [ones(size(G)) G G.^2 mu mu.^2 mu.*G];
b = regress(Es,X);
scatter3(G,mu,Es,'filled')
hold on
x1fit = min(G):2:max(G);
x2fit = min(mu):0.1:max(mu);
[X1FIT,X2FIT] = meshgrid(x1fit,x2fit);
YFIT = b(1) + b(2)*X1FIT + b(3)*X1FIT.^2 + b(4)*X2FIT + b(5)*X2FIT.^2 + b(6)*X1FIT.*X2FIT;
mesh(X1FIT,X2FIT,YFIT)
xlabel('G')
ylabel('\mu')
zlabel('E')
hold off

답변 (0개)

카테고리

도움말 센터File Exchange에서 Polynomials에 대해 자세히 알아보기

질문:

2019년 10월 17일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by