logo

Питхон Матрик

У овом водичу ћемо научити о Питхон матрицама. У Питхон-у, матрични објекат је сличан угнежђеним листама јер су вишедимензионалне. Видећемо како да креирамо матрицу користећи Нумпи низове. Након овога, видећемо различите методе матричних операција и примере за боље разумевање.

Шта је матрица у Пајтону?

Матрица у Питхон-у је правоугаони Нумпи низ. Овај низ мора бити дводимензионалан. Садржи податке ускладиштене у редовима и колонама низа. У Питхон матрици, хоризонталне серије ставки се називају „редови“, док се вертикалне серије ставки називају „колоне“. Редови и колоне су наслагани један преко другог баш као угнежђена листа. Ако матрица садржи р број редова и ц број колона, где су р и ц позитивни цели бројеви, онда р к ц одређује редослед овог објекта матрице.

Можемо да складиштимо стрингове, целе бројеве и објекте других типова података у матрици. Подаци се чувају у гомилама редова и колона у матрици. Матрица је кључна структура података за прорачуне у математици и науци. У Питхон-у листу листа или угнежђену листу сматрамо матрицом пошто Питхон не укључује ниједан уграђени тип за матрични објекат.

У току овог туторијала, проћи ћемо кроз следећу листу метода матричних операција.

  • Сабирање матрице
  • Множење матрице
  • Оператор множења матрице
  • Множење матрице без Нумпи-ја
  • Инверзна матрица
  • Матрично транспоновање
  • Матрица у низ

Како функционишу матрице у Питхон-у?

Пишемо податке у дводимензионални низ да бисмо направили матрицу. То се ради на следећи начин:

Пример

 [ 2 3 5 7 6 3 2 6 7 2 5 7 2 6 1 ] 

Приказује матрицу која има 3 реда и 5 колона, тако да је њена димензија 3×5. Објекти типа целобројних података чине податке у овој матрици. Ред 1, први ред, има вредности (2, 3, 5, 7, 6), док ред 2 има вредности (3, 2, 6, 7, 2), а ред 3 има вредности 5, 7, 2, 6, 1. Што се тиче колоне, Колона 1 има вредности (2, 3, 5), Колона 2 има вредности (3, 2, 7) и тако даље.

Пример

субстринг_индек у скл
 [ 0, 0, 1 0, 1, 0 1, 0, 0 ] 

Приказује матрицу која има 3 реда и 3 колоне, тако да је њена димензија 3×3. Такве матрице које имају једнаке редове и колоне називају се квадратне матрице.

Слично, Питхон омогућава корисницима да чувају своје податке унутар м к н димензионалне матрице. Можемо извршити сабирање матрица, множење, транспозицију и друге операције на структури налик матрици.

Имплементација матричног објекта у Питхон-у није једноставна. Можемо креирати Питхон матрицу користећи низове и на сличан начин их користити.

НумПи Арраи

Научни рачунарски софтвер НумПи подржава робустан објекат Н-димензионалног низа. Инсталирање НумПи-а је предуслов за његово коришћење у нашем програму.

апстрактна класа против интерфејса

НумПи се може користити и увозити након инсталације. Познавање основа Нумпи Арраи-а биће од помоћи у разумевању матрица.

НумПи обезбеђује низове са више димензија ставки. Ево илустрације:

Код

 # Python program to show how to create a Numpy array # Importing numpy import numpy as np # Creating a numpy array array = np.array([4, 6, 'Harry']) print(array) print('Data type of array object: ', type(array)) 

Излаз:

 ['4' '6' 'Harry'] Data type of array object: 

Као што видимо, Нумпи низови припадају класи ндарраи.

Пример за креирање матрице помоћу Нумпи низа

Размислите о сценарију где правимо евиденцију оцена ученика. Записаћемо име и оцене ученика из два предмета Питхон програмирање и Матрик. Направићемо дводимензионалну матрицу користећи нумпи низ, а затим га преобликовати.

Код

 # Python program to create a matrix using numpy array # Importing numpy import numpy as np # Creating the matrix record = np.array( [['Itika', 89, 91], ['Aditi', 96, 82], ['Harry', 91, 81], ['Andrew', 87, 91], ['Peter', 72, 79]]) matrix = np.reshape(record, (5,3)) print('The matrix is: 
', matrix) 

Излаз:

 The matrix is: [['Itika' '89' '91'] ['Aditi' '96' '82'] ['Harry' '91' '81'] ['Andrew' '87' '91'] ['Peter' '72' '79']] 

