Доступ к ресурсам ядра системы Maple

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

Доступ к ядру системы Maple

Хотя в пакет Symbolic включено множество (около сотни) функций символьной математики, есть возможность получить доступ к многим другим функциям системы Maple, ядро которой включено в MATLAB. Для этого используется функция maple в той или иной форме:

• maple (Statement) — устанавливает выражение statement для ядра Maple, statement является строкой, записанной в формате команд Maple. Возвращает результат в форме строки с нотацией системы Maple V;

  • • maple (' function', ARG1,ARG2,...) — дает доступ к Maple-функциям с заданными аргументами;
  • [result, status] =maple (...) — возвращает результат и статус сообще-ний/ошибок, если они возникают в ходе вычисления заданной функции.

Примеры:

>> maple ( 'sin (1) ' )

ans =

sin (1)

» maple('evalf (sin (1)) ' )

ans =

.84147098480789650665250232163030

>> maple('sqrt',2)

ans =

2Л (1/2)

» maple(1evalf(sin)',1)

ans =

sin (1)

Численное вычисление Maple-функций

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

• mfun (' fun',pl,p2,..., pk) — возвращает в численном виде значение Maple-функции с именем 'fun' и списком параметров функции pl, р2, ..., pk. Если вычисление функции невозможно (например из-за сингулярных точек), то возвращается константа NaN.

>> mfun('sin',1)

ans =

0.8415

» mfun('sqrt',2+3i)

ans =

1.6741 + 0.8960i

» mfun('In',0)

ans =

NaN

>> mfun ( 'In',2)

ans =

0.6931

Вызов списка функций Maple

Команда mfunlist выводит лист с перечнем функций ядра Maple. Ниже показан первый десяток этих функций:

» mfunlist

bernoulli bernoulli Bessell BesselJ BesselK

n Bernoulli Numbers

n, z Bernoulli Polynomials

xl,x Bessel Function of the First Kind

xl,x Bessel Function of the First Kind

xl,x Bessel Function of the Second Kind

BesselY

xl,x Bessel Function of the Second Kind

Beta

zl,z2 Beta Function

binomial

xl,x2 Binomial Coefficients

LegendreKc

LegendreEc

x Complete Elliptic Integral of First Kind

x Complete Elliptic Integral of Second Kind

Получение справки по ядру Maple

Для получения справки по Maple-функциям непосредственно из среды MATLAB служат команда и функция mhelp:

mhelp topic или mhelp('topic')

Пример:

» help LCM

LCM Least common multiple.

LCM(A,B) is the least common multiple of corresponding elements of

A and B. The arrays A and В must contain positive integers and must be the same size (or either can be scalar). See also GCD.

Инсталляция Maple-процедур

С помощью команды procread (FILENAME) можно готовить процедуры с синтаксисом языка системы Maple. Например, подготовим процедуру с предполагаемым именем файла check.src и следующим текстом:

check := proc(А)

# check(A) computes A*inverse(A) local X;

X := inverse(A): evalm(A &* X) ;

end;

Создав процедуру, можно проинсталлировать ее с помощью команды

procread('check.src')

После этого возможно использование этой процедуры в виде

maple(’check',magic (3))

или

maple('check',vpa(magic (3)))

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

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >