Python程序:查找给定矩阵的迹和正常值
矩阵定义为一组按行和列排列的数字。具有m行和n列的矩阵称为mXn矩阵,m和n称为其尺寸。矩阵是一个二维数组,可通过在Python中使用列表或NumPy数组来创建。
矩阵的迹
矩阵的迹定义为其对角线元素的总和(即,从左上到右下的元素)。只能为方形矩阵(即其行和列具有相同数量的元素)计算矩阵的迹。
假设我们有一个3X3矩阵如下 −
[a, b, c]
[d, e, f]
[g, h, i]
迹将是(a+e+i)的总和。让我们来看一个4X4矩阵。
[1, 2, 3, 4]
[6, 4, 2, 0]
[5, 1, 6, 8]
[9, 3, 6, 0]
该矩阵的结果迹为
sum(1+4+6+0) = 11
下面,我们将讨论查找矩阵迹的示例。
使用For循环
我们将使用for循环迭代所有矩阵元素,以计算矩阵的所有对角线之和以查找 迹 。
示例
通过使用Python的“for循环”迭代所有元素来计算对角线的总和。
# 定义矩阵
matrix = [[10,2,3],
[4,5,2],
[2,2,1]]
# 计算矩阵的迹的函数
def findTrace(matrix):
diag_sum = 0
for i in range(len(matrix)):
diag_sum += matrix[i][i]
return diag_sum
print("Matrix的迹=", findTrace(matrix))
输出
Matrix的迹= 16
给定矩阵的对角线元素为(10、5、1),其迹为16。
使用NumPy.trace()方法
此外,我们还可以使用Python Numpy模块的trace()方法计算矩阵的迹。numpy.trace()方法返回numpy数组的对角线之和。
句法
numpy.trace(a, offset=0, axis1=0, axis2=1, dtype=None, out=None)
示例
在本示例中,我们应用numpy.trace()方法来计算矩阵的迹。
import numpy as np
matrix = np.array([[10,2,3],
[4,5,2],
[2,2,1]])
# 查找迹
matrix_trace = np.trace(matrix)
print("Matrix的迹=", matrix_trace)
输出
Matrix的迹= 16
给定矩阵的对角线元素为(10、5、1),其迹为16。
查找矩阵的正常值
矩阵 的正常值 定义为矩阵所有元素的平方之和的平方根。
假设我们有一个有4个元素的矩阵。
[8, 4]
[5, 2]
该矩阵的正常值为−
√(82 + 42 +52 +22) = 10
使用For循环
使用for循环迭代所有矩阵元素,以计算矩阵所有元素的平方之和的平方根。
示例
要找到矩阵的正常值:首先,我们将导入math模块以利用math.pow()和math.sqrt()属性。
import math
matrix = [[1,3,2],
[3,6,3],
[1,4,2]]
# 计算矩阵的正常值的函数
def findNormal(matrix):
sum_of_elements = 0
for i in range(len(matrix)):
for j in range(len(matrix)):
sum_of_elements += math.pow(matrix[i][j], 2)
return math.floor(math.sqrt(sum_of_elements))
print("矩阵的正常值=", findNormal(matrix))
输出
矩阵的正规值 = 9
通过使用 python 的 for 循环,我们迭代了矩阵的每一个元素,并使用 math.pow() 函数计算平方,然后将平方相加并将结果存储在变量中。最后,使用 math.sqrt() 函数计算平方根。
使用 NumPy 模块
通过使用 numpy 的 power()、sqrt() 和 sum() 方法,我们可以轻松地计算矩阵的正规值。
示例
在本示例中,我们将导入 NumPy 模块,以利用 numpy.power()、numpy.sum() 和 numpy.sqrt() 属性。
import numpy as np
matrix = np.array([[1,3,2],
[3,6,3],
[1,4,2]])
# find the normal
sumOfsquares = np.power(matrix, 2).sum()
matrix_normal = round(np.sqrt(sumOfsquares))
print("Trace of Matrix =", matrix_normal)
输出
矩阵的正规值 = 9
通过使用 numpy.power() 函数,我们计算了给定矩阵中每个元素的平方,然后使用 numpy.sum() 函数计算了平方和。最后使用 numpy.sqrt() 函数计算了平方根。为避免浮点数,我们对 np.sqrt() 的值进行了四舍五入。