首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >第一种差异,第二种差异,.,第九种差异的闭包函数

第一种差异,第二种差异,.,第九种差异的闭包函数
EN

Stack Overflow用户
提问于 2013-11-20 22:49:21
回答 2查看 190关注 0票数 3

输入一个向量,我想要写一个函数,给元素之间的连续差异。理想情况下,函数应该输入一个向量x和参数n,指定第n个差值。

表格x中的样本

输入1: 16 10 8 6 4 2 1 (1表示第一差)

输出1:-6 -2 -2 -2

投入2: 16 10 8 6 4 2

产出2: 4 0 0 0零零

从象征意义上讲,下面是示例2所发生的事情(意思是说明想法,而不是code代码)

A b、c、d、e、f、2

a-2b+c,b-2c+d,c-2d+e,d-2e+f

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-29 01:50:19

与@Shlomi的回答相同,但具有可选的步骤大小参数:

代码语言:javascript
复制
(defn diff
  ([a]
    (map - (next a) a))
  ([a step]
    (map - (nthnext a step) a)))

(defn nthdiff
  ([a n]
    (nth (iterate diff a) n))
  ([a n step]
    (nth (iterate #(diff % step) a) n)))
票数 1
EN

Stack Overflow用户

发布于 2013-11-20 23:21:41

给你:

代码语言:javascript
复制
(def a [16 10 8 6 4 2])

(defn diff [a] 
  (map - (rest a) a))

(defn diff-n [a n]
  (nth (iterate diff a) n))

(diff-n a 1) ; => (-6 -2 -2 -2 -2)
(diff-n a 2) ; => (4 0 0 0)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20108763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档