我正在尝试编写一个函数,该函数需要一个操作和一个矩阵将矩阵转换为向量。例如,如果我打电话给(matrix-to-vector + ((1 2 3 4) (5 6 7 8)))
,它会返回(6 8 10 12)
,来自(1+5 2+6 3+7 4+8)
。矩阵输入是一个NxM矩阵,操作是一个双参数运算符(如+ - * /或string-append)。它使用运算符将矩阵的每一列的元素组合在一起,从而返回大小为M的矢量。我有一种感觉映射在这里会有所帮助,但我不确定如何实现它。我会将操作映射到矩阵列中的每个元素以获得结果向量。函数通过应用给定的操作将矩阵转换为矢量
0
A
回答
0
A map
将做的伎俩,怀疑。唯一的其他东西要考虑的是,你应该使用apply
,因为输入列表的列表:
(define (matrix-to-vector op lst)
(apply map op lst))
例如:
(matrix-to-vector + '((1 2 3 4) (5 6 7 8)))
=> '(6 8 10 12)
0
人们也可以以更简单的方式,如果一个使用'map'
分离构成该矩阵的列表:
(map + '(1 2 3 4) '(5 6 7 8))
输出:
'(6 8 10 12)
它也将有超过2只列出了一个N * M的矩阵工作:
(map + '(1 2 3 4) '(5 6 7 8) '(10 20 30 40))
输出:
'(16 28 40 52)
相关问题
- 1. 将openCV矩阵转换为矢量
- 2. 将矢量转换为矩阵
- 3. 将矢量转换为逻辑矩阵
- 4. 将matlab矩阵转换为矢量
- 5. 将矢量矢量转换为斯卡拉的矩阵
- 6. 将NumPy矢量转换为二维数组/矩阵
- 7. iOS矩阵和矢量操作
- 8. 如何将矩阵转换为火花中的RDD [矢量]
- 9. 如何将矢量转换为矩阵? (Matlab的)
- 10. 从矩阵将数据转换成矢量格式
- 11. 将矩阵值转换为具有给定值的单元格的数量
- 12. 将阵列数组转换为矩阵
- 13. 将索引向量转换为矩阵
- 14. 将矩阵列表转换为向量
- 15. 将行向量转换为矩阵
- 16. 转换的指数矩阵为数量矩阵
- 17. 将旋转矢量应用于OpenGL相机或“查看矩阵”
- 18. 转换矢量到特定的矩阵在Matlab
- 19. CGAL:给定两条线/矢量/方向的旋转变换矩阵
- 20. 将1D矢量转换为2D矢量
- 21. 将列转换为矩阵
- 22. 将RleViews转换为矩阵
- 23. 为什么我无法将矢量转换为具有“as.matrix”功能的矩阵?
- 24. 向矢量明智地应用函数到矩阵
- 25. OpenGL:将单应矩阵转换应用于矩阵堆栈
- 26. 如何矢量化在MATLAB中指数为矩阵的矩阵?
- 27. 将矩阵市场转换为CRS转换(稀疏矩阵)
- 28. 将矩阵字符串数组转换为整数矩阵? C++
- 29. 方向矢量的旋转矩阵
- 30. 通过坐标将矢量元素分配到矩阵MATLAB
所以不适用“应用”映射和操作中的每个列表清单? – kmgauthier
是的,在这种情况下,'apply'使用'map'作为参数操作和所有子列表。如果子列表本身不在列表中,我们可以这样做:'(map +'(1 2 3 4)'(5 6 7 8))''。请记住,'map'接收一个操作和一个或多个列表作为参数,如果传递了多个列表,则操作以元素方式应用于它们。 –