Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

МЕТОДИЧКА ПО MAPLE и MATHCAD

.pdf
Скачиваний:
342
Добавлен:
10.05.2015
Размер:
8.75 Mб
Скачать

61

Синтаксис функции для создания таблиц имеет вид 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 общие для структур опции**. К элементарным