Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Чтобы преобразовать файл блокнота MuPAD в файл live скрипта MATLAB, смотрите convertMuPADNotebook
. Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, несмотря на то, что существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Symbolic Math Toolbox™ позволяет вам создать функцию MATLAB из символьного выражения. Функция MATLAB, созданная из символьного выражения, принимает числовые аргументы и выполняет выражение, применился к аргументам. Можно сгенерировать указатель на функцию или файл, который содержит функцию MATLAB. Сгенерированный файл доступен для использования в любом вычислении MATLAB, независим от лицензии на функции Symbolic Math Toolbox.
Если вы работаете в Live Editor MATLAB, смотрите, Генерируют функции MATLAB от Символьных выражений.
Когда вы используете приложение MuPAD Notebook, все ваши символьные выражения написаны в языке MuPAD. Чтобы смочь создать функцию MATLAB из таких выражений, необходимо преобразовать его в язык MATLAB. Существует два подхода для преобразования выражения MuPAD на язык MATLAB:
Присвойте выражение MuPAD переменной и копию что переменная от блокнота до рабочего пространства MATLAB. Этот подход позволяет вам создать указатель на функцию или файл, который содержит функцию MATLAB. Это также требует использования указателя на блокнот.
Сгенерируйте код MATLAB от выражения MuPAD в блокноте. Этот подход ограничивает ваши опции созданием файла. Можно пропустить создание указателя на блокнот.
Сгенерированная функция MATLAB может зависеть от подхода, который вы выбрали. Например, код может быть оптимизирован по-другому или не оптимизирован вообще.
Предположим, что вы хотите создать функцию MATLAB из символьной матрицы, которая преобразовывает сферические координаты любой точки к ее Декартовым координатам. Во-первых, откройте блокнот MuPAD с указателем notebook_handle
:
notebook_handle = mupad;
В этом блокноте создайте символьный матричный S
, который преобразовывает сферические координаты в Декартовы координаты:
x := r*sin(a)*cos(b): y := r*sin(a)*sin(b): z := r*cos(b): S := matrix([x, y, z]):
Теперь преобразуйте матричный S
в язык MATLAB. Выберите лучший подход для своей задачи.
Если ваш блокнот имеет указатель, как notebook_handle
в этом примере, можно скопировать переменные от того блокнота до рабочего пространства MATLAB с функцией getVar
, и затем создать функцию MATLAB. Например, чтобы преобразовать символьный матричный S
в функцию MATLAB:
Скопируйте переменную S
в рабочее пространство MATLAB:
S = getVar(notebook_handle,'S')
Переменный S
и его значение (символьная матрица) появляются в рабочем пространстве MATLAB и в Live Editor MATLAB:
S = r*cos(b)*sin(a) r*sin(a)*sin(b) r*cos(b)
Используйте matlabFunction
, чтобы создать функцию MATLAB из символьной матрицы. Чтобы сгенерировать указатель функции MATLAB, используйте matlabFunction
без дополнительных параметров:
h = matlabFunction(S)
h = @(a,b,r)[r.*cos(b).*sin(a);r.*sin(a).*sin(b);r.*cos(b)]
Чтобы сгенерировать файл, содержащий функцию MATLAB, используйте параметр file
и задайте путь к файлу и его имени. Например, сохраните функцию MATLAB в файл cartesian.m
в текущей папке:
S = matlabFunction(S,'file', 'cartesian.m');
Можно открыть и отредактировать cartesian.m
в редакторе MATLAB.
Чтобы сгенерировать код MATLAB от выражения MuPAD в блокноте MuPAD, используйте функцию generate::MATLAB
. Затем можно создать новый файл, который содержит пустую функцию MATLAB, скопируйте код и вставьте его там. Также можно создать файл с отформатированным вектором символов MATLAB, представляющим выражение MuPAD, и затем добавлять соответствующий синтаксис, чтобы создать допустимую функцию MATLAB.
В приложении MuPAD Notebook используйте функцию generate::MATLAB
, чтобы сгенерировать код MATLAB от выражения MuPAD. Вместо того, чтобы распечатать результат на экране, используйте функцию fprint
, чтобы создать файл и записать сгенерированный код в тот файл:
fprint(Unquoted, Text, "cartesian.m", generate::MATLAB(S)):
Если файл с этим именем уже существует, fprint
заменяет содержимое этого файла с конвертированным выражением.
Открытый cartesian.m
. Это содержит отформатированный вектор символов MATLAB, представляющий матричный S
:
S = zeros(3,1); S(1,1) = r*cos(b)*sin(a); S(2,1) = r*sin(a)*sin(b); S(3,1) = r*cos(b);
Чтобы преобразовать этот файл в допустимую функцию MATLAB, добавьте ключевые слова function
и end
, имя функции (должен совпадать с именем файла), аргументы ввода и вывода и комментарии: