《量化投资:以MATLAB为工具》

MATLAB技术论坛

 找回密码
 注册账号
查看: 5352|回复: 8
收起左侧

[样章] 每日一函数:ginput

  [复制链接]
发表于 2011-5-25 09:47:52 | 显示全部楼层 |阅读模式
ginput ★★★★★

目录
• 功能说明
• 函数语法
• 参数解析
• 经验之谈
• 典型实例
• 更多链接

功能说明
通过鼠标或键盘单击交互式获取所选点的坐标。

函数语法
[x,y] = ginput(n)
[x,y] = ginput
[x,y,button] = ginput(...)

参数解析
[x,y] = ginput(n)
在坐标系中通过鼠标或键盘单击(鼠标左中右键,或键盘任意键均可)交互式获取n个点的坐标数据,返回x和y坐标值保存到列向量x和y中。按回车键,将提前终止数据获取。

[x,y] = ginput
获取任意个点的坐标数据,直到按回车键,则终止并返回所有单击点的坐标数据。

[x,y,button] = ginput(...)
返回所选点的坐标数据,同时返回数据采集时的鼠标或键盘操作button,1表示鼠标左键,2表示鼠标中键,3表示鼠标右键,ASCII数据对应相应的键盘按钮。

经验之谈
ginput函数会在当前坐标系十字准线,方便您定位需要鼠标单击输入的点。如果没有窗体或坐标系,MATLAB会创建一个窗体,并根据第一个单击点自动创建一个坐标系。

ginput函数支持同时在同一个figure下多坐标系中采集数据,此时采集的数据都相对于自己的坐标系。

ginput采集的数据都是相对坐标轴的坐标而言,与axes和figure的Units属性无关。

如果在坐标系范围之外单击,此时MATLAB会相对坐标系的原点,自动进行数据外插值。

典型实例
从当前坐标系中获取6个点的坐标数据,然后用直线连接6个点。
x=rand(10,1);
y=rand(10,1);
plot(x,y,'o');
set(gca,'xlimmode','manual','ylimmode','manual'); % 将坐标系范围固定,防止绘图的时候自动缩放
[xx,yy]=ginput(10); % 获取十个数据,由于题目只要求6个点,所以请读取第六个点后,按回车键提前返回
hold on
plot(xx,yy)

更多链接
gtext
发表于 2011-5-25 11:04:32 | 显示全部楼层
恩,不错,如果是视频的话就更好了
发表于 2011-5-26 19:21:07 | 显示全部楼层
谢谢分享,共同努力
发表于 2011-5-28 11:53:00 | 显示全部楼层
楼主发帖辛苦了,谢谢楼主分享!
我一天不来MATLAB技术论坛就不爽~~~~
发表于 2011-5-28 17:40:37 | 显示全部楼层
请教楼主使用ginput()取点时,要怎样使其只能够在坐标轴范围内取点,不让其在坐标范围外取点?
发表于 2011-5-30 10:46:25 | 显示全部楼层
哥顶的不是帖子,是寂寞!我觉得MATLAB技术论坛是注册对了!
发表于 2011-6-17 12:51:29 | 显示全部楼层
有图片就更好了,下次可以加张图片的
发表于 2011-6-26 23:38:53 | 显示全部楼层
发表于 2011-7-25 16:51:28 | 显示全部楼层
恩,谢谢分享
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|网站地图|MATLAB技术论坛|Simulink仿真论坛 ( 蜀ICP备19014457号-2 

GMT+8, 2022-12-5 23:28 , Processed in 0.058593 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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