视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Matlab 中 Timer 的使用(基础)
2025-09-30 19:41:05 责编:小OO
文档
Matlab 中 Timer 的使用

鉴于 Matlab 中缺乏多线程机制,使用 Timer 无疑是一个很重要的工具,Matlab 中 Timer 是一个 Java 对象。

Timer 的定义

t=timer();

设置属性:

eg. set(t,'Name','your_timer_name');

当然可以一次性设置完成:

例如:

TaskTimer=timer(...

'Name','FebirdTimer',...

'TimerFcn',@ExecuteTask,...

'ErrorFcn',@ExecuteError,...

'Period',1,...

'ExecutionMode','fixedrate');

这里 TimerFcn 为 Timer 执行的函数,后面的 ‘@ExcuteTask’ 就是你定义的函数名

同样 ErrorFcn 也是一样。

Period 为执行周期,ExecutionMode 为执行模式,fixedrate 为固定频率。当然前面所说的都是在这个前提之上。

关于 TimerFcn 的定义

当以 TimerFcn 的定义默认必须有两个参数

function ExcuteTask(obj,eventdata)

% TODO

end

其中 obj 为执行该函数所对应的 timer 对象,eventdata 为事件数据,一般里面为具体时间。

当需要在 ExcuteTask 中传入参数的时候,那么 Timer 可以这样定义:

set(t,'TimerFcn',{@ExecuteTask,var1});

那么这时函数定义应该为:

function ExcuteTask(obj,eventdata,var1)

% TODOend

其他函数的定义也类似。

t=[0]

lh=plot(t,sin(t),'-');

t=timer(...

'Name','FebirdTimer',...

'TimerFcn',@ExecuteTask,...

'ErrorFcn',@ExecuteError,...

'Period',1,...

'ExecutionMode','fixedrate');

ud=struct{'linehanle',lh,'count',0} ;

set(t,'UserData',ud);

function ExcuteTask(obj,eventdata)

ud=obj.UserData;

l=ud.linehandle;

c=ud.count;

t=get(l,'XData');

y=get(l,'YData');

t=[t count];

y=[y sin(0.1*count)];

set(lh,'XData',t,'YData',y);

drawnowud.count=ud.count+1;

set(obj,'UserData',ud);

end

以上给出了一个使用 Timer 画图的方法

关于 Timer 的函数

1.start();

2.stop();

3.timerfind();

eg.删除所有的 timer

ts=timerfind;

if length(ts)>0

stop(ts);

delete(ts);

end

通过 Name 查找特定的 Timer:

t=timerfind('Name','FebirdTimer');

已有 gui.m 文件和 gui.fig 文件

1.在 matlab 的 command 窗口中输入

mcc -B sgl GUI.m

2.将上步生成的文件包括*m 文件和*.fig 文件一起考到待运行的机器

此时仍需 matlab 所必需的动态连接库。

3. 将 /extern/lib/win32/mglinstallar.exel 拷贝到到待运行机器上,如果是 7.0 以上版本,应该是 MCRInstaller.exe,

路径:\oolbox\\compiler\\deploy\\win32\\MCRInstaller.exe

4.在机器上先运 mglinstallar.exe(MCRInstaller.exe), 然后选择解压目录,将在将在指定目录下解压缩出 bin 和 toolbox 两个子目录,

其中在 bin\\win32 目录下就是数学库和图形库脱离 MATLAB 运行所需的所有动态连接库,共有37 个。可以将这些.dll 考入 system32, 也可以直接放在应用程序目录下。

而 toolbox 目录则必须与应用程序同一目录。

5.大功告成。

mcc -m GUIchengxu

so easy!下载本文

显示全文
专题