Поиск и устранение проблем с предупреждениями о переводе MuPAD в MATLAB

Эта страница помогает диагностировать предупреждения, сгенерированные convertMuPADNotebook функция при преобразовании MuPAD® блокноты в MATLAB® live скрипты. Шаги преобразования см. в разделе Преобразование блокнотов MuPAD в Live скрипты MATLAB. Для устранения неполадок см. раздел Диагностика ошибок перевода MuPAD в MATLAB.

Предупреждающее сообщениеЗначениеРекомендации
Преобразование функции псевдонима как назначения и функции unalias как удаление назначения.

Система MuPAD alias и unalias функция позволяет вам создать и удалить псевдоним ( сокращение) для любого объекта MuPAD. Например, можно создать псевдоним d для diff функция: alias(d = diff).

Создание псевдонимов недоступно в MATLAB. При переводе файла блокнота, convertMuPADNotebook заменяет псевдонимы на назначения.

Проверьте полученный код. Если вы не хотите, чтобы псевдоним MuPAD был преобразован в назначение в MATLAB, измените код так, чтобы он не использовал псевдоним.

Замена анимации на последнюю систему координат.

Анимации MuPAD не могут быть правильно воспроизведены в MATLAB. При переводе файла блокнота, convertMuPADNotebook заменяет анимацию на статическое изображение, показывающее последнюю систему координат анимации.

Проверьте полученный код. Последняя система координат может не быть идеальным для некоторых анимаций. Если вы хотите, чтобы статическое изображение показало любую другую систему координат анимации, перепишите код MuPAD так, чтобы он создал статический график, показывающий это изображение. Если вы хотите воссоздать анимацию, перепишите код в MATLAB с помощью fanimator и playAnimation.

Потенциально неправильный код MuPAD «{0}». Замена на «{1}».

При переводе файла блокнота, convertMuPADNotebook обнаружил, что часть кода в блокноте MuPAD может быть неправильной. Например, код, по-видимому, имеет опечатку, или обычно используемый аргумент отсутствует.

convertMuPADNotebook исправил его.

Проверьте исправленный код. Затем удалите это предупреждение.

Недопустимое назначение для записи таблицы. Замена ее определением процедуры.

При переводе файла блокнота, convertMuPADNotebook рассматривалось назначение запоминающей таблице в блокноте MuPAD как непреднамеренное и заменено на определение процедуры. Для примера - назначение, такое как f(x):=x^2 заменяется на f:= x->x^2.

Проверьте исправленный код. Затем удалите это предупреждение.

Замена области MuPAD анонимной функцией, которая создает объекты, подобные элементам этой области.

Области представляют типы данных в MuPAD. Они недоступны в MATLAB.

convertMuPADNotebook преобразовал область MuPAD в анонимную функцию MATLAB, которая создает объекты, подобные элементам области. Для примера код линии f:=Dom::IntegerMod(7) преобразуется в анонимную функцию MATLAB f = @(X)mod(X,sym(7)).

Проверьте полученный код. Проверьте, является ли анонимная функция MATLAB правильным переводом области в этом случае, и что код все еще имеет необходимую функциональность.

Игнорирование команды addpattern. Конфигурируемый блок соответствия шаблона недоступен в MATLAB.

addpattern функциональность недоступна в MATLAB.

Настройте код, чтобы избежать использования addpattern.

Игнорирование утверждений.

Утверждения недоступны в MATLAB. При переводе файла блокнота, convertMuPADNotebook игнорирует значения.

Проверьте полученный код. Если утверждения не являются существенной частью вашего кода, вы можете игнорировать это предупреждение. Однако, если ваш код полагается на утверждения, можно реализовать их с помощью условных операторов, таких как if-then.

Игнорирование назначения переменного окружения MuPAD.

Переменные окружения являются глобальными переменными, такими как HISTORY, LEVEL, ORDERи так далее, которые влияют на поведение алгоритмов MuPAD.

Проверьте полученный код. Если назначение переменного окружения не важно для вашего кода, просто удалите предупреждение.

В некоторых случаях можно использовать аргументы пары "имя-значение" в каждом вызове функции, например, установка значения Order в taylor вызов функции.

В других случаях соответствующая замена отсутствует. Отрегулируйте код так, чтобы он не требовал глобальной настройки.

Игнорирование назначения защищенной постоянной или функции MuPAD.

Имена встроенных функций MuPAD, опций и констант защищены. Если вы пытаетесь назначить значение функции MuPAD, опции или константе, система выдает ошибку. Этот подход гарантирует, что вы не будете перезаписывать встроенную функциональность случайно.

Проверьте полученный код. Проверьте, является ли проигнорированное назначение важным для правильности кода и результатов. Если это так, отрегулируйте код так, чтобы он не использовал это назначение, но все еще имеет необходимую функциональность. Если это не важно, просто удалите это предупреждение.

Игнорирование опции «hold».

