Миграция MuPAD® блокноты в MATLAB® live скрипты, которые используют код MATLAB. Live скрипты являются интерактивным способом запуска кода MATLAB. Для получения дополнительной информации смотрите Что такое Live Script или Function?. Блокноты MuPAD преобразуются в live скрипты с помощью Symbolic Math Toolbox™. Для получения дополнительной информации смотрите Запуск с Symbolic Math Toolbox.
.mn
в Live Script MATLAB .mlx
Подготовьте блокнот: Этот шаг является необязательным, но помогает избежать ошибок преобразования и предупреждений. Проверьте, содержит ли записной блокнот непереводимые объекты из объектов MuPAD, которые не преобразуются. Эти объекты вызывают ошибки перевода или предупреждения.
Преобразуйте блокнот: Использовать convertMuPADNotebook
. Для примера преобразуйте myNotebook.mn
в текущей папке, в myScript.mlx
в той же папке.
convertMuPADNotebook('myNotebook.mn','myScript.mlx')
Также щелкните правой кнопкой мыши блокнот в браузере Текущей папки и выберите Open as Live Script.
Проверяйте на ошибки или предупреждения: Проверяйте выход convertMuPADNotebook
для ошибок или предупреждений. Если их нет, перейдите к шагу 7. Например, этот выход означает, что преобразованный live скрипт myScript.mlx
имеет 4
ошибки и 1
предупреждение.
Created ''myScript.mlx': 4 translation errors, 1 warnings. For verifying... the document, see help.
Ошибка перевода означает, что переведенный код не будет запускаться правильно, в то время как предупреждение о переводе указывает, что код требует проверки. Если код содержит только предупреждения, он, вероятно, будет запускаться без проблем.
Исправьте ошибки перевода: Откройте преобразованный live скрипт, нажав ссылку в выходах. Поиск ошибок путем поиска ERROR
. Ошибка объясняет, какая команда MuPAD не была правильно переведена. Для получения дополнительной информации и исправлений нажмите ERROR
. После устранения ошибки удалите сообщение об ошибке. Список ошибок перевода см. в разделе Диагностика ошибок перевода MuPAD в MATLAB. Если вы не можете исправить ошибку и известные проблемы не помогают, обратитесь в службу технической поддержки MathWorks.
Исправить предупреждения о переводе: Найти предупреждения путем поиска WARNING
. Предупреждающий текст объясняет проблему. Для получения дополнительной информации и исправлений нажмите WARNING
. Решите либо адаптировать код, либо проигнорировать предупреждение. Затем удалите предупреждающее сообщение. Список предупреждений о переводе см. в разделе Поиск и устранение проблем с MuPAD в MATLAB Translation Warnings.
Проверьте live скрипт: Откройте live скрипт и проверьте на неожиданные команды, комментарии, форматирование и так далее. Для читаемости преобразованный код может потребовать ручной очистки, такой как исключение вспомогательных переменных.
Выполните live скрипт: Убедитесь, что код запускается правильно и возвращает ожидаемые результаты. Если результаты не ожидаются, проверьте код MuPAD на наличие известных проблем, перечисленных ниже.
Чтобы преобразовать графику MuPAD, сначала попробуйте преобразовать команды plot MuPAD, которые сгенерировали графику. Этот подход гарантирует, что вы можете управлять графическим выходом в MATLAB, подобным MuPAD. Если вы не можете преобразовать команды MuPAD, которые производят графику, то можно экспортировать графику в векторные или растровые форматы.
Это известные проблемы при преобразовании блокнотов MuPAD в live скрипты MATLAB с convertMuPADNotebook
функция. Если ваша проблема не описана, обратитесь в службу технической поддержки MathWorks.
Разверните список, чтобы просмотреть объекты MuPAD, которые не преобразованы. Чтобы избежать ошибок преобразования и предупреждений, удалите эти объекты или команды из вашего блокнота перед преобразованием.
В MATLAB, когда символьным переменным присваиваются значения, выражения, содержащие эти значения, не обновляются автоматически.
last(1)
в MuPAD не ans
в MATLABВ MuPAD, last(1)
всегда возвращает последний результат. В MATLAB, ans
возвращает результат последней неназначенной команды. Для примера в MATLAB, если вы запускаете x = 1
, затем вызов ans
не возвращается 1
.
solve
Неправильный доступ к результатамКогда результаты MuPAD solve
имеют доступ, convertMuPADNotebook
принимает, что результатом является конечное множество. Однако, если результатом является не конечное множество, то код неправильно переводится.
break
Внутренние case
Неверно переведенВ MuPAD, a break
завершает корпус в корпусе переключателя. Однако MATLAB не требует break
чтобы закончить дело. Таким образом, MuPAD break
представляет ненужное break
в MATLAB. Кроме того, если случай MuPAD опускает break
, тогда случай MATLAB не упадет.
Хотя наиболее часто используемые графические опции MuPAD переведены, существуют некоторые опции, которые не переведены.
Операции с матрицами не всегда преобразуются правильно. Для примера, если M
является матрицей, тогда exp(M)
в MuPAD неправильно переведен в exp(M)
вместо матричной экспоненциальной expm(M)
.
indets
Поведение в MATLAB отличаетсяindets
переведен в MATLAB symvar
. Однако, symvar
не находит связанных переменных или постоянных идентификаторов, таких как PI
в MuPAD.
factor
Отличается MATLABТип возврата MuPAD factor
не имеет эквивалента в MATLAB. Последующие операции по результатам factor
в MATLAB могут быть возвращены неправильные результаты.
Системы блокнотов не преобразуются.
Блокноты MuPAD не преобразуются.
Графики MuPAD не являются интерактивными в live скриптах.
Заголовки или заголовки в блокнотах MuPAD не всегда обнаруживаются.
Текстовый атрибут MuPAD underline
не преобразован
Форматирование текста: Шрифт, размер шрифта и цвет не преобразуются. Весь текст в live скриптах выглядит одинаково.
Для синтаксических различий между MATLAB и MuPAD, смотрите Различия между MATLAB и MuPAD Синтаксис.