Видео:Собственные значения и собственные векторыСкачать
ОРГАНИЗАЦИЯ ЦИКЛОВ И ОБРАБОТКА МАТРИЦ
ЦЕЛЬ РАБОТЫ. Задав двумерный массив вещественных данных (матрицу А), реализовать его обработку, как указано в варианте. Исходные данные задать самостоятельно, учитывая специфику задачи.
В программе должны быть предусмотрены процедуры ввода-вывода элементов массива А и его обработки — см. Прил. 1.
Видео:Линейная алгебра. Векторы и операции над векторами.Скачать
Варианты
Задана квадратная матрица A размером N x N (N состоящая из действительных элементов.
1) Найти среднее арифметическое элементов каждого из четных столбцов этой матрицы.
2) Найти среднее арифметическое элементов каждого из нечетных столбцов этой матрицы.
3) Найти среднее арифметическое элементов каждой из строк этой матрицы.
4) Найти среднее арифметическое элементов каждой из четных строк этой матрицы.
5) Найти среднее арифметическое элементов каждой из нечетных строк этой матрицы.
6) Найти среднее арифметическое из всех отрицательных элементов этой матрицы.
7) Найти среднее арифметическое из всех положительных элементов этой матрицы.
8) Найти характеристику каждой ее строки (сумму положительных четных элементов в каждой строке).
9) Найти характеристику каждого ее столбца (сумму модулей отрицательных нечетных элементов в каждом столбце).
10) Найти сумму и произведение всех ее положительных элементов.
11) Найти сумму и произведение всех ее отрицательных элементов.
12) Найти сумму всех ее положительных и произведение всех ее отрицательных элементов.
13) Найти сумму всех ее отрицательных и произведение всех ее положительных элементов.
14) Найти сумму всех ее элементов и заменить ею все диагональные элементы этой матрицы.
15) Найти произведение всех ее элементов и заменить им все диагональные элементы этой матрицы.
16) Найти сумму всех ее положительных элементов и заменить ею все диагональные элементы этой матрицы.
17) Найти произведение всех ее положительных элементов и заменить им все диагональные элементы этой матрицы.
18) Найти сумму всех ее отрицательных элементов и заменить ею все диагональные элементы этой матрицы.
19) Найти произведение всех ее отрицательных элементов и заменить им все диагональные элементы этой матрицы.
20) Найти минимальное из чисел, встречающееся в данной матрице более одного раза.
21) Найти максимальное из чисел, встречающееся в данной матрице более одного раза.
22) Найти сумму наибольших элементов каждой строки матрицы и их координаты.
23) Найти сумму наименьших элементов каждой строки матрицы и их координаты.
24) Найти произведение наибольших элементов каждой строки матрицы и их координаты.
25) Найти произведение наименьших элементов каждой строки матрицы и их координаты.
26) Найти сумму наибольших элементов каждого столбца матрицы и их координаты.
27) Найти сумму наименьших элементов каждого столбца матрицы и их координаты.
28) Найти произведение наибольших элементов каждого столбца матрицы и их координаты.
29) Найти произведение наименьших элементов каждого столбца матрицы и их координаты.
30) Найти, сколько положительных элементов содержит данная матрица в каждой строке.
31) Найти, сколько отрицательных элементов содержит данная матрица в каждой строке.
32) Найти, сколько положительных элементов содержит данная матрица в каждом столбце.
33) Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце.
34) Получить новую матрицу путем деления всех элементов данной матрицы на ее наибольший по модулю элемент.
35) Получить новую матрицу путем деления всех элементов данной матрицы на ее наименьший по модулю элемент.
36) Получить новую матрицу путем умножения всех элементов данной матрицы на ее наибольший по модулю элемент.
37) Получить новую матрицу путем умножения всех элементов данной матрицы на ее наименьший по модулю элемент.
38) Получить новую матрицу путем сложения всех элементов данной матрицы с ее наибольшим по модулю элементом.
39) Получить новую матрицу путем сложения всех элементов данной матрицы с ее наименьшим по модулю элементом.
40) Получить новую матрицу путем вычитания всех элементов данной матрицы из ее наибольшего по модулю элемента.
41) Получить новую матрицу путем вычитания всех элементов данной матрицы из ее наименьшего по модулю элемента.
42) Заменить нулями все ее элементы, расположенные на главной диагонали и выше нее.
43) Заменить нулями все ее элементы, расположенные на главной диагонали и ниже нее.
44) Сформировать вектор из суммы элементов строк и найти их среднее арифметическое.
45) Сформировать вектор из суммы элементов столбцов и найти их среднее арифметическое.
46) Сформировать вектор из произведения элементов строк и найти их среднее арифметическое.
47) Сформировать вектор из произведения элементов столбцов и найти их среднее арифметическое.
48) Сформировать вектор из наименьших значений элементов строк и найти их среднее арифметическое.
49) Сформировать вектор из наименьших значений элементов столбцов и найти их среднее арифметическое.
50) Сформировать вектор из наибольших значений элементов строк и найти их среднее арифметическое.
51) Сформировать вектор из наибольших значений элементов столбцов и найти их среднее арифметическое.
52) Сформировать вектор из разностей наибольших и наименьших значений элементов строк.
53) Сформировать вектор из разностей наибольших и наименьших значений элементов столбцов.
54) Сформировать вектор из суммы наибольших и наименьших значений элементов строк.
55) Сформировать вектор из суммы наибольших и наименьших значений элементов столбцов.
56) Найти сумму элементов строки, в которой расположен наименьший элемент.
57) Найти сумму элементов строки, в которой расположен наибольший элемент.
58) Найти сумму элементов столбца, в котором расположен наименьший элемент.
59) Найти сумму элементов столбца, в котором расположен наибольший элемент.
60) Поменять местами строку, содержащую максимальный элемент, со строкой, содержащей минимальный элемент.
Видео:Собственные векторы и собственные значения матрицыСкачать
Контрольныe вопросы
1. Особенности выполнения изучаемых операторов: циклов, условных, ввода-вывода.
2. Процедуры и функции. Формальные и фактические параметры. Передача в параметрах массивов.
3. Размерность массивов. Контроль за корректным распределением памяти для массивов.
4. Двумерные массивы. Строки и столбцы. Расположение в памяти двумерных массивов.
(с) Все права защищены.
По всем интересующим вопросам прошу писать электронный адрес
Видео:7 4 Собственные векторы и собственные значенияСкачать
Сформировать вектор из суммы наибольших и наименьших значений элементов столбцов
Цель работы: изучение двумерных массивов в Python.
Матрицами называются массивы элементов, представленные в виде прямоугольных таблиц, для которых определены правила математических действий. Элементами матрицы могут являться числа, алгебраические символы или математические функции.
Для работы с матрицами в Python также используются списки. Каждый элемент списка-матрицы содержит вложенный список.
1. Создание списка
Пусть даны два числа: количество строк n и количество столбцов m. Необходимо создать список размером n×m, заполненный нулями.
Очевидное решение оказывается неверным:
A = [ [0] *m ]*n
В этом легко убедиться, если присвоить элементу A[0][0] значение 1, а потом вывести значение другого элемента A[1][0] — оно тоже будет равно 1! Дело в том, что [0] * m возвращает ccылку на список из m нулей. Но последующее повторение этого элемента создает список из n элементов, которые являются ссылкой на один и тот же список (точно так же, как выполнение операции B = A для списков не создает новый список), поэтому все строки результирующего списка на самом деле являются одной и той же строкой.
Таким образом, двумерный список нельзя создавать при помощи операции повторения одной строки.
Сначала создадим список из n элементов (для начала просто из n нулей). Затем сделаем каждый элемент списка ссылкой на другой одномерный список из m элементов:
A = [0] * n
for i in range(n):
A[i] = [0] * m
Создать пустой список, потом n раз добавить в него новый элемент, являющийся списком-строкой:
A = []
for i in range(n):
A.append([0] * m)
2. Ввод вложенного списка (двумерного массива)
n=5
A = []
for i in range(n):
b = input()
for i in range(len(row)):
row[i] = int(row[i])
A.append(row)
Для обработки и вывода списка как правило используется два вложенных цикла. Первый цикл по номеру строки, второй цикл по элементам внутри строки. Например, вывести двумерный числовой список на экран построчно, разделяя числа пробелами внутри одной строки, можно так:
for i in range(n):
for j in range(n]):
print(A[i][j], end = ‘ ‘)
print()
То же самое, но циклы не по индексу, а по значениям списка:
for row in A:
for elem in row:
print(elem, end = ‘ ‘)
print()
4. Обработка и вывод вложенных списков
Часто в задачах приходится хранить прямоугольные таблицы с данными. Такие таблицы называются матрицами или двумерными массивами. В языке программирования Питон таблицу можно представить в виде списка строк, каждый элемент которого является в свою очередь списком, например, чисел. Например, создать числовую таблицу из двух строк и трех столбцов можно так:
A = [ [1, 2, 3], [4, 5, 6] ]
Здесь первая строка списка A[0] является списком из чисел [1, 2, 3].
Используем два вложенных цикла для подсчета суммы всех чисел в списке:
S = 0
for i in range(len(A)):
for j in range(len(A[i])):
S += A[i][j]
Или то же самое с циклом не по индексу, а по значениям строк:
S = 0
for row in A:
for elem in row:
S += elem
5. Пример сложной обработки массива
Пусть дана квадратная матрица из n строк и n столбцов. Необходимо элементам, находящимся на главной диагонали, проходящей из левого верхнего угла в правый нижний (то есть тем элементам A[i][j], для которых i==j) присвоить значение 0, элементам, находящимся выше главной диагонали – значение 1, элементам, находящимся ниже главной диагонали – значение 2. То есть получить такой массив (пример для n==3):
0 1 1
2 0 1
2 2 0
Элементы, которые лежат выше главной диагонали – это элементы A[i][j], для которых i j. Таким образом, мы можем сравнивать значения i и j и по ним определять значение A[i][j]. Получаем следующий алгоритм:
for i in range(n):
for j in range(n):
if i
A[i][j] = 0
elif i > j:
A[i][j] = 2
else:
A[i][j] = 1
Второй способ.
Данный алгоритм плох, поскольку выполняет одну или две инструкции if для обработки каждого элемента. Если мы усложним алгоритм, то мы сможем обойтись вообще без условных инструкций.
Сначала заполним главную диагональ, для чего нам понадобится один цикл:
for i in range(n):
A[i][i] = 1
Затем заполним значением 0 все элементы выше главной диагонали, для чего нам понадобится в каждой из строк с номером i присвоить значение элементам A[i][j] для j=i+1, . n-1. Здесь нам понадобятся вложенные циклы:
for i in range(n):
for j in range(i + 1, n):
A[i][j] = 0
Аналогично присваиваем значение 2 элементам A[i][j] для j=0, . i-1:
for i in range(n):
for j in range(0, i):
A[i][j] = 2
Можно также внешние циклы объединить в один и получить еще одно, более компактное решение:
for i in range(n):
for j in range(0, i):
A[i][j] = 2
A[i][i] = 1
for j in range(i + 1, n):
A[i][j] = 0
Третий способ.
А вот такое решение использует операцию повторения списков для построения очередной строки списка. i-я строка списка состоит из i чисел 2, затем идет одно число 1, затем идет n-i-1 число 0:
for i in range(n):
A[i] = [2] * i + [1] + [0] * (n — i — 1)
1. Вычислить сумму и число положительных элементов матрицы A[N, N], находящихся над главной диагональю.
2. Дана матрица B[N, М]. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их с первым и последним элементами строки соответственно.
1. Дана целая квадратная матрица n-го порядка. Определить, является ли она магическим квадратом, т. е. такой матрицей, в которой суммы элементов во всех строках и столбцах одинаковы.
2. Дана прямоугольная матрица A[N, N]. Переставить первый и последний столбцы местами и вывести на экран.
1. Определить, является ли заданная целая квадратная матрица n-го порядка симметричной (относительно главной диагонали).
2. Дана вещественная матрица размером n х m. Переставляя ее строки и столбцы, добиться того, чтобы наибольший элемент (или один из них) оказался в верхнем левом углу.
1. Дана прямоугольная матрица. Найти строку с наибольшей и строку с наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов.
2. Дана квадратная матрица A[N, N], Записать на место отрицательных элементов матрицы нули, а на место положительных — единицы. Вывести на печать нижнюю треугольную матрицу в общепринятом виде.
1. Упорядочить по возрастанию элементы каждой строки матрицы размером n х m.
2. Дана действительная матрица размером n х m, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением. Если число четное, то заменяется нулем, нечетное — единицей. Вывести на экран новую матрицу.
1. Дана целочисленная квадратная матрица. Найти в каждой строке наибольший элемент и в каждом столбце наименьший. Вывести на экран.
2. Дана действительная квадратная матрица порядка N (N — нечетное), все элементы которой различны. Найти наибольший элемент среди стоящих на главной и побочной диагоналях и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
1. Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать по строкам.
2. Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, просуммировав элементы одномерного массива. Преобразовать исходную матрицу по правилу: четные строки разделить на полученное значение, нечетные оставить без изменения.
1. Задана матрица порядка n и число к. Разделить элементы k-й строки на диагональный элемент, расположенный в этой строке.
2. Задана квадратная матрица. Получить транспонированную матрицу (перевернутую относительно главной диагонали) и вывести на экран.
1. Для целочисленной квадратной матрицы найти число элементов, кратных k, и наибольший из этих элементов.
2. В данной действительной квадратной матрице порядка n найти наибольший по модулю элемент. Получить квадратную матрицу порядка n — 1 путем отбрасывания из исходной матрицы строки и столбца, на пересечении которых расположен элемент с найденным значением.
1. Найти максимальный среди всех элементов тех строк заданной матрицы, которые упорядочены (либо по возрастанию, либо по убыванию).
2. Расположить столбцы матрицы D[M, N] в порядке возрастания элементов k-й строки (1
1. В данной действительной квадратной матрице порядка п найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.
2. Среди столбцов заданной целочисленной матрицы, содержащих только такие элементы, которые по модулю не больше 10, найти столбец с минимальным произведением элементов и поменять местами с соседним.
1. Для заданной квадратной матрицы найти такие k, что k-я строка матрицы совпадает с k-м столбцом.
2. Дана действительная матрица размером n х m. Требуется преобразовать матрицу: поэлементно вычесть последнюю строку из всех строк, кроме последней.
1. Определить наименьший элемент каждой четной строки матрицы А[М, N].
2. Найти наибольший и наименьший элементы прямоугольной матрицы и поменять их местами.
1. Задана квадратная матрица. Переставить строку с максимальным элементом на главной диагонали со строкой с заданным номером m.
2. Составить программу, которая заполняет квадратную матрицу порядка п натуральными числами 1, 2, 3, . n2, записывая их в нее «по спирали».
Например, для п = 5 получаем следующую матрицу:
1. Определить номера строк матрицы R[M, N], хотя бы один элемент которых равен с, и элементы этих строк умножить на d.
2. Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов.
Видео:Линал 2.6. Умножение матрицы на векторСкачать
Сформировать вектор из суммы наибольших и наименьших значений элементов столбцов
Решите задачи. Каждое решение можно оформить отдельным проектом.
ArrayMultiple — В массив A [N] занесены натуральные числа. Найти сумму тех элементов, которые кратны данному К.
ArrayReplacement — Дана последовательность действительных чисел а1 ,а2 . ап. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен.
ArrayCouting — Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.
ArrayReplaceMinWithMax — Даны действительные числа а1 ,а2 . аn . Поменять местами наибольший и наименьший элементы.
ArrayPrintGreater — Даны целые числа а1 ,а2 . аn . Вывести на печать только те числа, для которых аi > i.
ArraySumIndexSimpleNumber — Задана последовательность N вещественных чисел. Вычислить сумму чисел, порядковые номера которых являются простыми числами.
ArrayMax — Даны действительные числа а1 ,а2 . аn. Найти
ArrayMin — Дана последовательность целых чисел а1 ,а2 . аn. Образовать новую последовательность, выбросив из исходной те члены, которые равны min(а1 ,а2 . аn).
ArrayEqualNumber — В массиве целых чисел с количеством элементов n найти наиболее часто встречающееся число. Если таких чисел несколько, то определить наименьшее из них.
ArrayReplaceWithZero — Дан целочисленный массив с количеством элементов п. Сжать массив, выбросив из него каждый второй элемент (освободившиеся элементы заполнить нулями).
MatrixOddColumn — Дана матрица. Вывести на экран все нечетные столбцы, у которых первый элемент больше последнего.
MatrixIsSquare — Дана квадратная матрица. Вывести на экран элементы, стоящие на диагонали.
MatrixPrintColumnAndLin — Дана матрица. Вывести k-ю строку и p-й столбец матрицы.
MatrixSquare — Сформировать квадратную матрицу порядка n по заданному образцу(n — четное):
- MatrixSquare — Сформировать квадратную матрицу порядка n по заданному образцу(n — четное):
- MatrixSquare — Сформировать квадратную матрицу порядка n по заданному образцу(n — четное):
и подсчитать количество положительных элементов в ней.
MatrixReplacingColumns — В числовой матрице поменять местами два столбца любых столбца, т. е. все элементы одного столбца поставить на соответствующие им позиции другого, а его элементы второго переместить в первый. Номера столбцов вводит пользователь с клавиатуры.
MatrixSumOfElements — Задана матрица неотрицательных чисел. Посчитать сумму элементов в каждом столбце. Определить, какой столбец содержит максимальную сумму.
MatrixPositiveElements — Найти положительные элементы главной диагонали квадратной матрицы.
Matrix — Матрицу 10×20 заполнить случайными числами от 0 до 15. Вывести на экран саму матрицу и номера строк, в которых число 5 встречается три и более раз.
MatrixSortLine — Отсортировать строки матрицы по возрастанию и убыванию значений элементов.
MatrixSortColumn — Отсотрировать стобцы матрицы по возрастанию и убыванию значений эементов.
MatrixZeroAndOne — Сформировать случайную матрицу m x n, состоящую из нулей и единиц, причем в каждом столбце число единиц равно номеру столбца.
MatrixSearchMax — Найдите наибольший элемент матрицы и заменить все нечетные элементы на него.
MatrixMagicSquare — Магическим квадратом порядка n называется квадратная матрица размера nxn, составленная из чисел 1, 2, 3, . так, что суммы по каждому столбцу, каждой строке и каждой из двух больших диагоналей равны между собой. Построить такой квадрат.
TwoArrays — Заданы два одномерных массива с различным количеством элементов и натуральное число k. Объединить их в один массив, включив второй массив между k-м и (k+1) — м элементами первого, при этом не используя дополнительный массив.
SortingByChoice — Реализуйте сортировку выбором.
BubbleSort — Реализуйте сортировку обменами.
InsertionSort — Реализуйте сортировку вставками.
ShellSort — Реализуйте сортировку Шелла.
- Method_01 — Написать метод(методы) для нахождения наибольшего общего делителя и наименьшего общего кратного двух натуральных чисел:
Method_02 — Написать метод(методы) для нахождения наибольшего общего делителя четырех натуральных чисел.
Method_03 — Вычислить площадь правильного шестиугольника со стороной а, используя метод вычисления площади треугольника.
Method_04 — На плоскости заданы своими координатами n точек. Написать метод(методы), определяющие, между какими из пар точек самое большое расстояние. Указание. Координаты точек занести в массив.
Method_05 — Составить программу, которая в массиве A[N] находит второе по величине число (вывести на печать число, которое меньше максимального элемента массива, но больше всех других элементов).
Method_06 — Написать метод(методы), проверяющий, являются ли данные три числа взаимно простыми.
Method_07 — Написать метод(методы) для вычисления суммы факториалов всех нечетных чисел от 1 до 9.
Method_08 — Задан массив D. Определить следующие суммы: D[l] + D[2] + D[3]; D[3] + D[4] + D[5]; D[4] +D[5] +D[6]. Пояснение. Составить метод(методы) для вычисления суммы трех последовательно расположенных элементов массива с номерами от k до m.
Method_09 — Даны числа X, Y, Z, Т — длины сторон четырехугольника. Написать метод(методы) вычисления его площади, если угол между сторонами длиной X и Y— прямой.
Method_10 — Дано натуральное число N. Написать метод(методы) для формирования массива, элементами которого являются цифры числа N.
Method_11 — Написать метод(методы), определяющий, в каком из данных двух чисел больше цифр.
Method_12 — Даны натуральные числа К и N. Написать метод(методы) формирования массива А, элементами которого являются числа, сумма цифр которых равна К и которые не большее N.
Method_13 — Два простых числа называются «близнецами», если они отличаются друг от друга на 2 (например, 41 и 43). Найти и напечатать все пары «близнецов» из отрезка [n,2n], где n — заданное натуральное число больше 2. Для решения задачи использовать декомпозицию.
Method_14 — Натуральное число, в записи которого n цифр, называется числом Армстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до k. Для решения задачи использовать декомпозицию.
Method_15 — Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность (например, 1234, 5789). Для решения задачи использовать декомпозицию.
Method_16 — Написать программу, определяющую сумму n — значных чисел, содержащих только нечетные цифры. Определить также, сколько четных цифр в найденной сумме. Для решения задачи использовать декомпозицию.
Method_17 — Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т.д. Сколько таких действий надо произвести, чтобы получился нуль? Для решения задачи использовать декомпозицию.
Ответьте на следующие вопросы.
Не всегда в литературе или обучающих видео-роликах вы можете найти прямой ответ на поставленный вопрос, использующий к тому же одинаковые формулировки. В этом случае необходимо обобщить имеющиеся у вас знания и вывести правильный ответ (ну, или иногда помогает Google 🙂 ).
📽️ Видео
Доказать, что векторы a, b, c образуют базис и найти координаты вектора d в этом базисеСкачать
Математика это не ИсламСкачать
Собственные векторы и собственные числа линейного оператораСкачать
А.7.35 Собственные вектора и собственные значения матрицыСкачать
Найти сумму направляющих косинусов вектораСкачать
Диагональный вид матрицы. Приведение матрицы к диагональному виду. Собственные векторыСкачать
Как разложить вектор по базису - bezbotvyСкачать
410. Построение суммы и разности векторов и и нахождение модуля линейной комбинации векторов.Скачать
8 класс, 43 урок, Сумма двух векторовСкачать
Занятие 12. Векторы и матрицыСкачать
Формулы Excel – все особенности, тонкости и трюки в одном видео! - Функции Excel (2)Скачать
Овчинников А. В. - Линейная алгебра - Собственные значения и собственные векторы линейного оператораСкачать
Математика без Ху!ни. Смешанное произведение векторовСкачать
Что такое векторы и матрицы? Душкин объяснитСкачать
Уроки Python - Списки (Массивы)Скачать