目录
输入输出场景
使用 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脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
1 个月前 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)

探索人工智能历史与矩阵:人工智能教程(二) 探索人工智能历史与矩阵:人工智能教程(二) Nov 20, 2023 pm 05:25 PM

在本系列的第一篇文章中,我们讨论了人工智能、机器学习、深度学习、数据科学等领域的关联和区别。我们还就整个系列将使用的编程语言、工具等做出了一些艰难的选择。最后,我们还介绍了一点矩阵的知识。在本文中,我们将深入地讨论人工智能的核心——矩阵。不过在此之前,我们先来了解一下人工智能的历史我们为什么需要了解人工智能的历史呢?历史上曾出现过多次人工智能热潮,但在很多情况下,对人工智能潜力的巨大期望都未能达成。了解人工智能的历史,有助于让我们看清这次人工智浪潮是会创造奇迹,抑或只是另一个即将破灭的泡沫。我们

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

在本文中,我们将学习如何使用Python中的numpy库计算矩阵的行列式。矩阵的行列式是一个可以以紧凑形式表示矩阵的标量值。它是线性代数中一个有用的量,并且在物理学、工程学和计算机科学等各个领域都有多种应用。在本文中,我们首先将讨论行列式的定义和性质。然后我们将学习如何使用numpy计算矩阵的行列式,并通过一些实例来看它在实践中的应用。行列式的定义和性质Thedeterminantofamatrixisascalarvaluethatcanbeusedtodescribethepropertie

计算矩阵右对角线元素之和的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

PHP中如何使用array_walk_recursive函数对多维数组进行递归操作 PHP中如何使用array_walk_recursive函数对多维数组进行递归操作 Jun 26, 2023 am 11:40 AM

在PHP中,数组是一种非常常见的数据类型。有时候,我们会面对一些包含多维数组的情况,这时候如果需要对所有元素进行相同的操作,可以使用array_walk_recursive()函数。array_walk_recursive()函数是PHP中一个非常强大的递归函数,可以帮助我们对多维数组进行递归操作。它可以递归地遍历多维数组的每一个元素,并对其进行相应的操作。

如何在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

See all articles