Go語言程式查詢矩陣的跡和範數
在本教程中,我們將編寫一篇查詢矩陣的範數和跡的文章。如果矩陣的平方根等於每個成員的平方和,則該矩陣被認為是正常的,跡是矩陣對角元素的總和。
Go語言程式查詢範數
查詢 2x2 矩陣的範數
在此示例中,我們將瞭解如何查詢 2 X 2 矩陣的範數。
演算法
步驟 1 − 首先,我們需要匯入 fmt 和 math 包。
步驟 2 − 建立一個函式來查詢矩陣的範數。此函式使用兩個 for 迴圈來查詢每個元素的平方。
步驟 3 − 透過將每個元素的平方加到 sum 變數中來更新它。返回 sum 變數。
步驟 4 − 啟動 main() 函式。初始化一個矩陣並在螢幕上列印它。
步驟 5 − 透過將矩陣及其秩作為引數傳遞給函式,來呼叫 findNormal() 函式。
步驟 6 − 將函式的結果儲存在一個名為 normal 的新變數中,並使用 fmt.Println() 函式在螢幕上列印它。
示例
package main
import (
"fmt"
"math"
)
// function to create normal
func findNormal(mat [2][2]int, n int) float64 {
var sum int = 0
for i := 0; i < n; i++ {
for j := 0; j < n; j++ {
sum += mat[i][j] * mat[i][j]
}
}
var sum1 float64
sum1 = float64(sum)
return math.Sqrt(sum1)
}
func main() {
// initializing a 2 X 2 matrix
mat := [2][2]int{
{1, 2},
{5, 6},
}
// printing matrix
fmt.Println("The given matrix is: \n")
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
fmt.Println()
normal := findNormal(mat, 2)
fmt.Println("Normal of Matrix is:", normal)
}
輸出
The given matrix is: 1 2 5 6 Normal of Matrix is: 8.12403840463596
查詢 3 X 3 矩陣的範數
在此示例中,我們將編寫一個 Go 程式來查詢 3 X 3 矩陣的範數。
示例
package main
import (
"fmt"
"math"
)
// function to find normal
func findNormal(mat [3][3]int, n int) float64 {
var sum int = 0
for i := 0; i < n; i++ {
for j := 0; j < n; j++ {
sum += mat[i][j] * mat[i][j]
}
}
var sum1 float64
sum1 = float64(sum)
return math.Sqrt(sum1)
}
func main() {
// initializing a 3 X 3 matrix
mat := [3][3]int{
{0, 1, 2},
{4, 5, 6},
{8, 9, 10},
}
// printing matrix
fmt.Println("The given matrix is: \n")
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
normal := findNormal(mat, 3)
fmt.Println("\n Normal of Matrix is:", normal)
}
輸出
The given matrix is: 0 1 2 4 5 6 8 9 10 Normal of Matrix is: 18.083141320025124
Go語言程式查詢跡
查詢 2x2 矩陣的跡
在此示例中,我們將使用使用者定義函式查詢 2 X 2 矩陣的跡。
演算法
步驟 1 − 首先,我們需要匯入 fmt 和 math 包。
步驟 2 − 建立一個函式來查詢矩陣的跡。此函式使用 for 迴圈來查詢對角元素的總和。
步驟 3 − 透過將每個對角元素加到 sum 變數中來更新它。返回 sum 變數。
步驟 4 − 啟動 main() 函式。初始化一個矩陣並在螢幕上列印它。
步驟 5 − 透過將矩陣及其秩作為引數傳遞給函式,來呼叫 findNormal() 函式。
步驟 6 − 將函式的結果儲存在一個名為 trace 的新變數中,並使用 fmt.Println() 函式在螢幕上列印它。
示例
package main
import (
"fmt"
)
// function to create trace
func findTrace(mat [2][2]int, n int) int {
var sum int = 0
for i := 0; i < n; i++ {
sum += mat[i][i]
}
return sum
}
func main() {
// initializing a 2 X 2 matrix
mat := [2][2]int{
{10, 20},
{50, 60},
}
// printing matrix
fmt.Println("The given matrix is: \n")
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
trace := findTrace(mat, 2)
fmt.Println("\nTrace of Matrix is:", trace)
}
輸出
The given matrix is: 10 20 50 60 Trace of Matrix is: 70
查詢 3 X 3 矩陣的跡
在此示例中,我們將編寫一個 Go 程式程式碼來查詢 3 X 3 矩陣的跡。
示例
package main
import (
"fmt"
)
// function to create trace
func findTrace(mat [3][3]int, n int) int {
var sum int = 0
for i := 0; i < n; i++ {
sum += mat[i][i]
}
return sum
}
func main() {
// initializing a 3 X 3 matrix
mat := [3][3]int{
{5, 7, 9},
{2, 4, 6},
{1, 3, 8},
}
// printing matrix
fmt.Println("The given matrix is: \n")
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
fmt.Print(mat[i][j], "\t")
}
fmt.Println()
}
trace := findTrace(mat, 3)
fmt.Println("\nTrace of Matrix is:", trace)
}
輸出
The given matrix is: 5 7 9 2 4 6 1 3 8 Trace of Matrix is: 17
結論
成功編譯並執行了一個 Go 語言程式來查詢矩陣的範數和跡,以及示例。
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP