Сколь значителен спектр задач, которые решаются при помощи пакетов Maple и MATLAB, видно из следующего перечисления:
Основа MATLAB — это работа с матрицами, так что даже вычисления со скалярами реализуются как операции с матрицами размера 1X1. Матричные команды написаны особенно тщательно, и, всюду, где это возможно, целесообразно пользоваться матричными (векторными) операциями, что ускоряет вычисления и предупреждает возможные ошибки. Матрицам, их свойствам и операциям с ними посвящено огромное количество литературы, например книга [46]. MATLAB в первую очередь предназначен для численного исследования, а потому оперирует в основном с числовой информацией. Приведем пример построения графика функции средствами MATLAB:
y=sin(x.^2);
plot(x,y)

Для построения графика потребовалось определить значения аргумента в наборе точек (в переменной x содержатся точки 0, 0.01, 0.02,…, 5), и вычислить значения функции в них. Для возведения в квадрат каждого числа из набора x использована так называемая поточечная операция (перед знаком операции стоит точка), так как обычное возведение в степень в MATLAB означает умножение матрицы на себя. Функция синуса была вычислена сразу для всех элементов переменной x.
Система Maple создавалась как пакет компьютерной алгебры, то есть основным объектом здесь является формулы и операции с ними. Без дополнительных указаний символ, например x, считается фактически математической переменной, как x в формуле f(x). Такая специфика систем компьютерной алгебры позволяет проводить точные вычисления (см., например [41]). Построим с помощью Maple поверхность, определяемую функцией двух переменных x и y. Для построения требуется указание интервала изменения x и y.

Проиллюстрируем работу двух систем на примере вычисления интеграла функции одной переменной. Сначала обратимся к команде интегрирования Maple:
![]()
![]()
![]()
” y=(x-1).^2.*sin(x);
” res=trapz(x,y)
res =
1.5864e+000
Обе системы имеют развитые средства программирования аналогичные распространенным алгоритмическим языкам, но при этом и здесь сохраняется специфика, обусловленная направленностью пакетов. В таблице 0.1 приведем примеры реализации одной конструкции средствами MATLAB, Maple, и на алгоритмических языках Фортран и Паскаль.
Таблица 0.1. Сравнение четырех
вычислительных сред
|
|
|
| MATLAB | X=1:4;
Y=sin(X) |
| Maple | x:=seq(k,k=1..4): y:=evalf(map(sin,[x])); |
| Фортран | REAL X(4),
Y(4)
DO 100 I=1,4 X(I)=I Y(I)=sin(Y(I)) 100 CONTINUE WRITE((6,’(4F10.4)’),Y) |
| Паскаль | var i:integer;
X,Y : array [1..4] of real;
Begin for i=1 to 4 do begin X[i]:=i; Y[i]:=sin(X(i)); write(‘ ‘,Y[i]) end; end |
Из табл. 0.1 видна удивительная лаконичность языков MATLAB и Maple. Предварительного описания переменных не требуется, вектор формируется указанием диапазона чисел, а вычисление синуса для всех векторных элементов потребовало одной строки.
Наш подход при дальнейшем
описании MATLAB и Maple состоит в том,
чтобы дать как можно более широкое представление о возможностях систем,
а перечисление и описание многочисленных вариантов применения всех команд
можно найти в документации и системе справки пакета, а также в литературе
(см. список в конце книги). Перед тем как перейти к описанию систем, коротко
обсудим вопрос о решении задач с помощью компьютера.