回复: [求助]如何做三元线性拟合?
该目标变数Y与第二列(x2)没有关系,请运行下列小程序:
但数据量太少,可能说明不了问题。这类问题应有足够多的数据。
clear,clc
x1=[10 10 10 15 15 15 20 20 20]';%原第1列
x2=[0.2, 0.4, 0.6, 0.4, 0.6, 0.2, 0.6, 0.2, 0.4]';%原第3列
y=[112 120 150 160 168 147 170 155 160]';
X=[ones(9,1),x1,x1.^2,x2.^2];
b=X\y
SSy=var(y)*8
RSS=y'*y-b'*X'*y
MSe=RSS/(9-4)
R2=(SSy-RSS)/SSy
scatter3(x1,x2,y)
stem3(x1,x2,y,'filled')
str=num2str([1:9]');
text(x1,x2,y+.05,str,'fontsize',12)
hold on
[x11,x22]=meshgrid(10:.5:20,0.15:.01:.65);
y1=b(1)+b(2)*x11+b(3)*x11.^2+b(4)*x22.^2;
surf(x11,x22,y1)
axis tight
shading interp
alpha(.75)
|