Пользуйтесь библиотеками MuPAD

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

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

Обзор библиотек

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

combinatоперации комбинаторики поддержек
solvelibсодержит различные методы, используемые функциональным solve
exportподдержки экспортирующие данные MuPAD к внешним форматам
outputотформатированный вывод поддержек данных MuPAD
fpметоды функционального программирования поддержек
generateпреобразование поддержек выражений MuPAD к C, ФОРТРАНУ, MATLAB® и кодам TeX
groebnerподдержки, работающие с идеалами многомерного полинома, звонят по полю
importподдержки, импортирующие внешние данные к MuPAD
transformпреобразования интеграла поддержек и дискретное Z-преобразование
intlibподдержки управляющие и решающие интегралы
linalgоперации линейной алгебры поддержек
linoptпредоставляет алгоритмы для линейного и целочисленного программирования
listlibподдержки, управляющие списками
polylibподдержки, управляющие полиномами
stringlibподдержки, управляющие строками
numlibоперации теории чисел поддержек
numericпредоставляет алгоритмы для числовой математики
odeподдержки управляющие и решающие обыкновенные дифференциальные уравнения
orthpolyобеспечивает набор стандартных ортогональных полиномов
Prefподдержки устанавливающие и восстанавливающие пользовательские настройки
progобеспечивает программные утилиты для анализа функций и трассировки ошибок
statsпредоставляет методы для статистического анализа
Typeподдержки, проверяющие типы объектов MuPAD
Symbolподдержки наборные символы

Функции, включенные в библиотеки, написаны в языке MuPAD. Синтаксис вызова для функций от всех библиотек (за исключением стандартной библиотеки) включает и имя библиотеки и имя функции: library::function.

Стандартная библиотека

Стандартная библиотека представляет набор наиболее часто используемых функций включая diff, int, simplify, solve и другие функции. Например:

diff(x^2,x)

Найдите информацию о библиотеке

Можно получить информацию о библиотеках с помощью команд help и info. Информационная команда дает список функций конкретной библиотеки. Например, numlib библиотека представляет набор функций для операций теории чисел:

info(numlib)
Library 'numlib': the package for elementary number theory
-- Interface:
numlib::Lambda,                   numlib::Omega,
numlib::checkPrimalityCertificate, numlib::contfrac,
numlib::contfracPeriodic,         numlib::cornacchia,
numlib::decimal,                  numlib::divisors,
numlib::factorGaussInt,           numlib::fibonacci,
numlib::fromAscii,                numlib::g_adic,
numlib::ichrem,                   numlib::igcdmult,
numlib::invphi,                   numlib::ispower,
numlib::isquadres,                numlib::issqr,
numlib::jacobi,                   numlib::lambda,
numlib::legendre,                 numlib::lincongruence,
numlib::mersenne,                 numlib::moebius,
numlib::mroots,                   numlib::msqrts,
numlib::numdivisors,              numlib::numprimedivisors,
numlib::omega,                    numlib::order,
numlib::phi,                      numlib::pi,
numlib::primedivisors,            numlib::primroot,
numlib::proveprime,               numlib::reconstructRational,
numlib::sigma,                    numlib::sqrt2cfrac,
numlib::sqrtmodp,                 numlib::sumOfDigits,
numlib::sumdivisors,              numlib::tau,
numlib::toAscii,                                              

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

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

?numlib

Чтобы видеть реализацию библиотечной функции, используйте команду expose:

expose(numlib::tau)
proc(a)
  name numlib::tau;
begin
  if args(0) <> 1 then
    error(message("symbolic:numlib:IncorrectNumberOfArguments"))
  else
    if not testtype(a, Type::Numeric) then
      return(procname(args()))
    else
      if domtype(a) <> DOM_INT then
        error(message("symbolic:numlib:ArgumentInteger"))
      end_if
    end_if
  end_if;
  numlib::numdivisors(a)
end_proc

Избегайте конфликтов по совпадению имен между объектами MuPAD и библиотечными функциями

Можно вызвать любую библиотечную функцию (за исключением стандартных библиотечных функций) использование следующего синтаксиса: library::function. Если вы часто используете некоторые функции, которые не принадлежат стандартной библиотеке, возможно вызвать их, не задавая имя библиотеки. Команда use экспортирует функции библиотек MuPAD к глобальному пространству имен, разрешающему вам вызывать их, не используя имена библиотеки. Например, можно экспортировать функцию, которая вычисляет десятичное расширение рационального числа:

use(numlib,decimal): decimal(1/3)

После экспорта десятичной функции можно использовать его, не используя имя библиотеки numlib:

decimal(1/200)

Вызывать info, help, или? команды, используйте полное имя экспортируемой функции включая имя библиотеки:

?numlib::decimal

Вы не можете экспортировать библиотечную функцию с тем же именем, которое вы используете для другого объекта:

ncols := x: use(linalg, ncols)
Warning: Identifier 'ncols' is not exported because it already has a value. [use]

После очистки объекта ncols можно экспортировать функцию:

delete ncols: use(linalg, ncols): ncols(matrix(2,3))

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

use(numlib, sumOfDigits, numdivisors): numdivisors(21); sumOfDigits(21)

Чтобы экспортировать все функции библиотеки, передайте имя библиотеки к команде use. Если некоторые библиотечные функции имеют конфликты по совпадению имен с другими объектами, команда use выдает предупреждение для каждого конфликта по совпадению имен:

use(numeric)
Warning: Identifier 'product' is not exported because it already has a value. [use]
Warning: Identifier 'int' is not exported because it already has a value. [use]
Warning: Identifier 'indets' is not exported because it already has a value. [use]
Warning: Identifier 'det' is not exported because it already has a value. [use]
Warning: Identifier 'linsolve' is not exported because it already has a value. [use]
Warning: Identifier 'rationalize' is not exported because it already has a value. [use]
Warning: Identifier 'inverse' is not exported because it already has a value. [use]
Warning: Identifier 'solve' is not exported because it already has a value. [use]
Warning: Identifier 'sum' is not exported because it already has a value. [use]
Warning: Identifier 'sort' is not exported because it already has a value. [use]

Эти библиотечные функции имеют те же имена как стандартные библиотечные функции. Вы не можете удалить стандартные библиотечные функции и разрешить конфликты по совпадению имен. Используйте полные имена функций, такие как numeric::product, чтобы вызвать эти функции.