РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
78 of 541 menu

Функция diagflat

Функция diagflat создает двумерную диагональную матрицу из переданных данных. Первым параметром функция принимает объект, который будет преобразован в плоский массив для размещения на диагонали. Вторым параметром можно задать смещение диагонали относительно главной.

Синтаксис

np.diagflat(object, [k=0])

Параметр object - это данные для размещения на диагонали. Параметр k - смещение диагонали (по умолчанию 0). Положительное значение сдвигает диагональ вверх, отрицательное - вниз.

Пример

Давайте создадим диагональную матрицу из одномерного массива чисел:

import numpy as np arr = np.diagflat([1, 2, 3, 4]) print(arr)

Результат выполнения кода:

[[1 0 0 0] [0 2 0 0] [0 0 3 0] [0 0 0 4]]

Функция разместила элементы входного массива на главной диагонали результирующей квадратной матрицы.

Пример

Теперь создадим матрицу со смещением диагонали вверх на одну позицию:

import numpy as np arr = np.diagflat([5, 6, 7], k=1) print(arr)

Результат выполнения кода:

[[0 5 0 0] [0 0 6 0] [0 0 0 7] [0 0 0 0]]

Элементы разместились на диагонали, сдвинутой вверх. Размер матрицы определяется длиной входных данных и величиной смещения.

Пример

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

import numpy as np data = np.array([[1, 2], [3, 4]]) arr = np.diagflat(data) print(arr)

Результат выполнения кода:

[[1 0 0 0] [0 2 0 0] [0 0 3 0] [0 0 0 4]]

Входной двумерный массив был преобразован в плоский порядке по строкам, после чего элементы размещены на диагонали.

Пример

Создадим матрицу с диагональю, смещенной вниз на две позиции:

import numpy as np arr = np.diagflat([10, 20, 30], k=-2) print(arr)

Результат выполнения кода:

[[0 0 0 0 0] [0 0 0 0 0] [0 0 10 0 0] [0 0 0 20 0] [0 0 0 0 30]]

При отрицательном смещении диагональ располагается ниже главной. Размер матрицы увеличивается, чтобы вместить все элементы с учетом сдвига.

Смотрите также

  • функцию diag,
    которая извлекает диагональ из массива или создает диагональную матрицу
  • функцию diagonal,
    которая возвращает указанную диагональ массива
  • функцию tri,
    которая создает треугольную матрицу из единиц и нулей
  • функцию tril,
    которая возвращает нижнюю треугольную часть матрицы
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить