带输出的Matlab定时器功能

时间:2016-03-18 10:07:09

标签: matlab

有人知道如何从计时器功能返回输出吗?

我曾尝试在线搜索,但似乎没有解决方案。

示例代码是:

function d=abc
         d=rand(3,1);
end

t=timer('TimerFcn',@(~,~)abc,'ExecutionMode','fixedRate','Period',5);
start(t)

有谁知道如何保存' d'作为变量,拜托?

1 个答案:

答案 0 :(得分:1)

也许你可以用对象解决这个问题?定义一个保存数据的类:

classdef dataModel < handle
    properties
        step
    end
    methods
        function obj=dataModel()
            obj.step=0;
        end
        function incrementStep(obj)
            obj.step=obj.step+1
        end
    end
end

然后运行它:

data=dataModel
t=timer('TimerFcn',@(~,~)data.incrementStep,'ExecutionMode','fixedRate','Period',5);
start(t)

您需要某种参考来放置数据。其他可能性是全局变量或持久变量。