deltas
语法
deltas(X,[n])
参数
X 是一个标量、向量、矩阵或表。
n 为可选参数,整型,用于指定计算 X 中两个非相邻元素之差时的元素间隔数,默认值为 1。
-
在不指定 n 值时,deltas 计算相邻元素之差;
-
当指定 n 为大于 1 的正整数时,以 X 中位置靠右的元素减去与其左边间隔 (n-1) 个元素的元素得到差值。例如,当 X = 3 4 6 9,n = 2 时,计算 X 中 6 和 3 之差以及 9 和 5 之差,得到的结果为:[,,3,5]。
-
当 n 为负整数时,以 X 中位置靠左的元素减去与其右边间隔 (n-1) 个元素的元素得到差值。例如,当 X = 3 4 6 9,n = -2 时,计算 X 中 3 和 6 之差以及 4 和 9 之差,得到的结果为:[-3,-5,,]。
详情
-
若 X 是向量,返回一个包含 X 中相邻元素之差的向量。结果中第一个元素是 NULL。
-
若 X 是矩阵,在每列内进行上述计算,返回一个与 X 维度相同的矩阵。
-
若 X 是表,在每列内进行上述计算,返回一个与 X 行数与列数都相同的表。
例子
x=7 4 5 8 9;
deltas(x);
//output: [,-3,1,3,1]
//等价于 [, 4-7, 5-4, 8-5, 9-8]
x=NULL 1 2 NULL 3;
deltas(x);
//output: [,,1,,]
m=matrix(1 3 2 5 6, 0 8 NULL 7 6);
m;
返回:
#0 | #1 |
---|---|
1 | 0 |
3 | 8 |
2 | |
5 | 7 |
6 | 6 |
deltas(m);
返回:
#0 | #1 |
---|---|
2 | 8 |
-1 | |
3 | |
1 | -1 |
x = 1..30;
n = 8;
r = deltas(x,n);
print r;
//output: [,,,,,,,,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8]
当 X 是矩阵时,
m=matrix(1 3 2 5 6, 0 8 NULL 7 6);
n = 4;
result = deltas(m,n)
result
返回:
0 | 1 |
---|---|
5 | 6 |
其中,第一列的 1 和 6 符合 n = 4 的元素间隔设定,差值为 5; 第二列的 0 和 6 符合 n = 4 的元素间隔设定,差值为 6,其余元素由于不满足 n = 4 的间隔,不参与计算,显示为空。
当 n 为负整数时,
x = 3 4 6 9
n = -2
r2= deltas(x,n)
r2
返回:
0 | 1 | 2 | 3 |
-3 | -5 |