方法一:直接用多元二项式回归
%数据输入
x1 = [ ];
x2 = [ ];
%多元二项式回归函数
y = [ ];
X = [x1' x2'];
Y = y';
rstool(X, Y, 'purequadratic', 0.05);%使用纯二次模型
结果:
方法二:化为多元线性回归
%数据输入
x1 = [ ];
x2 = [ ];
y = [ ];
%多元线性回归
X = [ones(, ), x1', x2', (x1.^)' (x2.^2)'];
Y = y';
[b, bint, r, rint, states] = regress(Y, X, 0.05);
b, states
%数据输入
x = [ ];
y = [13.2 15.1 16.4 17.1 17.9 18.7 19.6 21.2 22.5 24.3];
%X = [ones(,), x'];
%Y = y';
%[b, bint, r, rint, states] = regress(Y, X, 0.05);
%rcoplot(r, rint)
[P, S] = polyfit(x, y, );
[Y, DELTA] = polyconf(P, , S, 0.05);
Y
[Y-DELTA, Y+DELTA]
结果:
Y =
18.3287
ans =
17.7891 18.8682
x = [ ];
y = [0.6 2.0 4.4 7.5 11.8 17.1 23.3 31.2 39.6 49.7 61.7];
%方法一:二次多项式回归
[P, S] = polyfit(x, y, );
P
%方法二:转化为多元线性回归
X = [ones(, ), x', (x.^2)'];
Y = y';
b = regress(Y, X, 0.05);
b
结果:
P =
0.1403 0.1971 1.0105
b =
1.0105 0.1971 0.1403
function f = Q3fun(beta, x)
x1 = x(:,);
x2 = x(:,);
x3 = x(:,);
f = (beta().*x2 - x3./beta()) ./ ( + beta().*x1 + beta().*x2 + beta().*x3);
%数据输入
x1 = [ ];
x2 = [ ];
x3 = [ ];
y = [8.55 3.79 4.82 0.02 2.75 14.39 2.54 4.35 13.00 8.50 0.05 11.32 3.13]; X = [x1', x2', x3'];
Y = y';
%参考值
beta0 = [ 0.05 0.02 0.1 ];
%非线性回归函数
[beta, r, J] = nlinfit(X, Y, 'Q3fun', beta0);
beta
%预测及估计
nlintool(X, Y, 'Q3fun', beta0, 0.05)
结果:
beta =
1.2526 0.0628 0.0400 0.1124 1.1914
置信区间
-0.746742266632702 3.25193260901551
-0.0376762702432533 0.163228825666061
-0.0311725427348701 0.111268700470180
-0.0608975612723978 0.285728748651990
-0.738086110268459 3.12082296226925