pyth_08_array
Заметка 8. Вычисления над векторами, графика и линейная регрессия.
курса Математический практикум по Питону.
Шокуров Антон В.
shokurov.anton.v@yandex.ru
http://машинноезрение.рф
Версия 0.12

Аннотация

Вводятся базовые элементы питона (Python версии 3.xx) на базе ключевых библиотек относящихся к анализу данных: numpy и matplotlib.

Это предварительная версия! Любые замечания приветствуются.

Вычисления над векторами, матрицами

Списки хороши, но над ними как мы помним нельзя выполнять нужные нами арфиметических операций. В частности, списки нельзя складывать. Точнее эта операция будет иметь иное толкование:

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

Формирование

Создание

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

Размер массива всегда можно запросить у самого объекта.

Замечу, что тип размер/размерность не указывает. Последнее связано с тем, что все элементы массива должны иметь одтн и тот же тип.

Тип элементов

Функцией

Единичная

Диагонали

Генератором

Их также можно генерировать готовой функцией.

Существуют и другие вспомогательные функции для формирования массивов. Например функция равномерного разбиения отрезка.

Индексы

Сложные индексы

Упр. Проверить размер встроенного типа плавающая точка и numpy.float64. т.е. берем 1 и делим на 2 пока не ноль. (ограничьте цикл 1000 итераций). а) x = numpy.float64(1.0), б) x = 1.0

А вот так уже нельзя

В списке было можно...

Многомерный индекс

Сразу двойной индекс

Понятно что нельзя превосходить количество осей.

Базовые операции

Операции над массивами по-элементны.

При выводе ошибки система указала, что один массив имеет размер 3, а другой -- 4. Даже была указана их одномерность.

Упр. По массиву значений построй массив отношения текущего элемента к последующему (результирующий массив будет на один элемент меньше).

Вычисления над массивами

В библиотеке есть набор функций для обработки массивов. Так, помимо поэлеметных функий наподобии np.sin

имеются и редуцирующие к числу. Например,

Упр. По массиву посчитай скользящее среднее, т.е. среднее окна из например 10 элементов. Окно скользит по массиву.

Построение узлов сеток

Функция от элементов

Произведение векторов

Многомерные массивы

умножение

распространение операции умножения

Как было показано выше, массивы можно создавать по спискам, т.е. сначала делается список, а потом массив по нему.

Линейные уравнения

Решаем систему. Для этого используем произведение вектора на матрицу.

Линейная регрессия

Упр. Нарисуй график данной прямой. Лучше поверх исходных данных.

Построение контуров