Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2009-03-10, 09:34   #1
hlh2009
初级会员
 
注册日期: 2009-02-17
年龄: 45
帖子: 2
声望力: 0
hlh2009 正向着好的方向发展
默认 [求助]如何做三元线性拟合?

如何做三元线性拟合?如
前角(度) 切深(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
我要做水平力与其它三个的关系函数。
请高手帮帮忙,谢谢!!!
hlh2009 当前离线   回复时引用此帖
旧 2009-03-10, 10:08   #2
slgu
高级会员
 
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21
slgu 正向着好的方向发展
默认 回复: [求助]如何做三元线性拟合?

该目标变数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)
slgu 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 12:00


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.