Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Векторы

Сейчас мы немного поговорим о векторах с тем предположением, что вы что-то слышали о векторах ранее. Это нам нужно как почва для того, чтобы начать работать с массивами и графиками.

Некоторые математические величины связаны с набором чисел. Например, точка на плоскости имеет две координаты, x и y, и точка ими и описывается как (x,y), где вместо символов можно подставить любые числа. То есть точка описывается в виде группы чисел, заключенных в скобки. Точка в трехмерном пространстве описывается схожим способом (x,y,z) или (x1,x2,x3). Когда решаются n уравнений с n неизвестными, решение дает вам группу из n чисел (x1,x2,…,xn−1,xn).

Такие величины, как (x,y), (x,y,z), (x1,…,xn) могут быть представлены в виде векторов, идущих из начала координат в указанную точку. Например, вектор (x,y) идет из точки (0,0) в точку (x,y), как и трехмерный вектор (x,y,z) идет из (0,0,0) в (x,y,z). Для последнего случая удобно ввести n-мерное пространство, где вектор идет из (0,…,0) в (x1,…,xn). Векторы, как и массивы, можно визуализировать. На плоскости вектор можно представить в виде стрелки. Два вектора, имеющих одинаковое направление и длину, эквивалентны.

О векторе (x1,…,xn) говорят, что он содержит n компонент. Каждое из чисел x1, x2, … это компоненты вектора. Для того, чтобы записать вектор в Python, мы можем использовать списки или кортежи:

v1 = [x, y] v2 = (-1, 2) v3 = (x1, x2, x3) from math import exp v4 = [exp(-i*0.1) for i in range(150)]

Здесь v1 и v2 — векторы на плоскости, v3 — вектор в трехмерном пространстве, а v4 — вектор в 150-мерном пространстве, состоящий из 150 значений экспоненциальной функции. Поскольку в Python (и многих других языках) индексация начинается с нуля, то более естественным записывать вектор вместо(x1,x2) как вектор (x0,x1). Это не общепринято в математике, но существенно сближает язык математики и язык программирования, что значительно облегчает понимание и уменьшает число потенциальных ошибок.

Невозможно представить как выглядит 150-мерное пространство. Переход от плоскости к пространству и тот бывает дается тяжело. Но представить как происходит переход к четырех-, пяти-, и-так-далее-мерному вектору в виде списка компонент не составляет труда.

Математические операции над векторами

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

В физике и геометрии, использующей векторы, очень важны применяемые математические операции. Давайте рассмотрим наиболее часто встречаемые операции и действующие математические правила. Для этого возьмем два вектора, (u1,u2) и (v1,v2) и для начала сложим их:

(u1,u2)+(v1,v2)=(u1+v1,u2+v2)

Для вычитания применяется такое же правило:

(u1,u2)−(v1,v2)=(u1−v1,u2−v2)

Вектор может быть умножен на число:

a∗(u1,u2)=(a∗u1,a∗u2)

и скалярно на вектор, что даст число:

(u1,u2)∗(v1,v2)=u1∗v1+u2∗v2)

Также возможно и векторное произведение, но рассматривать его здесь будет долго. Длина вектора определяется:

∥(v1,v2)∥=(v1,v2)∗(v1,v2)−−−−−−−−−−−−−√=v21+v22−−−−−−√

Все эти операции можно по аналогии продолжить и на n-мерное пространство.