matlab回归拟合三元二次方程式问题

来源:百度知道 编辑:UC知道 时间:2024/07/15 19:54:14
我现在有一组数据是3个自变量和1个因变量..
现在假设方程式是二次方程 有10个参数(包括常数参数)
数据是
X1 X2 X3 Y
50 47 67 3043.2
150 47 100 2683.7
150 47 150 2685.5
150 47 200 2675.2
150 47 250 2669.1
150 47 300 2674.1
150 47 400 2740.6
150 47 500 2810.1
150 47 600 2857.8
150 47 750 3034.9
174 48.3 670 3141.9
174 48.3 100 2834.5
174 48.3 150 2696.4
174 48.3 200 2654.2
174 48.3 250 2660.3
174 48.3 300 2663.5
174 48.3 400 2719.7
174 48.3 500 2764.7
174 48.3 600 2798.1
174 48.3 750 2992.2
161 53 670 3037.1
161 53 100 2700.6
161 53 150 2659.4
161 53 200 2633.1
161 53 250 2633.8
161 53 300 2638.2
161 53 400 2706.5
161 53 500 2774.2
161 53 600 2760.1
161 53 750 3037.9

请问该如何回归拟合

clc;clear
A=[...
50 47 67 3043.2
150 47 100 2683.7
150 47 150 2685.5
150 47 200 2675.2
150 47 250 2669.1
150 47 300 2674.1
150 47 400 2740.6
150 47 500 2810.1
150 47 600 2857.8
150 47 750 3034.9
174 48.3 670 3141.9
174 48.3 100 2834.5
174 48.3 150 2696.4
174 48.3 200 2654.2
174 48.3 250 2660.3
174 48.3 300 2663.5
174 48.3 400 2719.7
174 48.3 500 2764.7
174 48.3 600 2798.1
174 48.3 750 2992.2
161 53 670 3037.1
161 53 100 2700.6
161 53 150 2659.4
161 53 200 2633.1
161 53 250 2633.8
161 53 300 2638.2
161 53 400 2706.5
161 53 500 2774.2
161 53 600 2760.1
161 53 750 3037.9];
x1=A(:,1);x2=A(:,2);x3=A(:,3);Y=A(:,4);
one=ones(length(Y),1);
X1=[x1,x2,x3,one];
X2=[x1.*x1,x1.*x2,x1.*x3,x2.*x2,x2.*x3,x3.*x3,X1];
X3=[x1.^3,x1.^2.*x2,x2.^2.*x1,x2.^3,x1.^2.*x3,x3.*x2.*x1,x2.^2.*x3,x3.^2.*x1,x3.^2.*x2,x3.^3,X2];
[B,B