Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Чтобы преобразовать файл блокнота MuPAD в файл live скрипта MATLAB, смотрите convertMuPADNotebook
. Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, несмотря на то, что существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
И MATLAB и MuPAD имеют их собственные зарезервированные слова, такие как имена функций, специальные значения и имена математических констант. В MATLAB, если вы предоставляете выражение или уравнение как скаляр строки или вектор символов к какой-либо символьной функции кроме str2sym
, и входной текст содержит зарезервированные слова как имена переменных или имена функций по крайней мере в одном интерфейсе, затем ошибка может закончиться. Если вы работаете в одном интерфейсе, и имя является зарезервированным словом в другом, то интерфейс вы работаете в продуктах сообщения об ошибке и предупреждающие сообщения. Эти сообщения могут задать причину проблемы неправильно.
Лучший подход должен избегать использования зарезервированных слов как имен переменных или имен функций, особенно если вы используете оба интерфейса.
В MuPAD защищены имена функций. Обычно, система не позволяет вам переопределить стандартную функцию или использует ее имя в качестве переменной. (Чтобы смочь изменить стандартную функцию MuPAD, необходимо сначала удалить ее защиту.), Даже когда вы работаете в Окне Команды MATLAB, механизм MuPAD обрабатывает символьные вычисления. Поэтому имена функций MuPAD являются зарезервированными словами в этом случае. Используя имя функции MuPAD при выполнении символьных вычислений в Окне Команды MATLAB может привести к ошибке. Например:
evalin(symengine,'solve(D - 10)')
Error using symengine Invalid argument. Error in mupadengine/evalin (line 132) res = mupadmex(statement,output_type{:});
Сообщение не указывает на действительную причину проблемы.
Чтобы устранить эту проблему, используйте функцию syms
, чтобы объявить D
как символьную переменную. Затем передайте уравнение символьному решателю как символьное выражение (то есть, не задавайте уравнение как скаляр строки или вектор символов).
syms D solve(D - 10)
ans = 10
В этом случае программное обеспечение заменяет D
на другое имя переменной прежде, чем передать выражение механизму MuPAD.
Также преобразуйте уравнение, которое задано как скаляр строки или вектор символов и содержит необъявленное, зарезервированное имя переменной к символьному выражению с помощью str2sym
. Затем предоставьте выражение к solve
. Например:
clear all expsn = str2sym("D - 10"); solve(expsn)
ans = 10