声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 19464|回复: 19

[近似分析] 求助,用MATLAB,画一系列离散点,两点连线图!

[复制链接]
发表于 2010-7-22 08:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
X=[0.71,0.78,0.80,1.14,1.84,1.86,1.90,2.36,2.97,3.01,3.24,3.35,3.59,3.71,3.80];
Y=[2.51,4.62,6.16,0.91,6.13,4.12,1.98,7.63,0.65,2.51,7.15,4.12,5.93,1.34,3.52];
x=[2.36,1.62,2.07,1.88,3.39,2.18,3.02,3.48,5.14,3.49,4.68,4.95,3.41,4.61,4.72];
y=[2.59,4.85,6.12,2.09,8.17,6.02,3.04,8.04,1.41,2.13,8.21,4.01,7.48,1.08,3.92];
有两组数据,分别为,点(x,y)和点(X,Y),我想分别连接对应的点,表达对应点之差。

最好是短箭头连接点(x1,y1)与(X1,Y1),(x2,y2)与(X2,Y2),。。。。(x15,y15)与(X15,Y15);


例如连接第一点,(2.36,2.59)和点(0.71,2.51)。这个MATLAB程序应怎么写!O(∩_∩)O谢谢!!!

[ 本帖最后由 cbufeng 于 2010-7-22 13:20 编辑 ]
回复
分享到:

使用道具 举报

发表于 2010-7-22 09:41 | 显示全部楼层
还是没有看懂你的问题
 楼主| 发表于 2010-7-22 10:20 | 显示全部楼层
就是分别用短线连接点(x1,y1)与(X1,Y1),(x2,y2)与(X2,Y),。。。。(x15,y15)与(X15,Y15);
 楼主| 发表于 2010-7-22 10:23 | 显示全部楼层
就是分别用短线,最好是短箭头连接点(x1,y1)与(X1,Y1),(x2,y2)与(X2,Y2),。。。。(x15,y15)与(X15,Y15);
 楼主| 发表于 2010-7-22 10:25 | 显示全部楼层
例如用短线连接第一点,(2.36,2.59)和点(0.71,2.51)。这个MATLAB程序应怎么写!O(∩_∩)O谢谢!!!

[ 本帖最后由 cbufeng 于 2010-7-22 12:43 编辑 ]

评分

1

查看全部评分

发表于 2010-7-22 14:09 | 显示全部楼层
plot([x;X],[y;Y])
 楼主| 发表于 2010-7-22 15:43 | 显示全部楼层

回复 6楼 ChaChing 的帖子

谢谢大哥!能加个箭头,由每个点(X,Y)指向每个点(x,y)吗?或者两点分别用不同的符号表示,比如(x,y)用“*”(X,Y)用小圆点!

[ 本帖最后由 cbufeng 于 2010-7-22 15:48 编辑 ]
发表于 2010-7-22 17:47 | 显示全部楼层

回复 7楼 cbufeng 的帖子

可以用annotation及dsxy2figxy达成, 但好像要写个loop!
有点烦杂又有点懒!
LZ先参照此帖15F试下
http://forum.vibunion.com/forum/viewthread.php?tid=89580
 楼主| 发表于 2010-7-23 09:27 | 显示全部楼层

回复 8楼 ChaChing 的帖子

首先谢谢大哥费心啦!

我刚刚试了下
P1=[x;X];P2=[y;Y];
plot([0,6],[0,10])
hold on
for k=1:15   
[ax,ay]=dsxy2figxy(gca,P1(:,k),P2(:,k));
annotation('arrow',ax,ay);
end
只能画第一个点对应的箭头。  貌似ax,ay的值改变不了!

谢谢,我用循环,不行,我一个一个的写可以,已经画好啦!

[ 本帖最后由 cbufeng 于 2010-7-23 11:13 编辑 ]

评分

1

查看全部评分

发表于 2010-7-23 09:59 | 显示全部楼层
那个档案dsxy2figxy在C:\Program Files\MATLAB\R2009a\help\techdoc\creating_plots\examples, 需复制至当前目录
发表于 2010-8-2 20:00 | 显示全部楼层
LZ有个小瑕疵, 多个对角线!

  1. X=[0.71,0.78,0.80,1.14,1.84,1.86,1.90,2.36,2.97,3.01,3.24,3.35,3.59,3.71,3.80];
  2. Y=[2.51,4.62,6.16,0.91,6.13,4.12,1.98,7.63,0.65,2.51,7.15,4.12,5.93,1.34,3.52];
  3. x=[2.36,1.62,2.07,1.88,3.39,2.18,3.02,3.48,5.14,3.49,4.68,4.95,3.41,4.61,4.72];
  4. y=[2.59,4.85,6.12,2.09,8.17,6.02,3.04,8.04,1.41,2.13,8.21,4.01,7.48,1.08,3.92];
  5. P1=[x;X];P2=[y;Y]; axis([0,6,0,10]); hold on
  6. for k=1:15   
  7. [ax,ay]=dsxy2figxy(gca,P1(:,k),P2(:,k));
  8. annotation('arrow',ax,ay);
  9. end; hold off
复制代码
 楼主| 发表于 2010-8-5 11:08 | 显示全部楼层

回复 11楼 ChaChing 的帖子

O(∩_∩)O~ 是啊!大哥细心!Thank you!

[ 本帖最后由 cbufeng 于 2010-8-5 14:46 编辑 ]
 楼主| 发表于 2010-8-9 15:08 | 显示全部楼层

回复 11楼 ChaChing 的帖子

大哥,如果我不用箭头,而用“*”表示(x,y)和“o”表示(X,Y),分别把对应两点连接起来,应该如果改语句。
我搞了很久还是搞不出来,请大哥能否提示下!谢谢!

[ 本帖最后由 cbufeng 于 2010-8-9 15:14 编辑 ]
123.gif
发表于 2010-8-9 17:14 | 显示全部楼层

回复 楼主 cbufeng 的帖子

布错,学习了哈
发表于 2010-8-9 20:21 | 显示全部楼层

回复 13楼 cbufeng 的帖子

X=[0.71,0.78,0.80,1.14,1.84,1.86,1.90,2.36,2.97,3.01,3.24,3.35,3.59,3.71,3.80];
Y=[2.51,4.62,6.16,0.91,6.13,4.12,1.98,7.63,0.65,2.51,7.15,4.12,5.93,1.34,3.52];
x=[2.36,1.62,2.07,1.88,3.39,2.18,3.02,3.48,5.14,3.49,4.68,4.95,3.41,4.61,4.72];
y=[2.59,4.85,6.12,2.09,8.17,6.02,3.04,8.04,1.41,2.13,8.21,4.01,7.48,1.08,3.92];
plot(x,y,'o'); hold on; plot(X,Y,'*'); legend('实际点','估计点')
plot([x;X],[y;Y]); xlabel('x/m'); ylabel('y/m'); hold off
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-19 11:07 , Processed in 0.074538 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表