Как вызвать скрипт MATLAB во время выполнения по его имени - PullRequest
1 голос
/ 26 декабря 2011

Предположим, у меня есть 3 m-кода:

code1.m code2.m code3.m

, и я хочу, чтобы код для MATLAB "рисовал их вместе" в том смысле, что когда мы запускаем программу, нам предлагают, скажем,«enter code:», затем пользователь печатает: «code3» и затем запускается code3.m.

Я почти уверен, что для этого есть простой код, хотя я не могу вспомнитьэто.

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Этот вопрос состоит из двух частей, первой из которых является ввод данных пользователем: Matlab позволяет запрашивать ввод данных пользователем, как показано в этом руководстве: http://www.mathworks.com/help/techdoc/ref/input.html

strResponse = input(prompt, 's')

Вторая часть просто загружает файл и выполняет его, как описано @MetalRain http://www.mathworks.com/help/techdoc/ref/eval.html

eval(['load code' strResponse '.m'])

Обратите внимание, что matlab выполняет конкатенацию строк для вектора для вас, поэтому результат для ввода strResponse = 1 равен 'load code1.m'

1 голос
/ 28 декабря 2011

run или eval может это сделать. Вы получаете имя файла от input.

(возможно) менее гибкий, но более безопасный способ - использовать графическую версию input с именем inputdlg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...