如何在 Racket 中切割矩阵的一部分?
How to cut a part of a matrix in Racket?
假设您在 Racket 中有一个向量的向量(矩阵),并且您只对它的特定部分感兴趣(例如 5x5 矩阵中的 3x3)。
您如何“获取”该矩阵的那一部分?
使用vector-copy
.
#lang racket
(define A (vector (vector 11 12 13 14 15)
(vector 21 22 23 24 25)
(vector 31 32 33 34 35)
(vector 41 42 43 44 45)))
(for/vector ([i (in-range 1 3)]) ; row 1 and 2
(vector-copy (vector-ref A i) 1 4)) ; columns 1, 2 and 3
结果:
'#(#(22 23 24)
#(32 33 34))
假设您在 Racket 中有一个向量的向量(矩阵),并且您只对它的特定部分感兴趣(例如 5x5 矩阵中的 3x3)。 您如何“获取”该矩阵的那一部分?
使用vector-copy
.
#lang racket
(define A (vector (vector 11 12 13 14 15)
(vector 21 22 23 24 25)
(vector 31 32 33 34 35)
(vector 41 42 43 44 45)))
(for/vector ([i (in-range 1 3)]) ; row 1 and 2
(vector-copy (vector-ref A i) 1 4)) ; columns 1, 2 and 3
结果:
'#(#(22 23 24)
#(32 33 34))