Averages/Root mean square: Difference between revisions

m
Emacs Lisp: Simplify solution, omit cl-lib version for lack of benefit using cl-map
(Added solution for Action!)
m (Emacs Lisp: Simplify solution, omit cl-lib version for lack of benefit using cl-map)
Line 689:
 
=={{header|Emacs Lisp}}==
<Lang lisp>(defun rms (nums)
(defun rms (nums)
;; `/' returns a float only when given floats
(setq nums (mapcar 'float nums))
(sqrt (/ (apply '+ (mapcar (lambda (x) (* x x)) nums))
(float (length nums)))))
</lang>
 
(rms (number-sequence 1 10))</lang>
or, if using Emacs's Common Lisp library <code>cl-lib.el</code> to use <code>cl-map</code>:
<Lang lisp>
(defun rms (nums)
(setq nums (mapcar 'float nums))
(sqrt (/ (apply '+ (cl-map 'list '* nums nums))
(length nums))))
 
{{out}}
(rms (number-sequence 1 10))
</lang>
<pre>6.2048368229954285</pre>
 
Anonymous user