首页 > 解决方案 > 如何在球拍中切割矩阵的一部分?

问题描述

假设您在 Racket 中有一个向量向量(矩阵),并且您只对其中的特定部分感兴趣(例如 5x5 矩阵中的 3x3)。你怎么能“拿走”那个矩阵的那一部分?

标签: schemeracket

解决方案


使用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))

推荐阅读