Альтернатива «evalin» с помощью конструктора приложений MATLAB

#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 функцию?