Swift 程序查找给定矩阵的迹和范数
在本文中,我们将学习如何编写一个 Swift 程序来查找给定矩阵的迹和范数。
计算给定矩阵的迹
迹是指给定方阵的主对角线元素之和。例如,我们有一个 3x3 的方阵:
2 3 4 3 4 6 1 3 2
因此,主对角线元素是 2、4 和 2。所以,给定 3x3 矩阵的迹是 2+4+2 = 8。
算法
步骤 1 - 定义矩阵的大小。
步骤 2 - 创建一个函数。
步骤 3 - 声明一个变量来存储和。
步骤 4 - 运行一个 for 循环来遍历每个元素,并将所有对角线元素相互加起来。
sum += mxt[y][y]
步骤 5 - 创建一个矩阵。
步骤 6 - 调用函数并将矩阵传递给它。
步骤 7 - 打印输出。
示例
以下 Swift 程序用于查找给定矩阵的迹。
import Foundation
import Glibc
// Size of the matrix
var size = 5
// Function to find a trace of the given matrix
func Trace(mxt:[[Int]]){
var sum = 0
for y in 0..<size{
sum += mxt[y][y]
}
print("Trace of the matrix is:", sum)
}
// Creating 5x5 matrix of integer type
var matrix : [[Int]] = [[1, 3, 4, 1, 2], [2, 8, 2, 5, 6],
[3, 4, 3, 4, 3], [8, 4, 3, 4, 6],
[7, 5, 5, 9, 1]]
print("Matrix:")
for x in 0..<size{
for y in 0..<size{
print(matrix[x][y], terminator:" ")
}
print("\n")
}
// Calling the function
Trace(mxt:matrix)
输出
Matrix: 1 3 4 1 2 2 8 2 5 6 3 4 3 4 3 8 4 3 4 6 7 5 5 9 1 Trace of the matrix is: 17
在上面的代码中,我们有一个 5x5 的矩阵。现在我们创建一个函数来查找迹。所以为了计算迹,我们运行一个 for 循环来查找主对角线元素,然后将它们加起来。
计算给定矩阵的范数
范数定义为给定矩阵的元素平方和的平方根。例如,我们有一个 3x3 的方阵:
2 3 4 3 4 6 1 3 2
首先,我们找到元素的平方和:
$\mathrm{Sq \:=\: 2^2 \:+\: 3^2\: +\: 4^2\: +\: 3^2\: + \:4^2\: + \:6^2\: +\: 1^2\: + \:3^2\: +\: 2^2 }$
$\mathrm{Sq\: = \:4 + \:9 \:+ \:16 \:+\: 9 \:+ \:16 \:+ \:36 \:+ \:1 \:+ \:9 \:+ \:4}$
$\mathrm{Sq \:=\: 104}$
所以范数是 $\mathrm{\sqrt{104}\:=\: 10.198039027185}$
算法
步骤 1 - 定义矩阵的大小。
步骤 2 - 创建一个函数。
步骤 3 - 声明一个变量来存储和。
步骤 4 - 运行一个 for 循环来遍历每个元素,并将所有元素的平方相互加起来。
sum += mxt[x][y] * mxt[x][y]
步骤 5 - 使用 sqrt() 函数计算元素平方和的平方根来查找范数。Int(sqrt(Double(sum)))
步骤 6 - 创建一个矩阵。
步骤 7 - 调用函数并将矩阵传递给它。
步骤 8 - 打印输出。
示例
以下 Swift 程序用于查找给定矩阵的范数。
import Foundation
import Glibc
// Size of the matrix
var size = 4
// Function to find normal of the given matrix
func Normal(mxt:[[Int]]){
var sum = 0
for x in 0..<size{
for y in 0..<size{
sum += mxt[x][y] * mxt[x][y]
}
}
print("Normal of the matrix is:", Int(sqrt(Double(sum))))
}
// Creating 4x4 matrix of integer type
var matrix : [[Int]] = [[1, 3, 4, 1], [2, 2, 2, 5],
[3, 4, 3, 4], [9, 9, 9, 9]]
print("Matrix:")
for x in 0..<size{
for y in 0..<size{
print(matrix[x][y], terminator:" ")
}
print("\n")
}
// Calling the function
Normal(mxt:matrix)
输出
Matrix: 1 3 4 1 2 2 2 5 3 4 3 4 9 9 9 9 Normal of the matrix is: 20
在上面的代码中,我们有一个 4x4 的矩阵。现在我们创建一个函数来查找范数。所以为了计算范数,我们首先找到所有矩阵元素的平方和,然后使用 sqrt() 函数找到所得和的平方根。这是一个预定义的函数,用于计算任何值的平方根。因此,给定矩阵的范数是 20。
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP