Данные в реальном времени в Matlab

Я пытаюсь получить данные с сервера. Прямо сейчас я опрашиваю сервер каждые пару секунд для получения текущих значений. Мне интересно, возможно ли, чтобы Matlab получал данные в режиме реального времени или я застрял в своей текущей реализации. Кто-нибудь делал что-нибудь подобное? Если да, то, может быть, вы можете рассказать мне, как вы начали с этим.

Любая помощь будет принята с благодарностью. Спасибо!


person kyokley    schedule 01.10.2009    source источник


Ответы (2)


Если вы работаете в Windows, вы можете прослушивать события ActiveX (COM) с помощью REGISTEREVENT. Вам нужно будет предоставить элемент управления ActiveX (серверы тоже могут работать, я не уверен), который запускает событие, которое вызовет вашу функцию MATLAB.

person mtrw    schedule 01.10.2009
comment
Спасибо за предложение! Я не очень хорошо знаком с использованием ActiveX, но сможет ли это прервать уже запущенный сценарий Matlab? - person kyokley; 01.10.2009
comment
Я сомневаюсь в этом. Я думаю, что обратные вызовы запускаются только в том случае, если в это время ничего не запущено. Другой подход может заключаться в том, чтобы объект ActiveX собирал данные в потоке, а затем делал их доступными для MATLAB через функцию. Это будет похоже на ваше текущее решение для опроса, но поток будет находиться под вашим контролем, поэтому вы обеспечите его достаточной скоростью. - person mtrw; 02.10.2009

Matlab таймеры хорошо подходят для периодических событий. Вы должны быть осторожны, чтобы убедиться, что ваша функция выполняется за меньшее время, чем периодичность таймера, хотя существуют настройки для поведения, когда это не выполняется.

person Mark Elliot    schedule 02.10.2009