Scheme 如何在球拍中切割矩阵的一部分?
假设你在球拍中有一个向量向量(矩阵),你只对它的一个特定部分感兴趣(比如5x5矩阵中的3x3)。Scheme 如何在球拍中切割矩阵的一部分?,scheme,racket,Scheme,Racket,假设你在球拍中有一个向量向量(矩阵),你只对它的一个特定部分感兴趣(比如5x5矩阵中的3x3)。 你如何“获取”矩阵的那一部分呢?使用向量拷贝 #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
你如何“获取”矩阵的那一部分呢?使用
向量拷贝
#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))
非常感谢。这实际上是如何工作的?你为什么写“[A行]”?再看一遍,我发现它不起作用!我修改了解决方案,使用(vector ref A I)
获取第I行,然后使用vector copy
复制相关列。