| Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) | 
|  | 
|  2009-03-10, 09:34 | #1 | 
| 初级会员 注册日期: 2009-02-17 年龄: 45 
					帖子: 2
				声望力: 0  |  [求助]如何做三元线性拟合? 
			
			如何做三元线性拟合?如 前角(度) 切深(mm) 切削速度(m/s) 水平切削力(N) 10 2 0.2 112 10 4 0.4 120 10 6 0.6 150 15 2 0.4 160 15 4 0.6 168 15 6 0.2 147 20 2 0.6 170 20 4 0.2 155 20 6 0.4 160 我要做水平力与其它三个的关系函数。 请高手帮帮忙,谢谢!!! | 
|   |   | 
|  2009-03-10, 10:08 | #2 | 
| 高级会员 注册日期: 2007-06-24 年龄: 70 
					帖子: 188
				声望力: 22  |  回复: [求助]如何做三元线性拟合? 
			
			该目标变数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) | 
|   |   |