| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8133 人关注过本帖
标题:求助:如何实现空间曲线拟合
只看楼主 加入收藏
Carol_luo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-9-5
收藏
 问题点数:0 回复次数:10 
求助:如何实现空间曲线拟合

试验测得一组数据(如附件所示):

X=[96 97 103 105 106 112 116 123 128 137 140 147 149 155 156 191 214 232]
Y=[73 78 92 91 81 96 102 106 108 120 122 122 126 137 137 178 199 220]
Z=[65 64 74 82 74 81 91 96 108 113 120 122 120 125 131 185 206 220]

求一空间直线,使各点到该直线的距离最小,并画出该直线。
不甚感激!

图片附件: 游客没有浏览图片的权限,请 登录注册

[此贴子已经被作者于2007-9-9 10:19:18编辑过]

搜索更多相关主题的帖子: 曲线拟合 空间 直线 col 
2007-09-05 21:22
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 
clear,clc
x=load('data.txt');% 按转置格式村数据。
n=size(x,1);
str=num2str([1:n]');
figure(1),% original data
plot3(x(:,1),x(:,2),x(:,3),'o')
stem3(x(:,1),x(:,2),x(:,3),'filled')
text(x(:,1),x(:,2),x(:,3),str,'fontsize',12)
g=princomp(x);
x2=x*g';
x2(:,2)=-1.25*x2(:,2);
figure(2),% transformed data
plot3(x2(:,1),x2(:,2),x2(:,3),'o')
stem3(x2(:,1),x2(:,2),x2(:,3),'filled')
text(x2(:,1),x2(:,2),x2(:,3),str,'fontsize',12)
x3(1,:)=x2(1,:);
x3(2,:)=x2(n,:);
hold on
plot3(x3(:,1),x3(:,2),x3(:,3),'r-','linewidth',3)

2007-09-07 17:35
jiangbiao66
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2007-9-2
收藏
得分:0 
太厉害了!
2007-09-08 12:39
Carol_luo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-9-5
收藏
得分:0 
非常感谢ydgsl,请教一下“x2(:,2)=-1.25*x2(:,2);”乘以-1.25的理由是什么?
2007-09-08 14:58
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 
主成分转换后的数据尺度尽可能与原数据尺度一致,对其x2轴长度作一定调整(仍有些不太到位)。
2007-09-08 15:31
Carol_luo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-9-5
收藏
得分:0 

ydgsl,还有一个问题请教你:
当我换一组数据时,如:
X=[67 106 122 128 134 138 141 145 149 194 205 217 226 229]
Y=[69 108 122 126 136 140 141 147 149 195 206 218 227 229]
Z=[66 105 122 127 136 139 141 146 149 197 208 218 227 229]
运行结果就不行了,x2(:,2),x2(:,3)都是负值,画出来的图形如附件所示。
上面你说到的调整系数应该如何选择呢?这是一个系列实验,有很多不同的实验数据。
谢谢!

图片附件: 游客没有浏览图片的权限,请 登录注册

2007-09-08 16:25
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 
clear,clc
x=[67 106 122 128 134 138 141 145 149 194 205 217 226 229;...
69 108 122 126 136 140 141 147 149 195 206 218 227 229;...
66 105 122 127 136 139 141 146 149 197 208 218 227 229]
x=x';
n=size(x,1);
str=num2str([1:n]');
figure(1),% original data
plot3(x(:,1),x(:,2),x(:,3),'o')
stem3(x(:,1),x(:,2),x(:,3),'filled')
text(x(:,1),x(:,2),x(:,3),str,'fontsize',12)
g=princomp(x);
x2=x*g';
figure(2)
x2(:,3)=-x2(:,3);
plot3(x2(:,1),x2(:,2),x2(:,3),'o')
stem3(x2(:,1),x2(:,2),x2(:,3),'filled')
text(x2(:,1),x2(:,2),x2(:,3),str,'fontsize',12)
x3(1,:)=x2(1,:);
x3(2,:)=x2(n,:);
hold on
plot3(x3(:,1),x3(:,2),x3(:,3),'r-','linewidth',3)
2007-09-09 07:21
haihe398
Rank: 1
来 自:上海
等 级:新手上路
帖 子:25
专家分:0
注 册:2008-9-21
收藏
得分:0 
学习!!我也在搞时空的曲线拟合@还请以后多帮助
2008-12-05 19:33
xuedoudou
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-7-29
收藏
得分:0 
请问高手,Matlab能否进行二维曲线拟和.实验测得数组力(F)位移(x)和电流(i),想拟和出曲线F=G(x,i),并得到曲线的方程。谢谢
2009-07-29 15:45
zrqh
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-1-13
收藏
得分:0 
很好,但如果想拟合成空间曲线而非直线的话怎么弄呢?
2012-06-10 23:38
快速回复:求助:如何实现空间曲线拟合
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026360 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved