Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
calc:vector [2021/03/10 11:19] root |
calc:vector [2022/08/10 23:55] (текущий) root |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
<div slide> | <div slide> | ||
- | ====== Основные операции линейной алгебры в numpy ====== | ||
- | |||
- | ==== Операции над векторами ==== | ||
- | |||
- | Положим что одномерные массивы '' | ||
- | |||
- | <sxh python> | ||
- | import numpy as np | ||
- | |||
- | a = np.array([1, | ||
- | b = np.array([2, | ||
- | </ | ||
- | |||
- | ^ Операция ^ Запись ^ Результат ^ | ||
- | | Длина вектора | '' | ||
- | | Произведение вектора на скаляр | '' | ||
- | | Сумма векторов | '' | ||
- | | Скалярное произведение | '' | ||
- | | Векторное произведение | '' | ||
- | |||
- | </ | ||
- | |||
- | ==== Операции над матрицами ==== | ||
- | |||
- | Положим, | ||
- | |||
- | <sxh python> | ||
- | import numpy as np | ||
- | |||
- | a = np.array([1, | ||
- | M = np.array([[1, | ||
- | </ | ||
- | |||
- | ^ Операция ^ Запись ^ Результат ^ | ||
- | | Определитель | '' | ||
- | | След | '' | ||
- | | Форма | '' | ||
- | | Векторно-матричное умножение | '' | ||
- | | Матричное умножение | '' | ||
- | | Обратная матрица | '' | ||
- | | Собственные числа и собственные векторы | '' | ||
- | | Транспонирование | '' | ||
- | | Нулевая матрица | '' | ||
- | | Единичная матрица | '' | ||
- | |||
- | </ | ||
- | |||
- | ==== Вращение координат ==== | ||
- | |||
- | Вращение координат удобно задавать в виде матрицы поворота с помощью модуля '' | ||
- | |||
- | <sxh python> | ||
- | from scipy.spatial.transform import Rotation | ||
- | |||
- | # | ||
- | MRot = Rotation.from_euler(' | ||
- | #Для новых версий: | ||
- | MRot = Rotation.from_euler(' | ||
- | |||
- | a = np.array([1, | ||
- | |||
- | rot_a = np.matmul(a, | ||
- | |||
- | </ | ||
- | |||
- | </ | ||
- | |||
- | ==== Сопобы задания вращения ==== | ||
- | |||
- | ^ Способ задания ^ Описание ^ Пример ^ | ||
- | | Углы Эйлера | Последовательность вращений вокруг осей координат | '' | ||
- | | Матрица поворота | Матрица направляющих косинусов | '' | ||
- | | Вращение вокруг ветора | Вращение вокруг ветора единичной длинны на данный угол | '' | ||
- | |||
- | </ | ||
===== Функция на сетке ===== | ===== Функция на сетке ===== | ||
- | Важная особенность '' | + | Важная особенность '' |
<sxh python> | <sxh python> | ||
Строка 89: | Строка 14: | ||
p = np.linspace(5, | p = np.linspace(5, | ||
- | v = f (s,p) | + | v = f (s,p) # Функция f была применена поэлементно |
# v == array([ | # v == array([ | ||
S, P = np.meshgrid(s, | S, P = np.meshgrid(s, | ||
- | v = f (S,P) | + | v = f (S,P) # Функция f была применена для каждой пары из s и p |
# array([[ 33., 45., 57.], | # array([[ 33., 45., 57.], | ||
# [ 54., 66., 78.], | # [ 54., 66., 78.], | ||
Строка 124: | Строка 49: | ||
Объект '' | Объект '' | ||
- | '' | + | '' |
</ | </ |