у меня есть переменная t=toc;
в функции MATLAB. t
изменяет значение в цикле. в настоящее время функция работает как пакетный процесс в Matlab. я хочу прочитать t
из вызывающей функции. Я попытался объявить t
глобальной переменной, к которой могут обращаться все функции. но это не работает в случае пакетного процесса. может кто подскажет что делать?
поделиться глобальной переменной с пакетным процессом в Matlab
Ответы (1)
Когда пакетный процесс выполняется на работнике Matlab (отдельный процесс). Этот рабочий процесс не может выполнять какие-либо другие действия, так как m-код является однопоточным. Вы не можете читать переменные из пакетного процесса, который не завершен.
В качестве возможного обходного пути вы можете записать необходимую информацию в файл и прочитать ее в своем основном экземпляре Matlab.
person
Daniel
schedule
26.03.2015
На самом деле я использую
imfreehand()
для обозначения региона. Выполняется функция с именем timestamp()
(это написано мной), которая выполняет операцию синхронизации. когда я использую imfreehand
, во время маркировки timestamp()
останавливается и начинается снова, когда маркировка завершена. но я хочу запустить операции маркировки и синхронизации для сбора. как это сделать?
- person sam ran; 27.03.2015
@samran: Из вашего комментария я не понимаю, что вы пытаетесь реализовать. Я рекомендую задать новый вопрос, где вы объясните, что вы пытаетесь реализовать. Если возможно, предоставьте краткий пример кода, объясняющий вашу проблему.
- person Daniel; 27.03.2015
batch('script')
, которую я использовал для запуска функции в виде пакетного процесса. надеюсь, это прояснит любые сомнения. - person sam ran   schedule 25.03.2015