目錄
輸入輸出場景
使用 For 迴圈
範例
輸出
首頁 後端開發 Python教學 Python程式使用多維數組相乘兩個矩陣

Python程式使用多維數組相乘兩個矩陣

Sep 11, 2023 pm 05:09 PM
多維數組 矩陣 相乘

Python程式使用多維數組相乘兩個矩陣

矩陣是按行和列排列的一組數字。 m 行 n 列的矩陣稱為 m X n 矩陣,m 和 n 稱為其維度。矩陣是一個二維數組,在Python中使用列表或NumPy數組創建。

一般來說,矩陣乘法可以透過將第一個矩陣的行乘以第二個矩陣的列來完成。這裡,第一矩陣的列數應等於第二矩陣的行數。

輸入輸出場景

假設我們有兩個矩陣 A 和 B,這兩個矩陣的維度分別為 2X3 和 3X2。相乘後得到的矩陣將有 2 行 1 列。

              	      [b1, b2]			
[a1, a2, a3]    *     [b3, b4]		= 	[a1*b1+a2*b2+a3*a3]
[a4, a5, a6]          [b5, b6]			[a4*b2+a5*b4+a6*b6]
登入後複製

此外,我們還可以進行矩陣的逐元素乘法。在這種情況下,兩個輸入矩陣的行數和列數必須相同。

[a11, a12, a13]	      [b11, b12, b13]		[a11*b11, a12*b12, a13*b13]
[a21, a22, a23]   *   [b21, b22, b23]	    =	[a21*b21, a22*b22, a23*b23]
[a31, a32, a33]	      [b31, b32, b33]		[a31*b31, a32*b32, a33*b33]
登入後複製

使用 For 迴圈

透過嵌套的 for 循環,我們將對兩個矩陣執行乘法運算,並將結果儲存在第三個矩陣中。

範例

在這個範例中,我們將初始化一個全零的結果矩陣來儲存乘法結果。

# Defining the matrix using multidimensional arrays
matrix_a = [[1,2,3],
            [4,1,2],
            [2,3,1]]
 
matrix_b = [[1,2,3,2],
            [2,3,6,3],
            [3,1,4,2]]

#function for displaying matrix
def display(matrix):
   for row in matrix:
      print(row)
   print()

# Display two input matrices
print('The first matrix is defined as:') 
display(matrix_a)
print('The second matrix is defined as:')
display(matrix_b)

# Initializing Matrix with all 0s
result = [[0, 0, 0, 0],[0, 0, 0, 0],[0, 0, 0, 0]]

# multiply two matrices 
for i in range(len(matrix_a)):

   # iterate through rows 
   for j in range(len(matrix_b[0])):

      # iterate through columns
      for k in range(len(matrix_b)):        
         result[i][j] = matrix_a[i][k] * matrix_b[k][j]

print('The multiplication of two matrices is:')
display(result)
登入後複製

輸出

The first matrix is defined as:
[1, 2, 3]
[4, 1, 2]
[2, 3, 1]

The second matrix is defined as:
[1, 2, 3, 2]
[2, 3, 6, 3]
[3, 1, 4, 2]

The multiplication of two matrices is:
[9, 3, 12, 6]
[6, 2, 8, 4]
[3, 1, 4, 2]
登入後複製

第一個矩陣(matrix_a)的行數和列數為3,第二個矩陣(matrix_b)的行數為3,列數為4。這兩個矩陣(matrix_a,matrix_b)相乘後的結果矩陣將有 3 行和 4 列(即 3X4)。

範例

這裡使用 numpy.array() 函數建立矩陣,以便我們可以使用 @ 運算子簡單地進行矩陣乘法。

import numpy as np

# Defining the matrix using numpy array
matrix_a = np.array([[1,2,5], [1,0,6], [9,8,0]])
matrix_b = np.array([[0,3,5], [4,6,9], [1,8,0]])

# Display two input matrices
print('The first matrix is defined as:') 
print(matrix_a)

print('The second matrix is defined as:')
print(matrix_b)

# multiply two matrices
result = matrix_a @ matrix_b

print('The multiplication of two matrices is:')
print(result) 
登入後複製

輸出

The first matrix is defined as:
[[1 2 5]
 [1 0 6]
 [9 8 0]]
The second matrix is defined as:
[[0 3 5]
 [4 6 9]
 [1 8 0]]
The multiplication of two matrices is:
[[ 13  55  23]
 [  6  51   5]
 [ 32  75 117]]
登入後複製

乘法運算子@從Python 3.5 版本開始可用,否則,我們可以使用numpy.dot()函數。

範例

在此範例中,我們將使用 (*) 星號運算子對兩個 numpy 陣列執行逐元素乘法運算。

import numpy as np

# Defining the matrix using numpy array
matrix_a = np.array([[1,2,5], [1,0,6], [9,8,0]])
matrix_b = np.array([[0,3,5], [4,6,9], [1,8,0]])

# Display two input matrices
print('The first matrix is defined as:') 
print(matrix_a)

print('The second matrix is defined as:')
print(matrix_b)

# multiply elements of two matrices
result = matrix_a * matrix_b

print('The element-wise multiplication of two matrices is:')
print(result)
登入後複製

輸出

The first matrix is defined as:
[[1 2 5]
 [1 0 6]
 [9 8 0]]
The second matrix is defined as:
[[0 3 5]
 [4 6 9]
 [1 8 0]]
The element-wise multiplication of two matrices is:
[[ 0  6 25]
 [ 4  0 54]
 [ 9 64  0]]
登入後複製

以上是Python程式使用多維數組相乘兩個矩陣的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1323
25
PHP教程
1272
29
C# 教程
1251
24
探索人工智慧歷史與矩陣:人工智慧教學(二) 探索人工智慧歷史與矩陣:人工智慧教學(二) Nov 20, 2023 pm 05:25 PM

