我正在嘗試編寫一個函數,該函數需要一個操作和一個矩陣將矩陣轉換爲向量。例如,如果我打電話給(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. Matlab將矢量轉換爲矩陣
- 4. 將matlab矩陣轉換爲矢量
- 5. 將邏輯矩陣轉換爲矢量
- 6. 將矩陣轉換爲矢量
- 7. 將矢量轉換爲邏輯矩陣?
- 8. 將矢量轉換爲邏輯矩陣
- 9. 將矢量矢量轉換爲斯卡拉的矩陣
- 10. 如何將矩陣轉換爲矢量矢量?
- 11. 有沒有將旋轉矩陣轉換爲加速度矢量的matlab函數?
- 12. 如何通過R中的名稱將矢量轉換爲矩陣?
- 13. 將NumPy矢量轉換爲二維數組/矩陣
- 14. 使用螺旋路徑將矩陣轉換爲矢量
- 15. 從給定的矢量創建矩陣
- 16. iOS矩陣和矢量操作
- 17. 如何將矢量轉換爲矩陣? (Matlab的)
- 18. 如何將矩陣轉換爲火花中的RDD [矢量]
- 19. 微風矢量到矩陣轉換
- 20. 將單元格矩陣轉換爲單行矢量?
- 21. 將矩陣列轉換爲矢量失敗,原因未知
- 22. R:矩陣通過矢量乘法
- 23. 從矩陣將數據轉換成矢量格式
- 24. 將3通道(BGR)矩陣轉換爲4通道(ABGR)矩陣
- 25. 將矩陣值轉換爲具有給定值的單元格的數量
- 26. 用三角矩陣將數組轉換爲矢量並執行線性搜索
- 27. 將陣列數組轉換爲矩陣
- 28. 將矩陣轉換爲對角矩陣
- 29. 將2D矩陣轉換爲3D矩陣?
- 30. 將行向量轉換爲矩陣
所以不適用「應用」映射和操作中的每個列表清單? – kmgauthier
是的,在這種情況下,'apply'使用'map'作爲參數操作和所有子列表。如果子列表本身不在列表中,我們可以這樣做:'(map +'(1 2 3 4)'(5 6 7 8))''。請記住,'map'接收一個操作和一個或多個列表作爲參數,如果傳遞了多個列表,則操作以元素方式應用於它們。 –