1

我是一名业余 Matlab 用户,他试图编写代码以每 10 毫秒运行一次特定的函数调用,时间跨度为 1 秒。我无法让某些东西在确切的时间内运行;我曾尝试使用 Tic 和 Toc,但那是在几秒钟内(我需要毫秒精度)。这是我一直在尝试使用名为 getvelocity 的函数获取读数的一些非常基本的代码。任何帮助将不胜感激,谢谢!

function [ velocity ] = Vel()
i=1;
timerID=tic;

while (toc(timerID) <=2);
    [v(i)]=vpx_GetTotalVelocity;
    disp (v(i));
    i=i+1;
end
velocity=mean(v);


end

上面的代码运行了两秒钟;但是,我想以毫秒精度运行。

4

1 回答 1

0

假设您拥有的功能足够快(不是一个简单的假设),您可以像这样实现它:

tic
for t = 0.01:0.01:1 %If you want the first function call to start right away you can change this to 0:0.01:0.99
    while toc < t
    end
    t %Put your function call here.
end

请注意,0.01 秒是 10 毫秒

于 2013-07-02T12:54:17.343 回答