МЕТОДИЧКА ПО MAPLE и MATHCAD
.pdf61
Синтаксис функции для создания таблиц имеет вид table(list)
>C:=table(A);
>E:=table(B);
>C[1];E[2];
Векторы, Матрицы
Для создания векторов и матриц в Maple предусмотрены специ-
альные функции Vector() и Matrix()
>Vector(2);
>y:=Vector(1..3,5);
>Vector[row]([1,2,3]);
>f:= (j) -> x^(j-1): >v:=Vector(3,f):
>v;
Матрицы
> Matrix(2);
62
>Matrix(2,3);
>Matrix(1..2,1..3,5);
>Matrix([[1,2,3],[4,5,6]]);
>f:= (i,j) -> x^(i+j-1): >Matrix(2,f);
>A:=Matrix(2,f):
>A;
Функции для работы с векторами и матрицами.
Подключаем библиотеку linalg.
> with(linalg):
Рассмотрим некоторые функции, предназначенные для работы с векторами и матрицами (полный список функций библиотеки можно получить, если вызов строку подключения библиотеки закончить точкой с запятой, а не двоеточием with(linalg);
>v := vector( [x,y,z] ):
>vectdim(v);
>rowdim(A);
>A;
63
>row(A,2);
>col(A,1);
>f:= (i,j) -> 2^(i+j-1):
>B:=Matrix(4,3,f):
>B;
>minor(B,1,2);
Скалярное произведение векторов
> dotprod(v,y):
Векторное произведение векторов
> crossprod(v,y):
Вычисление норм векторов и матриц
>norm(B);
>norm(y);
Создаем матрицы А, В
>f:= (i,j) -> 2^(i+j-1):
>B:=Matrix(4,3,f):
>f1:= (i,j) -> 3^(i+j-1):
>A:=Matrix(4,3,f1):
Объединение матриц (аналог соответствующей функции MathCAD)
>concat(A,B):
Сумма матриц
>A+B:
Транспонирование матриц
64
> M:=transpose(B):
Умножение матриц
>multiply(A,M):
>evalm(A&*M):
Вычисление собственных чисел и собственных векторов квадратной матрицы
>U := array([[1,2,4],[3,7,2],[5,6,9]]);
>lambda=evalf(Eigenvals(U,vecs));
Функция evalf() выполнить вычисления в формате с плавающей точкой.
> print(vecs):
Создаем матрицу U
>U := matrix(3,3, [1,-3,3,3,-5,3,6,-6,4]):
Вычисляем собственные числа
>lambd:= evalf(eigenvalues(U));
Находим собственные числа собственные векторы матрицы
> v:= [eigenvectors(U)];
Выводится на печать собственное число (-2) его кратность (2) и соответствующие этим собственным числам, собственные векторы {[1,1,0],[-1,0,1]}, далее выводится собственное число (4) его кратность (1) и соответствующий ему собственный вектор {[1 1 2]}.
Выводится собственное число, его кратность и соответствующий ему вектор
> A:=Matrix(4,3,f1);
65
> C:=multiply(A,transpose(B));
Определитель матрицы
> det(C);
След матрицы
> trace(C);
Ранг матрицы
> rank(C):
Создаем единичную матрицу
>ff:=(i,j)->`if`(j=i,1,0):
>E:=Matrix(4,ff):
>W:=C+0.1*E:
Обращение матрицы
Напомним определение обратной матрицы W-1W=WW-1=E. Рассмотрим матрицу, составленную из символьных элементов
>
>
Обратная матрица от матрицы S будет равна
>
Для проверки перемножим матрицы invS и S
>
66
Упростим полученный результат с помощью функции simplify()
>
Отметим, что обратная матрица, так же как и исходная получена в символьном виде. Аналогичный результат можно получить для символьной матрицы любого размера. Рассмотрим теперь матрицу, заданную в численном виде (возьмем рассмотренную выше матрицу W)
> inverse(W);
Выделение из матрицы подматрицы (функция аналогична соответ-
ствующей функции из MathCADA)
>A;
>submatrix(A, 1..2, 2..3);
>submatrix(A, [2,1], [2,1]);
67
Графика в пакете Maple
Построение графиков функции одной переменной
Для построения двумерной графика служит функция plot(.,.,.). Синтаксис функции
plot([f1,f2,...,fn], x=a..b, o1, o2,...,ok);,
где [f1(x),f2(x),..,fn(x)] список функций, графики которых следует отобразить (список может состоять из одной функции прямоугольные скобки в этом случае могут отсутствовать);
x=a..b интервал значений аргумента функций;
oi=si опции, определяющие вид графика. Ряд опций также могут задаваться в виде списка.
Перечислим некоторые из опций:
axes
color *
coord
style*
linestyle*
symbol*
symbolsize*
title
titlefont
labelfont
thickness
Опции помеченные значком * могут быть заданы списком. Опция axes может принимать следующие значения frame, boxed,
normal, none.
Опция color может принимать следующие значения
aquamarine зеленовато голубой
black черный
blue синий
navy темно-синий
coral коралловый
cyan голубой
brown коричневый
gold золотой
green зеленый
gray серый
68
grey серый
khaki хаки
magenta светло-фиолетовый
maroon темно-бордовый
orange оранжевый
pink разовый
plum сливовый
red красный
sienna светло-коричневый
tan желтовато-коричневый
turquoise бирюзовый
violet фиолетовый
wheat соломенный
white белый
yellow желтый
Опция coord позволяет использовать более 30 различных систем координат (по умолчанию графики строятся в прямоугольной системе координат).
bipolarcylindrical
bispherical
cardioidal
cardioidcylindrical
casscylindrical
confocalellip
confocalparab
conical
cylindrical
ellcylindrical
ellipsoidal
hypercylindrical
invcasscylindrical
invellcylindrical
invoblspheroidal
invprospheroidal
logcylindrical
logcoshcylindrical
maxwellcylindrical
69
oblatespheroidal
paraboloidal
paraboloidal2
paracylindrical
prolatespheroidal
rectangular
rosecylindrical
sixsphere
spherical
tangentcylindrical
tangentsphere
toroidal
Более подробную информацию можно найти в Help, для этого следует выделить coord и нажать клавишу F1
Опция style задает стиль начертания графика, возможны три зна-
чения опции point, line и patch.
Опция linestyle задает стиль начертания линии графика. Синтаксис опции linestyle=[n1,n2,...,nk], где ni может принимать следующие значения 1 (сплошная линия), 2 (линия, состоящая из точек), 3 (линия, состоящая из штрихов), 4 (штрихпунктирная линия)
Опция symbol может быть использована только совместно со стилем point и задает вид отображения точки на графике. Возможны следующие значения опции box (квадрат), cross (крест), circle (круг), point (точка) и diamond (ромб)
Опция symbolsize задает размер символа,
Опция labels задает название осей графика, синтаксис опции labels=["название оси х", "название оси y"]
Опция labeldirections задает направление, в котором выводятся на экран названия осей координат, возможны два направления
HORIZONTAL , VERTICAL. По default направление является HORIZONTAL.
Опция title задает название графика. Синтаксис опции title="название графика". Перевод на новую строку части текста осуществляется с помощью символа \n.
Опции titlefont, labelfont знают имя шрифта, стиль написания и размер шрифта.
...font представляет собой список, состоящий из трех элементов,
...font=[имя шрифта, стиль шрифта, размер шрифта];. Можно исполь-
70
зовать следующие шрифты TIMES, COURIER, HELVETICA и SYMBOL. Для шрифта TIMES можно использовать следующие стили
ROMAN, BOLD, ITALIC или BOLDITALIC. Для шрифтов
HELVETICA и COURIER можно использовать стили BOLD, OBLIQUE или BOLDOBLIQUE. Для SYMBOL (символов) опция style
не применяется. Размер шрифта задается в виде числа.
Опция thickness задает ширину линии графика вдоль осей x и y. Синтаксис опции thickness =[n,m], где n ширина линии по оси х, m ширина линии по оси y.
Пример построения графика с использованием выше перечисленных опций
> plot([sin(x),cos(x),sin(4*x)/(4*x)],x=-
Pi..Pi,thickness=[1,3],style=[point,point,line,line],linestyle=[1,1],color=
[grey,black,red,blue],symbol=[circle,box],symbolsize=[10,9],axes=boxe
d, labels=["x","Sin,Cos,exp"],labeldirections=[HORIZONTAL,
VERTI-
CAL],labelfont=[COURIER,OBLIQUE,10],titlefont=[TIMES,ITALI
C,12],title="Графика\nMAPLE 6");
Построение графиков с использованием структур Графическая структура 2D-графики* задается в виде
PLPT(STR1,STR2,...,STRk,o1,o2,...);, где STRi элементарные структуры, oi общие для структур опции**. К элементарным