hold недоступен в MATLAB.

Настройте код, чтобы избежать использования hold.

Игнорирование команды info. Информация недоступна в MATLAB.

Функции MATLAB не имеют связанной информации.

Для получения информации о функции см. документацию MATLAB.

Игнорирование опций «{0}».

Эти опции доступны в MuPAD, но недоступны в MATLAB. Поскольку они не являются существенными для этого кода, convertMuPADNotebook игнорирует их.

Проверьте полученный код. Проверьте, необходимы ли проигнорированные опции для правильности кода и результатов. Если они есть, отрегулируйте код так, чтобы он не использовал эти опции, но все равно имел нужную функциональность. Если они не являются существенными, просто удалите это предупреждение.

Игнорирование переменных пути MuPAD.

Переменные окружения MuPAD FILEPATH, NOTEBOOKPATH, WRITEPATH, и READPATH позволяют вам задать рабочие папки для записи новых файлов, поиска файлов, загрузки файлов и так далее, если вы не задаете полный путь к файлу.

Эти переменные окружения недоступны в MATLAB.

Проверьте полученный код. Проверьте, необходимы ли проигнорированные переменные пути для правильности кода и результатов. Если они есть, отрегулируйте код так, чтобы он не использовал эти настройки, но все равно имел нужную функциональность. Если они не являются существенными, просто удалите это предупреждение.

Игнорирование выборов MuPAD из-за отсутствия эквивалентной настройки в MATLAB.

Система MuPAD Pref библиотека предоставляет набор функций, которые могут использоваться для установки и восстановления настроек, таких как использование сокращений в выходах, представление чисел с плавающей запятой, предел памяти на сеансе MuPAD и так далее.

MATLAB использует sympref для нескольких настроек, таких как установка параметров преобразования Фурье, установка значения функции Heaviside в 0 или включение и отключение сокращений в выходах. Большинство настроек не может быть переведено в код MATLAB.

Проверьте полученный код. Проверьте, необходимы ли проигнорированные настройки для правильности кода и результатов. Если они не являются существенными, просто удалите это предупреждение.

Игнорирование вызова переменного механизма защиты.

Имена встроенных функций MuPAD, опций и констант защищены. Если вы пытаетесь назначить значение функции MuPAD, опции или константе, система выдает ошибку. Этот подход гарантирует, что вы не будете перезаписывать встроенную функциональность случайно.

Защита процедур и функций от перезаписи недоступна в MATLAB. При переводе файла блокнота, convertMuPADNotebook игнорирует соответствующий код MuPAD.

Проверьте полученный код. Проверьте, является ли проигнорированный вызов механизма переменной защиты важным для правильности кода и результатов. Если это так, отрегулируйте код так, чтобы он не использовал этот вызов, но все еще имеет необходимую функциональность. Если это не важно, просто удалите это предупреждение.

Игнорирование значения по умолчанию при перемещении таблицы.

Таблицы MuPAD позволяют вам задать значение по умолчанию. Это значение возвращается, когда вы индексируете в таблицу, используя индекс, для которого запись не существует. Для примера, если вы создаете таблицу с помощью T := table(a = 13,c = 42,10), а затем индексируйте в него с помощью T[b], результатом является 10.

Значения по умолчанию для таблиц не могут быть переведены в MATLAB. При переводе файла блокнота, convertMuPADNotebook игнорирует соответствующее значение.

Проверьте полученный код. Проверьте, важно ли проигнорированное значение для правильности кода и результатов. Если значения по умолчанию для таблиц не являются важными, просто удалите это предупреждение. В противном случае можно создать функцию MATLAB, которая проверяет, containers.Map ли объект, соответствующий таблице MuPAD, имеет определенный ключ, а если нет, возвращает значение по умолчанию.

Невозможно решить, на какой объект ссылается индексация, вместо этого используя типовой перевод.

Когда класс объекта, в который индексируется, неоднозначен, то convertMuPADNotebook по умолчанию присваивается общий перевод для индексации.

Проверьте, что типовой перевод возвращает правильный результат. Если нет, настройте код.

Возможно, отсутствует знак умножения.

Не пропускайте знаки умножения в кодах MuPAD и MATLAB. Оба языка требуют, чтобы вы вводили знаки умножения явно. Для примера выражение x(x + 1) необходимо ввести как x*(x + 1).

Проверьте преобразованный код. Проверьте, не пропустили ли вы знак умножения. При необходимости исправьте код.

Выражение, используемое как оператор. Возможно, предназначались «запасные».

В качестве функции используется арифметическое выражение. convertMuPADNotebook попытка исправить ошибку.

Проверьте, что перевод возвращает правильный результат. Если нет, настройте код.

Механизм пакета MuPAD недоступен в MATLAB.

Механизм пакета MuPAD недоступен в MATLAB.

Настройте код, чтобы избежать использования механизма пакета MuPAD.