作业帮 > 综合 > 作业

一个matlab三维拟合的问题

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/09/21 03:23:42
一个matlab三维拟合的问题
shuju=[
0.1929 0.0000 2.3300
0.2088 0.0000 2.3100
0.1612 0.0000 2.3900
0.2069 0.0000 2.3200
0.2475 0.1000 2.2500
0.2750 0.1600 2.2400
0.2532 0.1000 2.2400
0.1146 0.0600 2.4500
0.2438 0.0400 2.2300
0.1651 0.0300 2.3800
0.1145 0.0500 2.4700
0.2678 0.0600 2.1800
0.0474 0.0700 2.5300
0.1351 0.2700 2.4100
0.1907 0.0600 2.3600
0.2696 0.1600 2.2500
0.0608 0.0600 2.5000
0.1398 0.1400 2.4700
0.1866 0.0600 2.3500
0.2191 0.0400 2.2800
0.1991 0.0500 2.3400
];
x=shuju(1:26,1) ;
y=shuju(1:26,2) ;
z=shuju(1:26,3);
要求拟合的方程:z=Ax+By+Cxy+D
求出系数,
我删了几行数据,所以已经不是26行了
一个matlab三维拟合的问题
shuju=[
0.1929 0.0000 2.3300
0.2088 0.0000 2.3100
0.1612 0.0000 2.3900
0.2069 0.0000 2.3200
0.2475 0.1000 2.2500
0.2750 0.1600 2.2400
0.2532 0.1000 2.2400
0.1146 0.0600 2.4500
0.2438 0.0400 2.2300
0.1651 0.0300 2.3800
0.1145 0.0500 2.4700
0.2678 0.0600 2.1800
0.0474 0.0700 2.5300
0.1351 0.2700 2.4100
0.1907 0.0600 2.3600
0.2696 0.1600 2.2500
0.0608 0.0600 2.5000
0.1398 0.1400 2.4700
0.1866 0.0600 2.3500
0.2191 0.0400 2.2800
0.1991 0.0500 2.3400
];
x=shuju(:,1); %直接用:表示所有的行
y=shuju(:,2);
z=shuju(:,3);
Matr=[x,y,x.*y,ones(size(x))];
ABCD=Matr\z;
A=ABCD(1)
B=ABCD(2)
C=ABCD(3)
D=ABCD(4)
%下面是比较拟合的结果
z_fit=A*x+B*y+C*x.*y+D; %拟合值
plot(z,z,z,z_fit,'*') %如果点均匀分居线两侧,拟合结果较好