Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Чтобы преобразовать файл блокнота MuPAD в файл live скрипта MATLAB, смотрите convertMuPADNotebook
. Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, несмотря на то, что существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Процедура MuPAD является текстовым файлом, который можно написать в любом текстовом редакторе. Методические рекомендации должны использовать редактора MATLAB.
Чтобы задать процедуру, используйте функцию proc
. Заключите код в функции end_proc
и begin
:
myProc:= proc(n) begin if n = 1 or n = 0 then 1 else n * myProc(n - 1) end_if; end_proc:
По умолчанию процедура MuPAD возвращает результат последней выполняемой команды. Можно обеспечить процедуру, чтобы возвратить другой результат при помощи return
. В обоих случаях процедура возвращает только один результат. Чтобы получить несколько результатов процедуры, объедините их в список или другую структуру данных, или используйте функцию print
.
Если вы только хотите отобразить результаты и не должны использовать их в дальнейших вычислениях, используйте функцию print
. С print
ваша процедура все еще возвращает один результат, но распечатывает промежуточные результаты на экране. Например, эта процедура распечатывает значение своего аргумента в каждом вызове:
myProcPrint:= proc(n) begin print(n); if n = 0 or n = 1 then return(1); end_if; n * myProcPrint(n - 1); end_proc:
Если вы хотите использовать несколько результатов процедуры, используйте упорядоченные структуры данных, такие как списки или матрицы как возвращаемые значения. В этом случае результатом последней выполняемой команды является технически один объект, но это может содержать больше чем одно значение. Например, эта процедура возвращает список двух записей:
myProcSort:= proc(a, b) begin if a < b then [a, b] else [b, a] end_if; end_proc:
Избегайте использования неупорядоченных структур данных, таких как последовательности и наборы, чтобы возвратить несколько результатов процедуры. Порядок записей в этих структурах может измениться непредсказуемо.
Когда вы сохраняете процедуру, рекомендуется использовать дополнительный .mu
. Для получения дополнительной информации смотрите Файлы Notebook и Программные файлы. Имя файла может отличаться от имени процедуры. Кроме того, можно сохранить несколько процедур в одном файле.
Чтобы смочь вызвать процедуру, необходимо сначала выполнить код, задающий ту процедуру в блокноте. Если вы написали процедуру в том же блокноте, просто оцениваете входную область, которая содержит процедуру. Если вы написали процедуру в отдельном файле, необходимо считать файл в блокнот. Чтение файла означает находить его и выполнять команды в нем.
Если вы работаете в MuPAD Notebook и создаете отдельный программный файл, который содержит процедуру, используйте один из следующих методов, чтобы выполнить процедуру в блокноте. Первый подход должен выбрать Notebook> Read Commands из главного меню.
Также можно использовать функцию read
. Вызов функции read(filename)
ищет программный файл в этом порядке:
Папки, заданные переменной окружения READPATH
filename
рассматривается как абсолютный путь
Текущая папка (зависит от операционной системы),
Если вы хотите вызвать процедуру от Live Editor MATLAB, все еще необходимо выполнить ту процедуру прежде, чем вызвать ее. Смотрите Вызов Ваши Собственные Процедуры MuPAD.
Также можно добавить процедуру MuPAD, чтобы запустить команды конкретного блокнота. Этот метод позволяет вам выполнить процедуру каждый раз, когда вы запускаете двигатель блокнота. Запуститесь команды выполняются тихо без любых видимых выходных параметров в блокноте. Можно скопировать процедуру в диалоговое окно, которое задает команды запуска, или присоедините процедуру как скрипт запуска. Для получения информации смотрите, Скрывают Строки кода.
Можно расширить функциональность, доступную в тулбоксе путем записи собственных процедур в языке MuPAD. Этот раздел объясняет, как вызвать такие процедуры в Окне Команды MATLAB.
Предположим, что вы записали процедуру myProc
, которая вычисляет факториал неотрицательного целого числа.
Сохраните процедуру как файл с дополнительным .mu
. Например, сохраните процедуру как myProcedure.mu
в папке C:/MuPAD
.
Возвратитесь к Окну Команды MATLAB. Прежде, чем вызвать процедуру в командной строке MATLAB, введите:
read(symengine, 'C:/MuPAD/myProcedure.mu')
Команда read
читает и выполняет файл myProcedure.mu
в MuPAD. После этого можно вызвать процедуру myProc
с любым допустимым параметром. Например, вычислите факториал 15:
feval(symengine, 'myProc', 15)
ans = 1307674368000
Если ваша процедура MuPAD принимает аргументы вектора символов, заключите эти аргументы в два набора кавычек: двойные кавычки в одинарных кавычках. Одинарные кавычки подавляют оценку аргумента прежде, чем передать его процедуре MuPAD, и двойные кавычки позволяют MuPAD распознать, что аргумент является вектором символов. Например, эта процедура MuPAD преобразовывает вектор символов в нижний регистр и проверяет при возвращении, тот вектор символов изменяет его.
В Окне Команды MATLAB используйте команду read
, чтобы считать и выполнить reverted.mu
.
read(symengine, 'C:/MuPAD/reverted.mu')
Теперь, используйте feval
, чтобы вызвать процедуру reverted
. Чтобы передать аргумент вектора символов процедуре, используйте двойные кавычки в одинарных кавычках.
feval(symengine, 'reverted', '"Abccba"')
ans = 1