Пример за креирање матрице помоћу Нумпи матрице методе

Можемо користити нумпи.матрик да креирамо 2Д матрицу.

Код

 # Python program to show how to create a matrix using the matrix method # importing numpy import numpy as np # Creating a matrix matrix = np.matrix('3,4;5,6') print(matrix) 

Излаз:

 [[3 4] [5 6]] 

Приступ вредностима матрице

Индекси матрице се могу користити за приступ елементима који се налазе у њој. Подаци ускладиштени у матрици доступни су коришћењем истог приступа који користимо за дводимензионални низ.

стринг буилдер јава

Код

 # Python program to access elements of a matrix # Importing numpy import numpy as np # Creating the matrix record = np.array( [['Itika', 89, 91], ['Aditi', 96, 82], ['Harry', 91, 81], ['Andrew', 87, 91], ['Peter', 72, 79]]) matrix = np.reshape(record, (5,3)) # Accessing record of Itika print( matrix[0] ) # Accessing marks in the matrix subject of Andrew print( 'Andrew's marks in Matrix subject: ', matrix[3][2] ) 

Излаз:

 ['Itika' '89' '91'] Andrew's marks in Matrix subject: 91 

Методе за креирање 2-Д Нумпи низа или матрице

Постоји неколико метода за креирање дводимензионалног НумПи низа, а тиме и матрице. Обезбеђивање уноса за редове и колоне

Можемо да обезбедимо целе бројеве, плутајуће или чак комплексне бројеве. Користећи атрибут дтипе методе низа, можемо одредити тип података који желимо.

Код

 # Python program to show how to create a Numpy array # Importing numpy import numpy as np # Creating numpy arrays array1 = np.array([[4, 2, 7, 3], [2, 8, 5, 2]]) print('Array of data type integers: 
', array1) array2 = np.array([[1.5, 2.2, 3.1], [3, 4.4, 2]], dtype = 'float') print('Array of data type float: 
', array2) array3 = np.array([[5, 3, 6], [2, 5, 7]], dtype = 'complex') print('Array of data type complex numbers: 
', array3) 

Излаз:

 Array of data type integers: [[4 2 7 3] [2 8 5 2]] Array of data type float: [[1.5 2.2 3.1] [3. 4.4 2. ]] Array of data type complex numbers: [[5.+0.j 3.+0.j 6.+0.j] [2.+0.j 5.+0.j 7.+0.j]] 

Низ који има нуле и јединице

Код

 # Python program to show how to create a Numpy array having zeroes and ones # Importing numpy import numpy as np # Creating numpy arrays zeores_array = np.zeros( (3, 2) ) print(zeores_array) ones_array = np.ones( (2, 4), dtype=np.int64 ) print(ones_array) 

Излаз:

 [[0. 0.] [0. 0.] [0. 0.]] [[1 1 1 1] [1 1 1 1]] 

Овде смо навели дтипе на 64 бита.

Коришћење метода аранге() и схапе().

Код

 # Python program to show how to create Numpy array using arrange() and shape() methods # Importing numpy import numpy as np # Creating numpy arrays array1 = np.arange( 5 ) print(array1) array2 = np.arange( 6 ).reshape( 2, 3 ) print(array2) 

Излаз:

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

Питхон матричне операције

Питхон Матрик Аддитион

Додаћемо две матрице и користити угнежђену фор петљу кроз дате матрице.

зеенат аман глумац

Код

 # Python program to add two matrices without using numpy # Creating matrices in the form of nested lists matrix1 = [[23, 43, 12], [43, 13, 55], [23, 12, 13]] matrix2 = [[4, 2, -1], [5, 4, -34], [0, -4, 3]] matrix3 = [[0,1,0], [1,0,0], [0,0,1]] matrix4 = [[0,0,0], [0,0,0], [0,0,0]] matrices_length = len(matrix1) #Adding the three matrices using nested loops for row in range(len(matrix1)): for column in range(len(matrix2[0])): matrix4[row][column] = matrix1[row][column] + matrix2[row][column] + matrix3[row][column] #Printing the final matrix print('The sum of the matrices is = ', matrix4) 

Излаз:

 The sum of the matrices is = [[27, 46, 11], [49, 17, 21], [23, 8, 17]] 

Питхон множење матрице

Питхон оператор множења матрице

У Питхон-у @ је познат као оператор множења. Хајде да видимо пример где ћемо користити овај оператор за множење две матрице.

