Сделай Сам Свою Работу на 5

Основная функция построения двумерных графиков plot





Лекция 10. Пакеты для математической обработки данных.Maple. Матрицы и графики

План

1. Работа с массивами.

2. Графики и анимация.

3. Использование пакета для решения задач экономического профиля.

 

1. Работа с массивами

 

Основная часть команд для решения задач линейной алгебры содержится в библиотеке linalg. Поэтому перед решением задач с матрицами и векторами следует загрузить эту библиотеку командой with(linalg).

 

Способы задания векторов

Для определения вектора в Maple используется команда vector([x1,x2,…,xn]), где в квадратных скобках через запятую указываются координаты вектора. Например:

> x:=vector([1,0,0]);

x:=[1, 0, 0]

Координату уже определенного вектора x можно получить в строке вывода, если ввести команду x[i] , где i  номер координаты. Например, первую координату заданного в предыдущем примере вектора можно вывести так:

>x[1];

 

Сложение векторов

Сложить два вектора a и b можно с помощью двух команд:

1) evalm(a+b);

2) matadd(a,b).

 

Скалярное, векторное произведение векторов и угол между векторами

Скалярное произведение двух векторов вычисляется командой dotprod(a,b).

Векторное произведение двух векторов вычисляется командой crossprod(a,b).



Угол между двумя векторами a и b вычисляется с помощью команды angle(a,b).

 

Норма вектора

Норму (длину) вектора , которая равна , можно вычислить с помощью команды norm(а,2).

Можно нормировать вектор а с помощью команды normalize(a), в результате выполнения которой будет получен вектор единичной длины .

Примеры

1. Даны два вектора: и . Найти и угол между a и b. Для решения этой задачи наберите:

> with(linalg):

> a:=([2,1,3,2]); b:=([1,2,-2,1]);

a:=[2,1,3,2]

b:=[1,2,-2,1]

> dotprod(a,b);

> phi=angle(a,b);

2. Найти векторное произведение , а затем скалярное произведение , где , .

> restart; with(linalg):

> a:=([2,-2,1]); b:=([2,3,6]);

a:=[2, 2,1]

b:=[2,3,6]

> c:=crossprod(a,b);

c:=[ 15, 10,10]

> dotprod(a,c);

3. Найти норму вектора .

> restart; with(linalg):

> a:=vector([1,2,3,4,5,6]): norm(a,2);

 

Определение матрицы

Для определения матрицы в Maple можно использовать команду matrix(n, m, [[a11,a12,…,a1n], [a21,a22,…,a2m],…, [an1,an2,…,anm]]), где n  число строк, m – число столбцов в матрице. Эти числа задавать необязательно, а достаточно перечислить элементы матрицы построчно в квадратных скобках через запятую. Например:



> A:=matrix([[1,2,3],[-3,-2,-1]]);

В Maple матрицы специального вида можно генерировать с помощью дополнительных команд. В частности диагональную матрицу можно получить командой diag. Например:

> J:=diag(1,2,3);

Генерировать матрицу можно с помощью функции f(i, j) от переменных i, j – индексов матрицы: matrix(n, m, f), где где n - число строк, m – число столбцов. Например:

> f:=(i, j)->x^i*y^j;

>A:=matrix(2,3,f);

Число строк в матрице А можно определить с помощью команды rowdim(A), а число столбцов – с помощью команды coldim(A).

 

Арифметические операции с матрицами

Сложение двух матриц одинаковой размерности осуществляется теми же командами, что и сложение векторов: evalm(A+B) или matadd(A,B). Произведение двух матриц может быть найдено с помощью двух команд:

1. evalm(A&*B);

Multiply(A,B).

В качестве второго аргумента в командах, вычисляющих произведение, можно указывать вектор, например:

> A:=matrix([[1,0],[0,-1]]);

> B:=matrix([[-5,1], [7,4]]);

> v:=vector([2,4]);

> multiply(A,v);

> multiply(A,B);

> matadd(A,B);

Команда evalm позволяет также прибавлять к матрице число и умножать матрицу на число. Например:

> С:=matrix([[1,1],[2,3]]):

> evalm(2+3*С);

 

Определители, миноры и алгебраические дополнения. Ранг и след матрицы.

Определитель матрицы А вычисляется командой det(A).Команда minor(A,i,j) возвращает матрицу, полученную из исходной матрицы А вычеркиванием i-ой строки и j-ого столбца. Минор Mij элемента aij матрицы А можно вычислить командой minor(A,i,j).Ранг матрицы А вычисляется командой rank(A). След матрицы А, равный сумме ее диагональных элементов, вычисляется командой trace(A).



> A:=matrix([[4,0,5],[0,1,-6],[3,0,4]]);

>det(A);

> minor(А,3,2);

> det(%);

-24

> trace(A);

 

Обратная и транспонированная матрицы

Обратную матрицу А 1 , такую что А 1А=АА 1=Е, где Е  единичная матрица, можно вычислить двумя способами:

1. evalm(1/A);

Inverse(A).

Транспонирование матрицы А – это обмен местами строк и столбцов. Полученная в результате этого матрица называется транспонированной и обозначается А'. Транспонированную матрицу А' можно вычислить командой transpose(A).

Например, используя заданную в предыдущем пункте матрицу А, найдем обратную ей и транспонированную:

>inverse(A);

> multiply(A,%);

> transpose(A);

 

 

Графики и анимация

Графики функций

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

