Блокноты 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')
Переменные
и его значение (символьная матрица) появляется в рабочем пространстве 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
, имя функции (должен совпадать с именем файла), аргументы ввода и вывода и комментарии: