#matlab #matlab-compiler #matlab-app-designer
Вопрос:
Я создаю приложение, которое в конечном итоге хочу скомпилировать как отдельное приложение. Приложение создает графический интерфейс для уже существующей программы MATLAB, и я дважды использую функцию evalin следующим образом.
Во-первых, я запускаю функцию «пуск» следующим образом
evalin("base",'func.start')
Это создает несколько экземпляров переменных, необходимых для запуска графического интерфейса.
Затем я запускаю следующий код для чтения в одной из переменных в рабочей области AppDesigner.
fx = evalin("base",'fx')
Я хотел посмотреть, существует ли развертываемая альтернатива «evalin», которая может быть скомпилирована компилятором MATLAB. Любая помощь будет очень признательна!
Комментарии:
1. Почему бы просто не запустить
func.start
свою функцию? Почему это необходимо оценивать в базовой рабочей области? — Просто для ясности, из приведенных вами подробностей мы понятия не имеем, что происходит и зачемevalin
это нужно. В принципе , вам это не нужноevalin
, если только эта ранее существовавшая программа MATLAB не делает что-то действительно глупое и ее не нужно переписывать.2. @CrisLuengo Это то, что я пытаюсь понять. Я бы предпочел запустить func.start в самой функции. Я предполагаю, что вопрос в том, когда вы компилируете, существует ли только «одно» рабочее пространство, предполагающее, что вы включаете функцию func.start.m вместе с компиляцией? В этом случае имело бы смысл просто вызвать функцию напрямую. Я надеюсь, что в этом есть смысл.
3. Каждая функция имеет свое собственное рабочее пространство. Базовая рабочая область существует в интерактивном сеансе, не уверен, что она существует и для скомпилированной программы MATLAB. Но
eval
и связанные с ними блокируются компилятором (насколько я знаю), потому что это может обойти лицензионные требования для использования MATLAB.4.
func.start
что действительно важно — если вы предоставите некоторую информацию об этом, вы можете получить некоторые значимые предложения/помощь. Что происходит,matlab
когда вы запускаете самуfunc.start
функцию?