1_rinkana

ЛАБОРАТОРНА РОБОТА №2(Робота з масивами)

Sep 27th, 2023
1,031
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.57 KB | None | 0 0
  1. import numpy as np
  2.  
  3. # Задані константи
  4. alfa = 3.5
  5. beta = -0.6
  6.  
  7. # Задані матриці A та B
  8. A = np.array([
  9.     [3, 2, -1],
  10.     [0, -1, 2],
  11.     [5, 7, 1],
  12. ])
  13.  
  14. B = np.array([
  15.     [0, 3, -1],
  16.     [2, -1, 2],
  17.     [1, 2, 3],
  18. ])
  19.  
  20. # 1. Знайти матрицю C = αA + βB
  21. C = alfa * A + beta * B
  22.  
  23. # 2. Знайти матрицю D = αA - B
  24. D = alfa * A - B
  25.  
  26. # 3. Знайти визначники матриць A, B, C
  27. det_A = np.linalg.det(A)
  28. det_B = np.linalg.det(B)
  29. det_C = np.linalg.det(C)
  30.  
  31. # 4. Транспонувати матриці A, B, C
  32. A_transpose = np.transpose(A)
  33. B_transpose = np.transpose(B)
  34. C_transpose = np.transpose(C)
  35.  
  36. # 5. Знайти найменший елемент 3-го стовпчика матриці C
  37. min_element_column_3 = np.min(C[:, 2])
  38.  
  39. # 6. Знайти стовпець матриці C з максимальним елементом
  40. max_element_col_idx = np.argmax(C)
  41. max_element_col = C[:, max_element_col_idx % C.shape[1]]
  42.  
  43. # 7. Побудувати матрицю E
  44. if alfa % 2 == 0:
  45.     E = D[1:-1, :-1]
  46. else:
  47.     E = D[1:, 1:]
  48.  
  49. # 8. Створити дві нові матриці
  50. AB_horizontal = np.hstack((A, B))
  51. CS_vertical = np.vstack((C, D.transpose()))
  52.  
  53. # 9. Сортування стовбців матриці A за зростанням та спаданням
  54. A_sorted_asc = np.sort(A, axis=0)
  55. A_sorted_desc = np.sort(A, axis=0)[::-1]
  56.  
  57. # 10. Сортування рядків матриці B за зростанням та спаданням
  58. B_sorted_asc = np.sort(B, axis=1)
  59. B_sorted_desc = np.sort(B, axis=1)[:, ::-1]
  60.  
  61. # 11. Знайти максимальні елементи та розмірність матриць
  62. max_element_A = np.max(A)
  63. max_element_B = np.max(B)
  64. max_element_C = np.max(C)
  65. max_element_D = np.max(D)
  66. max_element_E = np.max(E)
  67.  
  68. rows_A, cols_A = A.shape
  69. rows_B, cols_B = B.shape
  70. rows_C, cols_C = C.shape
  71. rows_D, cols_D = D.shape
  72. rows_E, cols_E = E.shape
  73.  
  74. # 12. Знайти матриці зворотні до A, B, C
  75. inv_A = np.linalg.inv(A)
  76. inv_B = np.linalg.inv(B)
  77. inv_C = np.linalg.inv(C)
  78.  
  79. # 13. Поєднати матриці горизонтально та вилучити рядки
  80. combined_matrices = np.hstack((A, B, C))
  81. if alfa % 2 == 0:
  82.     combined_matrices = combined_matrices[::2, :]
  83.  
  84. # 14. Створити одиничну матрицю O та обчислити слід
  85. n = 1  # Ваш номер варіанту
  86. O = np.eye(n)
  87. trace_O = np.trace(O)
  88.  
  89. # Виведення результатів
  90. print("1. Матриця C:")
  91. print(C)
  92. print("\n2. Матриця D:")
  93. print(D)
  94. print("\n3. Визначники матриць:")
  95. print(f"Det(A) = {det_A}")
  96. print(f"Det(B) = {det_B}")
  97. print(f"Det(C) = {det_C}")
  98. print("\n4. Транспоновані матриці:")
  99. print("A transpose:")
  100. print(A_transpose)
  101. print("B transpose:")
  102. print(B_transpose)
  103. print("C transpose:")
  104. print(C_transpose)
  105. print("\n5. Найменший елемент 3-го стовпчика матриці C:")
  106. print(min_element_column_3)
  107. print("\n6. Стовпець матриці C з максимальним елементом:")
  108. print(max_element_col)
  109. print("\n7. Матриця E:")
  110. print(E)
  111. print("\n8. Дві нові матриці:")
  112. print("AB_horizontal:")
  113. print(AB_horizontal)
  114. print("CS_vertical:")
  115. print(CS_vertical)
  116. print("\n9. Сортування стовбців матриці A:")
  117. print("A за зростанням:")
  118. print(A_sorted_asc)
  119. print("A за спаданням:")
  120. print(A_sorted_desc)
  121. print("\n10. Сортування рядків матриці B:")
  122. print("B за зростанням:")
  123. print(B_sorted_asc)
  124. print("B за спаданням:")
  125. print(B_sorted_desc)
  126. print("\n11. Максимальні елементи та розмірність матриць:")
  127. print(f"Max(A) = {max_element_A}, Shape(A) = ({rows_A}, {cols_A})")
  128. print(f"Max(B) = {max_element_B}, Shape(B) = ({rows_B}, {cols_B})")
  129. print(f"Max(C) = {max_element_C}, Shape(C) = ({rows_C}, {cols_C})")
  130. print(f"Max(D) = {max_element_D}, Shape(D) = ({rows_D}, {cols_D})")
  131. print(f"Max(E) = {max_element_E}, Shape(E) = ({rows_E}, {cols_E})")
  132. print("\n12. Матриці зворотні до A, B, C:")
  133. print("Inverse of A:")
  134. print(inv_A)
  135. print("Inverse of B:")
  136. print(inv_B)
  137. print("Inverse of C:")
  138. print(inv_C)
  139. print("\n13. Поєднана матриця з вилученими рядками:")
  140. print(combined_matrices)
  141. print("\n14. Одинична матриця O та слід:")
  142. print("O:")
  143. print(O)
  144. print(f"Trace(O) = {trace_O}")
Advertisement
Add Comment
Please, Sign In to add comment