在本系列的第一篇文章中,我們討論了人工智慧、機器學習、深度學習、資料科學等領域的關聯和差異。我們也為整個系列將使用的程式語言、工具等做出了一些艱難的選擇。最後,我們也介紹了一點矩陣的知識。在本文中,我們將深入討論人工智慧的核心——矩陣。不過在此之前,我們先來了解一下人工智慧的歷史我們為什麼需要了解人工智慧的歷史呢?歷史上曾出現過多次人工智慧熱潮,但在許多情況下,對人工智慧潛力的巨大期望都未能達成。了解人工智慧的歷史,有助於讓我們看清這次人工智浪潮是會創造奇蹟,抑或只是另一個即將破滅的泡沫。我們

計算矩陣右對角線元素總和的Python程序 計算矩陣右對角線元素總和的Python程序 Aug 19, 2023 am 11:29 AM

一種受歡迎的通用程式語言是Python。它被應用於各種行業,包括桌面應用程式、網頁開發和機器學習。幸運的是,Python具有簡單易懂的文法,適合初學者使用。在本文中,我們將使用Python來計算矩陣的右對角線總和。什麼是矩陣?在數學中,我們使用一個矩形排列或矩陣,用於描述一個數學物件或其屬性,它是一個包含數字、符號或表達式的矩形數組或表格,這些數字、符號或表達式按行和列排列。例如−234512367574因此,這是一個有3行4列的矩陣,表示為3*4矩陣。現在,矩陣中有兩條對角線,即主對角線和次對

PHP多維數組排序的維度之旅:從一維到多維 PHP多維數組排序的維度之旅:從一維到多維 Apr 29, 2024 pm 09:09 PM

一維數組使用sort()函數進行排序,二維數組使用usort()函數按內部元素排序,高維度數組使用多層嵌套usort()函數按層級元素進行排序,分解問題逐層解決是關鍵。

Python程式使用多維數組相乘兩個矩陣 Python程式使用多維數組相乘兩個矩陣 Sep 11, 2023 pm 05:09 PM

矩陣是按行和列排列的一組數字。 m行n列的矩陣稱為mXn矩陣,m和n稱為其維度。矩陣是一個二維數組,在Python中使用列表或NumPy數組創建。一般來說,矩陣乘法可以透過將第一個矩陣的行乘以第二個矩陣的列來完成。這裡,第一矩陣的列數應等於第二矩陣的行數。輸入輸出場景假設我們有兩個矩陣A和B,這兩個矩陣的維度分別為2X3和3X2。相乘後得到的矩陣將有2行1列。 [b1,b2][a1,a2,a3]*[b3,b4]=[a1*b1+a2*b2+a3*a3][a4,a5,a6][b5,b6][a4*b2+a

如何使用Python中的numpy計算矩陣或ndArray的行列式? 如何使用Python中的numpy計算矩陣或ndArray的行列式? Aug 18, 2023 pm 11:57 PM

在本文中,我們將學習如何使用Python中的numpy函式庫計算矩陣的行列式。矩陣的行列式是一個可以以緊湊形式表示矩陣的標量值。它是線性代數中一個有用的量,並且在物理學、工程學和計算機科學等各個領域都有多種應用。在本文中,我們首先將討論行列式的定義和性質。然後我們將學習如何使用numpy計算矩陣的行列式,並透過一些實例來看它在實踐中的應用。行列式的定義與性質Thedeterminantofamatrixisascalarvaluethatcanbeusedtodescribethepropertie

如何在PHP中將多個數組合併為一個多維數組 如何在PHP中將多個數組合併為一個多維數組 Jul 09, 2023 pm 01:08 PM

如何在PHP中將多個數組合併為一個多維數組在PHP開發中,我們經常會遇到將多個數字組合併為一個多維數組的需求。這個操作在操作大數據集合時非常有用,可以幫助我們更好地整理和處理資料。本篇文章將為大家介紹幾種常用的方法來實現這個操作,並附上程式碼範例供參考。方法一:使用array_merge函數array_merge函數是PHP中常用的數組合併函數,它可以將多個數組

C程式用於比較兩個矩陣是否相等 C程式用於比較兩個矩陣是否相等 Aug 31, 2023 pm 01:13 PM

使用者必須輸入兩個矩陣的順序以及兩個矩陣的元素。然後,比較這兩個矩陣。如果矩陣元素和大小都相等,則表示兩個矩陣相等。如果矩陣大小相等但元素相等不相等,則顯示矩陣可以比較,但不相等。如果大小和元素不匹配,則顯示矩陣無法比較。程式以下是C程序,用以比較兩個矩陣是否相等-#include<stdio.h>#include<conio.h>main(){  intA[10][10],B[10][10];  in

Python程式:交換矩陣中第一個與最後一個元素在列之間的位置 Python程式:交換矩陣中第一個與最後一個元素在列之間的位置 Sep 08, 2023 pm 04:29 PM

矩陣是由許多按行和列形式排列的數字組成的二維數組。 Python沒有任何資料類型來表示矩陣,但我們可以使用嵌套列表或NumPy數組作為矩陣。請參閱以下輸入輸出場景,以了解如何互換矩陣的第一列和最後一列元素。輸入輸出場景假設我們有一個使用列表列表表示的3X3矩陣。輸出矩陣將是交換第一列和最後一列元素的結果矩陣。 Inputmatrix:[1,3,4][4,5,6][7,8,3]Outputmatrix:[4,3,1][4,5,6][3,8,7]讓我們考慮另一個行和列不相等的矩陣。 Inputmatrix:

See all articles