ruby matrix: 创建矩阵

ruby通过将矩阵中的各行存入数组中来实现对矩阵的操作,其中矩阵中的每一行也被视为一个数组即ruby将矩阵构建为元素为数组的数组,各个元素的维数一定要相等。在ruby中需要利用两个索引来引用矩阵中的某个元素,接下来将展现出ruby创建矩阵的操作:

1. [ ](行),利用行创建矩阵
require 'matrix'
matrix = Matrix[[1, 2, 3, 4], [4, 5, 6, 7]]
# 1 2 3 4
# 4 5 6 7

matrix[0, 0] # 1
matrix[1, 2] # 6
2. build(行数, 列数 = 行数)创建矩阵
matrix = Matrix.build(2) { |row, col| 2 * 3 } # Matrix[[6, 6], [6, 6]]
# 6 6
# 6 6
matrix = Matrix.build(2, 3) { |row, col| 2 * 3 } # Matrix[[6, 6, 6], [6, 6, 6]]
# 6 6 6
# 6 6 6
3. 通过行或列方式创建矩阵
matrix = Matrix.columns([[1, 2, 3, 4], [4, 5, 6, 7]]) 
# 1 4
# 2 5
# 3 6
# 4 7
matrix = Matrix.rows([[1, 2, 3, 4], [4, 5, 6, 7]])
# 1 2 3 4
# 4 5 6 7
4. diagonal(对角线元素),创建对角矩阵
matrix = Matrix,diagonal(1, 2, 3, 4)
# 1 0 0 0
# 0 2 0 0
# 0 0 3 0
# 0 0 0 4
5. 创建行向量
matrix_row = Matrix.row_vector([1, 2, 3, 4])
# 1 2 3 4
6. 创建列向量
matrix_column = Matrix.column_vector([1, 2, 3, 4])
# 1
# 2
# 3
# 4
7. 创建单位矩阵
matrix = Matrix.identity(4) # 也可以用unit(4)
# 1 0 0 0
# 0 1 0 0
# 0 0 1 0
# 0 0 0 1
8. 创建对角矩阵(其中对角线为相同值)
matrix = Matrix.scalar(2, 2)
# 2 0
# 0 2
9. 创建0矩阵
matrix = Matrix.zero(2)
# 0 0
# 0 0



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值