У меня есть сценарий MATLAB, например:Запуск скомпилирован MATLAB из питона
function mat_foo(varargin)
params.x = 'aaa';
params = parse_input(params, varargin);
disp(params.x);
end
parse_input
функция У меня есть которые преобразуют данные из varargin
и переопределить значения по умолчанию в 'params'
структуры.
Я собирал эту функцию, и я хочу, чтобы вызвать его из питона, я делаю это следующим образом:
subprocess.check_call(['$/mat_foo.app/Contents/MacOS/applauncher x bbb'], shell=True)
params.x
Это устанавливает для 'bbb'
и работает хорошо.
Моя проблема в том, что каждый раз, когда я хочу вызвать скомпилированный MATLAB, он инициализирует MCR и занимает около 8-10 секунд. Мой вопрос в том, есть ли способ инициализировать MCR один раз и использовать его много раз быстрее? Я использую MATLAB R2013a и python 2.7.5 на OSX
Я видел скомпилированный код matlab, вызываемый из php без 10 секунд ожидания при каждом вызове. Поэтому, хотя я не знаю, как его достичь, это определенно возможно. Чтобы устранить невероятное, вы могли бы проверить, возникает ли проблема с функцией треугольника (которую вы можете показать здесь как воспроизводимый пример). –
@DennisJaheruddin: Возможно, код был сгенерирован с использованием matlab-кодера, такой код не требует MCR. – Daniel
@ Daniel Код был составлен мной, поэтому он определенно требует MCR. Я просто не знаю подробностей о том, как это называется, но я думаю, что это можно считать доказательством того, что это можно сделать. –