matlab 鼠标响应函数,关于matlab鼠标响应
今天看了一下Matlab中响应鼠标的事件,整理如下,
(1)函数WindowButtonMotionFcn,当鼠标在窗口上运动的时候就会相应此函数,于是在此函数中可以设置运动时想要的代码,如:改变鼠标的形状:
1 if满足某一个条件2 set(gcf,‘Pointer‘,‘hand‘) %设置为手的形状3 else
4 set(gcf,‘Pointer‘,‘arrow‘) %设置为箭头的形状5 end
(2)函数WindowButtonDownFcn,当鼠标按下去的时候就会响应的函数,但是鼠标按下分为左键和右键,如何区分:
1 if strcmp(get(gcf,‘SelectionType‘),‘alt‘)2 %此时即为右键3 elseif strcmp(get(gcf,‘SelectionType‘),‘normal‘)4 %此时即为左键5 end
属性SelectionType用来判断鼠标按键的类型,可能的值包括(Windows系统上):
normal:代表单击鼠标左键;
extend:代表Shift+左键,或者同时按左右键;
alt:代表Ctrl+左键,或者单击右键;
open:代表双击鼠标任意键。
(3)函数WindowButtonUpFcn,当鼠标被按下后起来的时候的响应函数,同理,可以在里面设置自己想要的代码。
(4)有时候这些函数会综合使用,如:利用Matlab设计一个画图板的时候,经常用得到。
举个栗子:
第一种途径:ginput()函数
ginput提供了一个十字光标使我们能更精确的选择我们所需要的位置,并返回坐标值。函数调用形式为:
[x,y] = ginput(n)
[x,y] = ginput
[x,y,button] = ginput(...)
对于[x,y] = ginput(n),能使你从当前的坐标系中读取n个点,并返回这n个点的x,y坐标,均为nX1的向量。可以按回车提前结束读数。
[x,y] = ginput 可以无限的读取坐标直到按下回车键。
[x,y,button] = ginput(...) 返回x和y的坐标,以及button值(1=左键,2=中,3=右)或者按键的ASXII码值。
第二种途径:利用figure的WindowButtonDownFcn属性。当你在图上按下鼠标的时候,可通过该属性定义一个回调程序。回调程序可以是一个有效的Matlab表达式或者一个M文件。
那么为显示当前鼠标按下时的坐标值,我们可以将其定义为一个坐标获取和显示程序。
例如:
1 %主函数2 function test_mouse_track()3 figure;4 axis([-10,10,0,5]);5 set(gcf,‘WindowButtonDownFcn‘,@ButttonDownFcn);
1 %回调函数2 function ButttonDownFcn(src,event)3 pt = get(gca,‘CurrentPoint‘);4 x = pt(1,1);5 y = pt(1,2);6 fprintf(‘x=%f,y=%f\n‘,x,y);
附:http://zhidao.baidu.com/link?url=10iOFLUKbZHWtwQr02h7LjAYomOQXzJdufxQkBrOi-8HJZmx9fJ2WA1UDbtX0zkg-KS_aOykjmzLq4dCNOYrDxt4VrnnzFJD-sI8uQ871Hu
http://blog.sina.com.cn/s/blog_4d633dc70100nvl0.html
原文:http://www.cnblogs.com/wangduo/p/5572901.html
matlab 鼠标响应函数,关于matlab鼠标响应相关推荐
- 用matlab的编程法和游动鼠标法求二阶传递函数的上升时间、峰值时间、超调量和调节时间 - Gavin_Hall的博客 - CSDN博客
1. 准备 终值:c(∞) 上升时间 tr:响应从峰值的10%上升到峰值的90%所需要的时间:而阶跃响应则是从终值的10%上升到终值的90%所需要的时间:对有振荡的系统,也可以定义为从0到第一次到达终 ...
- Matlab:连续按键、移动鼠标、鼠标点击、鼠标连点、输入字符,10行代码即可。
Matlab也可以实现按键J灵的一些基本功能,比如:连续按键.移动鼠标.鼠标点击.鼠标连点和输入字符!其中, "连续按键":指间隔一定的时间(如:0.1s)按一下某个按键(如:键盘 ...
- 【计算机图形学课程】二.MFC鼠标响应函数模拟画图软件
上一篇文章我们讲述MFC绘制图形的基本函数,包括绘制直线.绘制矩形.绘制椭圆及绘制文字,同时通过绕圆旋转和矩形平移简单的理解了图形学知识.这篇文章我将介绍鼠标响应和键盘响应,通过这些事件让学生实现一个 ...
- matlab求系统全响应,利用matlab求LTI连续系统的响应
<利用matlab求LTI连续系统的响应>由会员分享,可在线阅读,更多相关<利用matlab求LTI连续系统的响应(3页珍藏版)>请在人人文库网上搜索. 1.实验3 利用mat ...
- matlab复现,考虑综合需求响应和阶梯型碳交易机制的综合能源系统优化调度策略
matlab复现,考虑综合需求响应和阶梯型碳交易机制的综合能源系统优化调度策略. 关键词,综合能源系统,碳交易机制,综合需求响应. matlab复现,考虑综合需求响应和阶梯型碳交易机制的综合能源系统优 ...
- 利用matlab求零输入响应波形,实验3 利用matlab求LTI连续系统的响应
实验3 利用matlab求LTI连续系统的响应 一. 实验目的: 1. 了解LTI系统的冲激响应h(t)及matlab实现: 2. 了解LTI系统的阶跃响应g(t)及matlab实现: 3. 了解LT ...
- MATLAB代码:含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度 计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型
MATLAB代码:含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度 关键词:需求响应 空调负荷 电动汽车 微网优化调度 虚拟电厂调度 参考文档: <计及电动汽车和需求响应的多类电力市场下虚拟 ...
- css标签鼠标移动事件,CSS鼠标响应事件经过、移动、点击示例介绍
几种鼠标触发CSS事件. 说明: onMouseDown 按下鼠标时触发 onMouseOver 鼠标经过时触发 onMouseUp 按下鼠标松开鼠标时触发 onMouseOut 鼠标移出时触发 on ...
- matlab中response函数,matlab函数的种类
突然发现matlab的函数还是很有讲究的,以前只是用,很少注意这个问题,现在看到了稍微总结一下吧. 在matlab帮助中搜索Types of Functions,可以看到matlab常用的函数种类: ...
最新文章
- 斐波那契算法举例(iterative Fibonacci algorithm)
- 修改文件的所属用户和所属用户组
- mysql分片库分页查询_mysql数据库分页查询优化
- php add 返回id,PHP curl_multi_close函数
- hdu 1054 Strategic Game 最小点覆盖 = 最大二分匹配
- 10篇写给Git初学者的最佳教程
- linux signal 处理
- 惠普HP1280墨盒型号
- bash 别名_必不可少的Bash别名
- SolrClient或SolrTemplate写入时连接solr服务器超时问题的一种解决方案
- 全向轮机器人逆时针自旋运动分析
- HDOJ 1713 相遇周期 (最大公约数与最小公倍数)
- 当客户需要被当作“傻瓜”时,请不要客气
- htm的head标签各元素分享
- 信捷PLC C功能块编程经验分享
- div盒子边框圆角_div css圆角边框怎么设置
- OSPF开销值、协议优先级及计时器的修改
- Python 小程序:计算24点
- 双十一适合买什么,缓解失眠助眠好物推荐榜
- Java 切换win10壁纸
热门文章
- 网络OSI七层模型及各层作用
- Vision Transformer(iGPT,ViT,DERT,IPT,TransReID,TransGAN,TNT,CvT)
- php 关键词设置,关键词库URL设置
- 清扫机器人罗比与遗传算法,轮盘赌算法(算法)
- 用python将图片上传到SM.MS图床
- (四)计算机取证-用FTK Imager-X ways Forensics取证复制
- 我们都老得太快,却聪明得太迟
- 浙江计算机二级操作题内容,浙江省计算机二级上机操作题(新)
- 十周年再发重磅新品,小米发布50倍潜望式变焦小米10青春版、MIUI 12
- Boosted Cascaded Convnets for Multilabel Classification of Thoracic Diseases in Chest Radiographs翻译