Matrix 和矩阵球拍
我试图在Racket中使用map和apply做一个求和2矩阵的函数,问题是我只使用像这样的mapMatrix 和矩阵球拍,matrix,racket,Matrix,Racket,我试图在Racket中使用map和apply做一个求和2矩阵的函数,问题是我只使用像这样的map (定义(总和x y) (映射(λ(xy)(映射+xy))xy)) (总和(101010)(555)(1111)(222)) 它给了我:(sum'((101010)(555))((1111)(222))->'((11111)(777)) 但问题是:我只想要结果,大约54 ?如何使用应用程序获取54而不是结果矩阵?尝试以下方法: (define (sumM x y) (+ (apply + (map
(定义(总和x y)
(映射(λ(xy)(映射+xy))xy))
(总和(101010)(555)(1111)(222))
它给了我:(sum'((101010)(555))((1111)(222))->'((11111)(777))
但问题是:我只想要结果,大约54
?如何使用应用程序获取54而不是结果矩阵?尝试以下方法:
(define (sumM x y)
(+ (apply + (map (lambda (sl) (apply + sl)) x))
(apply + (map (lambda (sl) (apply + sl)) y))))
它适用于任意长度的列表,查找其所有元素的总和。例如:
(sumM '((10 10 10) (5 5 5)) '((1 1 1) (2 2 2)))
=> 54
试试这个:
(define (sumM x y)
(+ (apply + (map (lambda (sl) (apply + sl)) x))
(apply + (map (lambda (sl) (apply + sl)) y))))
它适用于任意长度的列表,查找其所有元素的总和。例如:
(sumM '((10 10 10) (5 5 5)) '((1 1 1) (2 2 2)))
=> 54