Код

 # Python program to show how to create a matrix using the matrix method. # importing numpy import numpy as np # Creating the matrices matrix1 = np.matrix('3,4;5,6') matrix2 = np.matrix('4,6;8,2') # Usng multiplication operator to multiply two matrices print(matrix1 @ matrix2) 

Излаз:

 [[44 26] [68 42]] 

Питхон множење матрице без употребе Нумпи-ја

Други начин множења две матрице је коришћење угнежђених петљи. Ево примера за приказ.

Код

 # Python program to show how to create a matrix using the matrix method # importing numpy import numpy as np # Creating two matrices matrix1 = [[4, 6, 2], [7, 4, 8], [6, 2, 7]] matrix2 = [[4, 6, 8, 2], [6, 5, 3, 7], [7, 3, 7, 6]] # Result will be a 3x4 matrix output = [[0,0,0,0], [0,0,0,0], [0,0,0,0]] # Iterating through the rows of matrix1 for i in range(len(matrix1)): # iterating through the columns of matrix2 for j in range(len(matrix2[0])): # iterating through the rows of matrix2 for k in range(len(matrix2)): output[i][j] += matrix1[i][k] * matrix2[k][j] for row in output: print(row) 

Излаз:

 [66, 60, 64, 62] [108, 86, 124, 90] [85, 67, 103, 68] 

Питхон Матрик Инверсе

Када једначина треба да се реши да би се добила вредност непознате променљиве која задовољава једначине, израчунава се инверзна вредност матрице, која је само реципрочна вредност матрице као што бисмо то чинили у редовној математици. Инверзност матрице је матрица која даје матрицу идентитета када множимо са оригиналном матрицом. Само несингуларна матрица може имати инверзну. Несингуларна матрица има детерминанту различиту од нуле.

Код

 # Python program to show how to calculate the inverse of a matrix # Importing the required library import numpy as np # Creating a matrix A = np.matrix('3, 4, 6; 6, 2, 7; 6, 4, 6') # Calculating the inverse of A print(np.linalg.inv(A)) 

Излаз:

 [[-3.33333333e-01 -7.40148683e-17 3.33333333e-01] [ 1.25000000e-01 -3.75000000e-01 3.12500000e-01] [ 2.50000000e-01 2.50000000e-01 -3.75000000e-01]] 

Питхон Матрик Транспосе

Питхон Матрик Транспосе без Нумпи

Транспозиција матрице укључује пребацивање редова и колона. Има симбол Кс'. Ставићемо објекат у ред и и колону ј матрице Кс у ред ј и колону и матрице Кс'. Сходно томе, Кс' ће постати матрица 4к3 ако је оригинална матрица Кс матрица 3к4.

Код

 # Python program to find the transpose of a matrix using nested loops # Creating a matrix matrix = [[4, 6, 7, 8], [3, 7, 2, 7], [7, 3, 7, 5]] result = [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]] # iterating through the rows for i in range(len(matrix)): # iterating through the columns for j in range(len(matrix[0])): result[j][i] = matrix[i][j] for row in result: print(row) 

Излаз:

 [4, 3, 7] [6, 7, 3] [7, 2, 7] [8, 7, 5] 

Питхон Матрик Транспосе користећи Нумпи

плскл

Можемо користити метод матрик.транспосе() у Нумпију да добијемо транспоновање матрице.

Код

 # Python program to find the transpose of a matrix # importing the required module import numpy as np # Creating a matrix using matrix method matrix = np.matrix('[5, 7, 6; 4, 2, 4]') #finding transpose using matrix.transpose method transpose = matrix.transpose() print(transpose) 

Излаз:

 [[5 4] [7 2] [6 4]] 

Претварање Питхон матрице у низ

Можемо да користимо функције равел и флаттен да претворимо Питхон матрицу у Питхон низ.

Код

 # Python program to convert a matrix to an array # importing the required module import numpy as np # Creating a matrix using numpy matrix = np.matrix('[4, 6, 7; 5, 2, 6; 6, 3, 6]') # Using ravel() function to covert matrix to array array = matrix.ravel() print(array) # Using flatten() function to covert matrix to array array = np.asarray(matrix).flatten() print(array) # Using reshape() function to covert matrix to array array = (np.asarray(matrix)).reshape(-1) print(array) 

Излаз:

 [[4 6 7 5 2 6 6 3 6]] [4 6 7 5 2 6 6 3 6] [4 6 7 5 2 6 6 3 6]