寻找矩阵的轨迹和法线的Golang程序
在本教程中,我们将写一篇文章来寻找矩阵的法线和轨迹。如果一个矩阵的平方根等于每个成员的平方之和,那么它就被认为是正常的,而迹线是一个矩阵的对角线元素的总数。
在这个例子中,我们将看到如何找到一个2 X 2矩阵的法线。
第1步 – 首先,我们需要导入fmt和math软件包。
第2步 – 创建一个函数来寻找矩阵的法线。这个函数使用两个for循环来寻找每个元素的平方。
第3步 – 通过添加每个元素的平方来更新和变量。返回总和变量。
第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
在这个例子中,我们将写一个go程序来寻找一个3X3矩阵的法线。
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
在这个例子中,我们将使用用户定义的函数找到一个2 X 2矩阵的轨迹。
第1步 – 首先,我们需要导入fmt和math软件包。
第2步 – 创建一个函数来寻找矩阵的ace。这个函数使用for循环来寻找对角线元素的总和。
第3步 – 通过向其添加每个对角线元素来更新和变量。返回总和变量。
第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
在这个例子中,我们将写一个go程序代码来寻找3X3矩阵的轨迹。
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
成功编译并执行了一个golang程序,以寻找矩阵的法线和轨迹,并附有实例。