前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习Julia矩阵操作与保持年轻的秘诀

学习Julia矩阵操作与保持年轻的秘诀

作者头像
邓飞
发布2020-03-06 09:35:23
6780
发布2020-03-06 09:35:23
举报

自语:

话说Julia是一个神奇的语言,语法简单,速度贼快,是吹牛装X的不二神器。记得一个物理学家说过,那些旧理论之所以消失,不是因为人们改变了看法,而是持那种看法的人死光了。

同样的道理(同样在哪里???),以后Fortran或者其它旧式的语言之所以消失,不是因为大家都学习了新语言,而是使用他们的人死光了。

为了证明自己还永远年轻,就用一些时髦的词汇,看bilibili,玩QQ空间,听《两只老虎爱跳舞》,学习Julia。。。

对于嘲笑我装嫩的年轻人,我引用王朔的话:“让我欣慰的是:你也不会年轻很久了”

加油吧,骚年,还在朋友圈打卡RPython么,试试Julia吧!

1.1 矩阵的生成

生成一个4行4列的矩阵, 这里使用1~16数字. 注意, 这里生成矩阵时, 需要首先定义一个空的数组, 然后再进行填充.

代码语言:javascript
复制
mat = Array(Int32,4,4)
代码语言:javascript
复制
4×4 Array{Int32,2}:
 125804192  256236432   79364176   79364176
         0          0          0          0
  79234864   79266064  125805712  248775184
         0          0          0          0
代码语言:javascript
复制
mat[:]=1:16
mat
代码语言:javascript
复制
4×4 Array{Int32,2}:
 1  5   9  13
 2  6  10  14
 3  7  11  15
 4  8  12  16
也可以使用reshape构建矩阵
代码语言:javascript
复制
reshape(1:15,3,5)
代码语言:javascript
复制
3×5 Base.ReshapedArray{Int64,2,UnitRange{Int64},Tuple{}}:
 1  4  7  10  13
 2  5  8  11  14
 3  6  9  12  15

1.2 提取主对角线

代码语言:javascript
复制
diag(mat)
代码语言:javascript
复制
4-element Array{Int64,1}:
  1
  6
 11
 16

1.3 生成对角线为1的对角矩阵

代码语言:javascript
复制
eye(4)
代码语言:javascript
复制
4×4 Array{Float64,2}:
 1.0  0.0  0.0  0.0
 0.0  1.0  0.0  0.0
 0.0  0.0  1.0  0.0
 0.0  0.0  0.0  1.0

1.4 提取矩阵的下三角

代码语言:javascript
复制
tril(mat)
代码语言:javascript
复制
4×4 Array{Int64,2}:
 1  0   0   0
 2  6   0   0
 3  7  11   0
 4  8  12  16

1.5 提取矩阵的上三角

代码语言:javascript
复制
triu(mat)
代码语言:javascript
复制
4×4 Array{Int64,2}:
 1  5   9  13
 0  6  10  14
 0  0  11  15
 0  0   0  16

1.6 矩阵转置

代码语言:javascript
复制
mat'
代码语言:javascript
复制
4×4 Array{Int64,2}:
  1   2   3   4
  5   6   7   8
  9  10  11  12
 13  14  15  16

1.7 矩阵相乘

代码语言:javascript
复制
a = [[1,3] [2,4]]

代码语言:javascript
复制
2×2 Array{Int64,2}:
 1  2
 3  4
代码语言:javascript
复制
b = [[2,4] [3,5]]
代码语言:javascript
复制
2×2 Array{Int64,2}:
 2  3
 4  5

对应数值相乘

代码语言:javascript
复制
a.*b
代码语言:javascript
复制
2×2 Array{Int64,2}:
  2   6
 12  20

矩阵相乘

代码语言:javascript
复制
a*b
代码语言:javascript
复制
2×2 Array{Int64,2}:
 10  13
 22  29

1.8 矩阵求逆

代码语言:javascript
复制
inv(a)
代码语言:javascript
复制
2×2 Array{Float64,2}:
 -2.0   1.0
  1.5  -0.5
代码语言:javascript
复制
inv(a)*a
代码语言:javascript
复制
2×2 Array{Float64,2}:
 1.0          0.0
 2.22045e-16  1.0
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 育种数据分析之放飞自我 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 矩阵的生成
    • 也可以使用reshape构建矩阵
    • 1.2 提取主对角线
    • 1.3 生成对角线为1的对角矩阵
    • 1.4 提取矩阵的下三角
    • 1.5 提取矩阵的上三角
    • 1.6 矩阵转置
    • 1.7 矩阵相乘
    • 1.8 矩阵求逆
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档