zoukankan      html  css  js  c++  java
  • golang matrix

     1 package main
     2 
     3 import (
     4     "fmt"
     5     "go.matrix-go1"   //比较有名的关于Matrix在golang中的方法库
     6     "strings"
     7 )
     8 
     9 func main() {
    10 
    11     //matrix
    12     s := `[1 2 3;4 5 6]`
    13     //用数组字符串生成matrix
    14     a, err := matrix.ParseMatlab(s)
    15 
    16     if err != nil {
    17         fmt.Println("?", err)
    18     }
    19 
    20     //修改值
    21     a.Set(0, 0, 50)
    22     //给定行列位置点的值
    23     fmt.Println(a.Get(0, 0))
    24     //50
    25 
    26     //列值
    27     fmt.Println(a.GetColVector(0))
    28     //{50,
    29     //  4}
    30 
    31     //列值
    32     fmt.Println(a.GetRowVector(0))
    33     //{50,  2,  3}
    34 
    35     //全值
    36     fmt.Println(a)
    37     //{50,  2,  3,
    38     //  4,  5,  6}
    39 
    40     //数组形式
    41     fmt.Println(a.Array())
    42     //[50 2 3 4 5 6]
    43 
    44     //用行数和列数算错矩阵大小
    45     fmt.Println(a.Rows() * a.Cols())
    46     //6
    47 
    48     //带格式打印
    49     fmt.Println(a.String())
    50     //{50,  2,  3,
    51     //  4,  5,  6}
    52 
    53     //用0填充生成一个i*j的矩阵
    54     fmt.Println(matrix.Zeros(4, 4).String())
    55     //{0, 0, 0, 0,
    56     // 0, 0, 0, 0,
    57     // 0, 0, 0, 0,
    58     // 0, 0, 0, 0}
    59 
    60     //用1填充生成一个i*j的矩阵
    61     fmt.Println(matrix.Ones(4, 4).String())
    62     //{1, 1, 1, 1,
    63     // 1, 1, 1, 1,
    64     // 1, 1, 1, 1,
    65     // 1, 1, 1, 1}
    66 
    67     //用指定数字填充生成一个i*j的矩阵
    68     fmt.Println(matrix.Numbers(4, 4, 8).String())
    69     //{8, 8, 8, 8,
    70     // 8, 8, 8, 8,
    71     // 8, 8, 8, 8,
    72     // 8, 8, 8, 8}
    73 
    74     //生成对称矩阵
    75     fmt.Println(matrix.Eye(3).String())
    76     //{1, 0, 0,
    77     // 0, 1, 0,
    78     // 0, 0, 1}
    79 
    80     //生成带数字矩阵
    81     fmt.Println(matrix.Normals(5, 5).String())
    82     //{-1.233758, -0.126348, -0.520995,  2.285719,  0.322805,
    83     //  0.590067,  0.158808,  0.989202, -0.731283,  0.686381,
    84     //  1.585404,  0.838206,  1.298841,  0.527358,  0.732442,
    85     //  -1.07318,  0.700121,  0.431531,  0.999626, -1.523968,
    86     // -0.316537,  1.889464,  1.100729, -0.992743,   0.98971}
    87 
    88     //生成对角线上指定元素的对称矩阵
    89     d := []float64{7, 7, 8, 9, 6, 10}
    90     fmt.Println(matrix.Diagonal(d).String())
    91     //{ 7,  0,  0,  0,  0,  0,
    92     //  0,  7,  0,  0,  0,  0,
    93     //  0,  0,  8,  0,  0,  0,
    94     //  0,  0,  0,  9,  0,  0,
    95     //  0,  0,  0,  0,  6,  0,
    96     //  0,  0,  0,  0,  0, 10}
    97 
    98 }
  • 相关阅读:
    Solr服务在Linux上的搭建详细教程
    Linux服务器上安装JDK小白教程
    request和response中文乱码问题后台处理办法
    Redis的五种数据类型及方法
    Java类装载器ClassLoader
    Git快速入门和常用命令
    redis在Linux上的部署和jedis简单使用
    Linux常用基础命令
    JDK1.7中HashMap底层实现原理
    微信电脑版无法显示图片无法下载文件
  • 原文地址:https://www.cnblogs.com/rojas/p/4453698.html
Copyright © 2011-2022 走看看