В само ядро Maple 9 встроено ограниченное число функций построения графиков. Это прежде всего функция для построения двумерных графиков plot и функция для построения трехмерных графиков plot3d. Они позволяют строить графики наиболее распространенных типов. Для построения специальных графиков (например, векторных полей градиентов, решения дифференциальных уравнений, построения фазовых портретов и т. д.) в пакеты системы Maple 9 включено большое число различных графических функций. Для их вызова необходимы соответствующие указания.

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

Графические функции заданы таким образом, что обеспечивают построение типовых графиков без какой-либо особой подготовки. Для этого нужно лишь указать функцию, график которой строится, и пределы изменения независимых переменных. Однако с помощью дополнительных необязательных параметров можно существенно изменить вид графиков — например, настроить стиль и цвет линий, вывести титульную надпись, изменить вид координатных осей и т. д.

Основная функция построения двумерных графиков plot

В математике широко используются зависимости вида y(x). Их графики строятся на плоскости в виде ряда точек y1(x1), обычно соединяемых отрезками прямых. Таким образом, используется кусочно-линейная интерполяция двумерных графиков. Если число точек графика достаточно велико (десятки или сотни), то приближенность построения не очень заметна.

Для построения двумерных графиков служит функция plot(f, h, v, о),

где f — визуализируемая функция, h — переменная с указанием области ее изменения, v — необязательная переменная с указанием области изменения, о — параметр или набор параметров, задающих стиль построения графика (толщину и цвет кривых, тип кривых, метки на них и т. д.).

Самыми простыми формами задания этой функции являются следующие:

· plot(f ,xrnin,xmax) — построение графика функции f, заданной только своим именем;

· plot(f(x),x=xmin,xmax) — построение графика функции f(x),

> plot(sin(x), x=-Pi..Pi);

 

Диапазон изменения независимой переменной х задается диапазоном xmin..xmax, где xmin и xmax — минимальное и максимальное значение х, .. (две точки) — составной символ, указывающий на изменение независимой переменной.

Помимо построения самой кривой у(х) или f(x) можно задать ряд других свойств графиков, например вывод координатных осей, тип и цвет линий графика и др. Это достигается применением параметров графика — специальных указаний для Maple. Графики обычно строятся сразу в достаточно приемлемом виде. Это достигается тем, что многие параметры задаются по умолчанию, и пользователь, по крайней мере начинающий, может о них ничего не знать. Однако язык общения и программирования Maple 9 позволяет задавать управляющие параметры и в явном виде.

Для двумерного графика возможны следующие параметры:

· axes — вывод различных типов координат (axes=NORMAL — обычные оси, выводятся по умолчанию, axes=BOXES — график заключается в рамку с осями-шкалами, axes=FRAME — оси в виде перекрещенных линий, axes=NONE — оси не выводятся);

· axes font — задание шрифтов для подписи делений на координатных осях (см. также параметр font);

· color — задает цвет кривых (см. далее);

· discont — задает построение непрерывного графика (значения true или false);

· font — задание шрифта в виде [семейство, стиль, размер];

· labels — задание надписей по координатным осям в виде [X, Y], где X и Y — надписи по осям х и у графика;

· label directions — задает направление надписей по осям [X, Y], где X и Y может иметь строковые значения HORISONTAL (горизонтально) и VERTICAL (вертикально);

· label font — задает тип шрифта подписей (см. font);

· legend — задает вывод легенды (обозначения кривых);

· linestyle — задание стиля линий (1 — сплошная, 2 — точками, 3 — пунктиром и 4 — штрихпунктиром);

· numpoints — задает минимальное количество точек на графике (по умолчанию numpoints=49);

· scaling — задает масштаб графика: CONSTRAINED (сжатый) или UNCONSTRAINED (несжатый — по умолчанию);

· size.— задает размер шрифта в пунктах;

· style — задает стиль построения графика (POINT — точечный, LINE — линиями);

· symbol — задает вид символа для точек графика (возможны значения BOX — прямоугольник, CROSS — крест, CIRCLE — окружность, POINT — точка, DIAMOND — ромб);

· symbol size — установка размеров символов для точек графика (в пунктах, по умолчанию 10);

· title — задает построение заголовка графика (title="string", где string — строка);

· titlefont — определяет шрифт для заголовка;

· thickness — определяет толщину линий графиков (0, 1, 2, 3, значение по умолчанию — 0);

· view=[A, В] — определяет максимальные и минимальные координаты, в пределах которых график будет отображаться на экране, А = [xmin. .xmax], B=[ymin. .ymax] (по умолчанию отображается вся кривая);

· xtickmarks — задает минимальное число отметок по оси x,

· ytickmarks — задает минимальное число отметок по оси у.

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

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

В версии Maple 9 параметр coords задает 15 типов координатных систем для двумерных графиков. По умолчанию используется прямоугольная (декартова) система координат (coords=cartesian). Например:

 

> plot(sin(x), x=-4*Pi..4*Pi, labels=[x,y],

labelfont=[TIMES,ITALIC,14], thickness=4);

 

Maple 9 позволяет воспроизводить на одном графике множество кривых. При этом возникает необходимость как-то идентифицировать их. Для этого можно использовать построение линий разными стилями, разными цветами и с разной толщиной. Набор средств выделения кривых позволяет уверенно различать их как на экране цветного дисплея и в распечатках, сделанных цветным струйным принтером, так и при печати монохромными принтерами. Параметр color позволяет использовать обширный набор цветов линий графиков:

Aquamarine, black, blue, navy, coral, cyan, brown, gold, green, gray, grey, khaki, magenta, maroon, orange, pink, plum, red, sienna, tan, turquoise, violet, wheat, white, yellow.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.