scheme - 如何在球拍中切割矩阵的一部分?
问题描述
假设您在 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))
推荐阅读
- machine-learning - 分类报告中的precision和recall是如何计算的?
- apache-kafka - 如何最好地将 Apache Kafka 定位为许多独立客户端的消息代理
- sql - 可以用内部联接替换相关子查询吗?
- python - 是什么导致 openCV 中的断言失败错误?
- javascript - 在 Meteor 中处理全局变量
- pandas - 您可以使用 Pandas 样式更改标题字体大小吗?
- selenium - Selenium - EventFiringWebDriver beforeFindBy 和 afterFindBy 方法多次触发相同的事件
- nsoperationqueue - NSOperationQueue 操作和操作计数已弃用。如何取消特定类的操作?
- java - 将方法(或 voids)传递给 Java ArrayList
- swift - 如何让 Swift 专门针对数组使用此功能?