Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инстр_Mathem_v8.doc
Скачиваний:
4
Добавлен:
16.11.2019
Размер:
1.91 Mб
Скачать

10. Массивы

В пакете Математика имеется возможность создавать массивы из символических элементов. Эти массивы можно использовать в аналитических формулах, которые будут справедливы при любом выборе компонент массивов.

Команда Array[a, m] создает вектор из m элементов.

Команда Array[a, {m, n}] создает матрицу .

Для обращения к элементам массивов служат те же команды, что и для обращения к элементам списков.

Пример 10.1

Создадим двумерный массив и выведем его на экран в виде матрицы:

In[ ] := M=Array[b,{2,2}]; M//MatrixForm

Out[ ] =

Выведем на экран второй элемент первой строки, затем изменим первую строку и выведем на экран полученную матрицу:

In[ ] := {M[[1,2]], M[[1]]={2, s}; M//MatrixForm}

Out[ ] =

Создадим транспонированную матрицу. Для транспонированной матрицы найдем евклидову норму первой строки, определитель и след:

In[ ] := {B=Transpose[M]; B//MatrixForm, Norm[B[[1]]], Det[B], Tr[B]}

Out[ ] =

Создадим вектор V и найдем произведение матрицы М на вектор по правилу "строка на столбец", а также поэлементное произведение матрицы на вектор:

In[ ] := {V=Array[a,2]; MatrixForm[V], M.V//MatrixForm, MЧV//MatrixForm}

Out[ ] =

1 1. Основные типы графиков

11.1. Двумерные графики

Plot[{f1, f2, …}, {x, xmin, xmax}] – график одной или нескольких функций, заданных формулами, на отрезке от xmin до xmax.

ListPlot[{{x1, y1}, {x2, y2},…}] – график списка точек с координатами (x, y). Если x принимает натуральные значения: xi=i, i=1, 2, 3, …, – то значения x могут быть опущены.

ListPlot[{list1, list2, …}] – график нескольких списков точек.

Размер точек можно задать с помощью опции PlotStyle, например PlotStyle->PointSize[0.03]. Точки могут быть соединены; для этого используется опция Joined -> True. Если точки соединены, то действие опции PointSize отменяется.

ParametricPlot[{{x1(t), y1(t)}, {x2(t), y2(t)}, …}, {t, tmin, tmax}] – график функций, заданных параметрически.

PolarPlot[{r1, r2, ..}, {, min, max}] – график функций в полярных координатах.

Для того, чтобы построить двумерный график, например, график функции Sin[x] на отрезке [0, 2,достаточно написать простую команду:

In[ ] := p1=Plot[Sin[x], {x, 0, 2Pi}]

Полученный график показан на рис. 11.1. Данному графику присвоено имя p1. Имя не является обязательным элементом команды. Имя нам нужно только для того, чтобы рассмотреть свойства графика. Напишем команду:

In[ ] := Options[p1]

Запустив команду на счет, получим список значений опций, установленных по умолчанию:

Out[]=

{AspectRatio->1/GoldenRatio, Axes->True, AxesOrigin->{0,0}, PlotRange->{{0, 2Pi},{-1.,1.}},

PlotRangeClipping->True, PlotRangePadding->{Scaled[0.02],Scaled[0.02]}}

Помимо установок по умолчанию имеется много дополнительных возможностей для изменения свойств графиков. Подробное описание всех опций можно найти в разделе Справка (Help). Остановимся только на некоторых из опций.

PlotRange – задает диапазон изменения координаты y. Например, PlotRange->All – вывод всего диапазона изменений y, PlotRange->{0, 1} – вывод на график только значений y в пределах от 0 до 1.

A spectRatio – задает отношение длины оси y к длине оси x. По умолчанию, это отношение задается в пропорции “золотого сечения”. Это приводит к тому, что круг превращается в эллипс, квадрат – в прямоугольник и т.п. Отношение длин осей может быть задано произвольным числом. Если задана опция AspectRatio –> Automatic, то отношение длин осей подсчитывается автоматически из условия равенства масштабов по обеим осям. Значение AspectRatio –> Automatic необходимо использовать, если требуется сохранить неискаженные пропорции изображаемых фигур.

Замечание. Для параметрических, полярных графиков и примитивов по умолчанию устанавлены одинаковые масштабы по осям координат.

Опция GridLines –> Automatic вводит линии сетки.

Некоторые из опций изучим в процессе их применения.

Пример 11.1.

Напишем команду для вывода графика двух функций:

In[ ] := Plot[ {Sin[x], Cos[x]}, {x, 0, 2Pi}, PlotStyle ->{RGBColor[1, 0, 0], RGBColor[0, 0, 1]},

PlotRange ->{-1.3, 1.3}, Prolog ->Text["Sin[x]",Scaled[{0.28, 0.96}]],

Epilog -> Text["Cos[x]",Scaled[{0.51, 0.04}]], AxesLabel ->{x, None},

Ticks->{ {{/2, "/2"}, {, ""}, {3/2, "3/2"},

{2, "2"}}, {{-1, "-1"}, {1, "1"}} },

AxesStyle->{{RGBColor[1,0,1],Thickness[0.01]},{RGBColor[0,1,1],Thickness[0.01]}},

Filling->{1->Axis}]

Изображаемые функции запишем в виде списка: {Sin[x], Cos[x]}. Раскрасим графики этих функций в разный цвет, используя опцию PlotStyle и функцию RGBColor. Выберем диапазон изменения координаты y от -1.3 до 1.3 так, чтобы осталось место для подписей к графикам. Для создания подписей используем опции Prolog и Epilog и функцию Text. Второй аргумент функции Text задает координаты центра подписи. Слово Scaled означает, что используются относительные координаты: за единицу принимается размер рисунка вдоль соответствующей оси, а координаты отсчитываются от нижнего левого угла рисунка. С помощью опции AxesLabel поставим метку у оси x. Используя опцию Ticks, промаркируем оси координат. Раскрасим оси координат. С помощью функции Thickness сделаем оси утолщенными. С помощью опции Filling->{1->Axis} заполним фоном пространство между графиком функции Sin[x] и осью x. В итоге получим график, показанный на рис. 11.2.

П ример 11.2.

Построим график двух случайных последовательностей точек:

In[ ]:= ListPlot[{Table[Random[Integer, {0,4}], {15}],

Table[Random[Integer, {0,4}]+2, {15}]},

Joined->True, AspectRatio->Automatic]

Соединим точки отрезками прямых линий (опция Joined->True). График показан на рис. 11.3.