Go語言程式:查詢給定矩陣的跡和範數
本教程將編寫一個程式來查詢矩陣的範數和跡。如果矩陣的平方和等於每個元素平方的和,則該矩陣被認為是正規的;而跡是矩陣對角元素的總和。
查詢給定矩陣的範數
演算法
步驟1 - 首先,我們需要匯入fmt和math包。
步驟2 - 建立一個函式來查詢矩陣的範數。此函式使用兩個for迴圈來查詢每個元素的平方。
步驟3 - 透過將每個元素的平方新增到sum變數中來更新sum變數。返回sum變數。
步驟4 - 開始main()函式。初始化一個矩陣並在螢幕上列印它。
步驟5 - 透過將矩陣及其秩作為引數傳遞給函式來呼叫findNormal()函式。
步驟6 - 將函式的結果儲存在一個名為normal的新變數中,並使用fmt.Println()函式在螢幕上列印它。
示例1
讓我們編寫一個Go程式,使用for迴圈查詢2 X 2矩陣的範數。
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() {
mat := [2][2]int{
{1, 2},
{5, 6},
}
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
示例2
在這個例子中,我們將編寫一個Go程式來查詢3 X 3矩陣的範數。
package main
import (
"fmt"
"math"
)
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() {
mat := [3][3]int{
{0, 1, 2},
{4, 5, 6},
{8, 9, 10},
}
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
查詢給定矩陣的跡
演算法
步驟1 - 首先,我們需要匯入fmt和math包。
步驟2 - 建立一個函式來查詢矩陣的跡。此函式使用for迴圈來查詢對角元素的和。
步驟3 - 透過將每個對角元素新增到sum變數中來更新sum變數。返回sum變數。
步驟4 - 開始main()函式。初始化一個矩陣並在螢幕上列印它。
步驟5 - 透過將矩陣及其秩作為引數傳遞給函式來呼叫findNormal()函式。
步驟6 - 將函式的結果儲存在一個名為trace的新變數中,並使用fmt.Println()函式在螢幕上列印它。
示例
讓我們編寫一個Go語言程式來查詢2 X 2矩陣的跡。
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() {
mat := [2][2]int{
{10, 20},
{50, 60},
}
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
結論
成功編譯並執行了一個Go語言程式,該程式可以查詢矩陣的範數和跡,並附帶示例。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP