exponenta event banner

Устранение неполадок преобразования MuPAD в MATLAB

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

Сообщение об ошибкеПодробнееРекомендации
В MATLAB нет эквивалентного кода.

convertMuPADNotebook не удается найти соответствующую функциональность в MATLAB.

Настройте код таким образом, чтобы он использовал только функциональные возможности, которые могут быть выражены на языке MATLAB. Либо в целевом объекте .mlx некоторые функциональные возможности могут быть заменены функциональными возможностями MATLAB, такими как статистика или ввод-вывод файла.

Не удается перевести вторую и более высокие производные функций Эйри. Выразить эти производные в терминах функций Эйри и их первых производных.

MATLAB airy функция представляет функции Эйри первого и второго рода и их первые производные. В MuPAD, airyAi(z,n) и airyBi(z,n) может представлять собой вторую и более высокие производные функций Эйри, то есть n может быть больше 1.

Переписать вторые и высшие производные функций Эйри в терминах функций Эйри и их первых производных. Затем преобразуйте результат в код MATLAB.

MuPAD airyAi и airyBi функции возвращают результаты в терминах функций Эйри и их первых производных. Перед преобразованием кода в MATLAB можно заменить вторые и более высокие производные их выходами в MuPAD.

Не удалось преобразовать назначение переменной среды MuPAD.

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

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

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

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

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

Таблицы запоминания, созданные опцией remember или prog::remember недоступны в MATLAB.

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

Не удается преобразовать назначения в слоты доменов и функциональных сред.

В MuPAD, slot функция определяет методы и записи типов данных (доменов) или для определения атрибутов сред функций (тип домена DOM_FUNC_ENV). Эти методы и записи (слоты) позволяют перегружать системные функции собственными доменами и функциональными средами.

Домены, функциональные среды и их слоты недоступны в MATLAB.

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

Не удается преобразовать явно заданное кольцо коэффициента.

MuPAD позволяет использовать специальные кольца коэффициентов, которые не могут быть представлены арифметическими выражениями. Задание колец коэффициентов многочленов недоступно в MATLAB.

Настройте код так, чтобы он не использовал многочлены над специальными кольцами.

Не удается перевести complexInfinity.

MuPAD использует значение complexInfinity. Это значение недоступно в MATLAB.

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

Не удалось перевести код MuPAD, так как он использует устаревший синтаксис вызова.

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

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

Не удается преобразовать вызов функции «D» с несколькими аргументами.

Индексы в первом аргументе D невозможно перевести в имена переменных в MATLAB.

Использование MuPAD diff функция вместо D.

Не удается преобразовать домены MuPAD или команды для создания доменов или их элементов.

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

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

Не удалось преобразовать переменную среды MuPAD «{0}».

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

convertMuPADNotebook не удается преобразовать переменные среды MuPAD, поскольку они недоступны в MATLAB.

Настройте код так, чтобы он не требовал доступа к переменным среды MuPAD.

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

В MuPAD вызов функции f(x), где x является последовательностью n операнды, разрешает вызов с n аргументы.

MATLAB не может разрешить вызовы функций с последовательностями выражений в вызовы с несколькими аргументами.

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

Не удается преобразовать бесконечные наборы.

MuPAD распознает бесконечные множества. Например, solve функция в MuPAD может возвращать решение как бесконечное множество: solve(sin(x*PI/2) = 0, x) возвращает {2k'k∈ℤ}. Создать такие наборы можно с помощью Dom::ImageSet.

MATLAB не поддерживает бесконечные наборы.

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

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

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

В MATLAB, ans позволяет получить доступ только к одной последней команде.

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

Не удалось преобразовать переменную «{0}», представляющую библиотеку MuPAD.

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

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

Не удалось сопоставить функцию с объектами этого класса.

Объекты этого класса не имеют эквивалентного представления в MATLAB. Преобразование сопоставления невозможно.

В целевом объекте .mlx , реализуйте сопоставление путем записи цикла.

Не удалось перевести эту форму определения матрицы.

MuPAD предлагает несколько различных подходов к созданию матрицы. Матрицу можно создать из массива, списка элементов, вложенного списка строк или таблицы. Кроме того, можно создать матрицу, указав только ненулевые записи, такие как A[i1,j1] = value1, A[i2,j2] = value2и так далее.

Некоторые из этих подходов не могут быть преобразованы в код MATLAB.

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

Невозможно перевести деление относительно нескольких переменных.

Многочленовое деление по отношению к нескольким переменным недоступно в MATLAB.

Настройте код так, чтобы он не использовал многочленовое деление по отношению к нескольким переменным.

Не удалось преобразовать вложенное индексированное назначение.

Вложенное индексированное назначение недоступно в MATLAB.

Замените вложенное индексированное назначение несколькими назначениями.

Невозможно создать многочлен из списка коэффициентов.

Невозможно преобразовать создание полинома из данного списка коэффициентов.

Сделайте первый аргумент для poly арифметическое выражение вместо списка.

Не удается перевести нетривиальные процедуры.

Для кода, который требуется выполнить повторно, MuPAD позволяет создавать процедуры с помощью proc команда.

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

Более сложные процедуры не могут быть переведены в код MATLAB.

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

Не удалось преобразовать глобальную таблицу свойств.

convertMuPADNotebook не удается преобразовать глобальную таблицу свойств MuPAD, PROPERTIES, поскольку эта функция недоступна в MATLAB.

Задайте допущения, как описано в разделе Использование допущения для символьных переменных.

Невозможно создать случайные генераторы с отдельными начальными значениями.

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

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

Не удалось преобразовать конечный объект «{0}» для функции MATLAB «rebrite».

MuPAD rewrite функция может переписать выражение с точки зрения следующих целей: andor, arccos, arccosh, arccot, arccoth, arcsin, arcsinh, arctan, arctanh, arg, bernoulli, cos, cosh, cot, coth, diff, D, erf, erfc, erfi, exp, fact, gamma, harmonic, heaviside, inverf, inverfc, lambertW, ln, max, min, piecewise, psi, sign, sin, sincos, sinh, sinhcosh, tan, tanh.

MATLAB rewrite функция поддерживает меньшее количество целей: explogsincossincostan, cotsqrt, heaviside, asin, acos, atan, acot, sinh, cosh, tanh, coth, sinhcosh, asinh, acosh, atanh, acoth, piecewise.

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

Не удается преобразовать слоты доменов и функциональных сред.

Слоты и домены недоступны в MATLAB.

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

Невозможно заменить только одно вхождение вложенного выражения.

В MATLAB невозможно заменить только одно вхождение подэкспрессии.

В целевом объекте .mlx файл, разорвать выражение с помощью функции children чтобы получить субэкспрессию, а затем заменить ее с помощью функции subs.

Синтаксическая ошибка в коде MuPAD.

Код MuPAD содержит синтаксическую ошибку, например, отсутствующую скобку.

Проверьте и исправьте код MuPAD, который вы переводите.

Тестовая среда MuPAD недоступна в MATLAB.

Среда тестирования MuPAD недоступна в MATLAB.

Настройте код так, чтобы он не использовал тестовую среду MuPAD.

Неизвестный домен или библиотека «{0}».

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

Проверьте и исправьте код MuPAD, который вы переводите.

Неизвестная функция MuPAD «{0}».

Функция недоступна в MuPAD.

Проверьте и исправьте код MuPAD, который вы переводите.

Не удалось преобразовать вызовы функции «{0}».

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

Проверьте и исправьте код MuPAD, который вы переводите.

Не удалось преобразовать вызовы функций библиотеки «{0}».

Функции этой библиотеки доступны в MuPAD, но соответствующие функции в MATLAB отсутствуют.

Настройте код так, чтобы он не использовал функции этой библиотеки.

Функция MuPAD «{0}» не может быть преобразована в дескриптор функции.

Функция MuPAD не имеет эквивалентного дескриптора функции в MATLAB.

Настройте код для использования функции, имеющей эквивалент в MATLAB.

Не удалось перевести параметр «{0}».

Скорее всего, эта опция доступна в MuPAD, но соответствующих опций в MATLAB нет.

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

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

Скорее всего, вызов функции в коде MuPAD имеет ошибку.

Проверьте и исправьте код MuPAD, который вы переводите.