percentChange

语法

percentChange(X,[n])

参数

X 是一个向量或矩阵。

n 为可选参数,整型,用于指定计算 X 中两个元素值变化百分比时的元素间隔数,默认值为 1。

  • 在不指定 n 值时,percentChange 计算相邻元素值的变化百分比;

  • 当 n 为大于 1 的整数时,例如,当 X = 3 4 6 9,n = 2 时,计算 X 中 6 和 3 之间、9 和 4 之间的值变化百分比,得到的结果为:[,,1,1.25],即 100% 和 125%。

  • 当 n 为负整数时,例如, X = 3 4 6 9,n = -2 时,计算 X 中 3 和 6 之间、4 和 9 之间的值变化百分比,得到的结果为:[-0.5, -0.5555555555555556,,]。

详情

返回间隔了 (n-1)个元素的两个元素之间的值变化比例。

  • n 为正整数时,计算方法为:(靠右元素/靠左元素)- 1

  • n 为负整数时,计算方法为:(靠左元素/靠右元素)- 1

X 是矩阵,在每列内进行上述计算,返回一个与 X 维度相同的矩阵。

例子

percentChange([1,2,3]);
//output: [,1,0.5]
percentChange(85 90 95);
//output:[,0.058824,0.055556]
m=matrix(100 105 109 112 108 116, 200 212 208 199 206 210);
m

返回:

#0 #1
100 200
105 212
109 208
112 199
108 206
116 210
percentChange(m);

返回:

#0 #1
0.05 0.06
0.038095238095238 -0.018867924528302
0.027522935779817 -0.043269230769231
-0.035714285714286 0.035175879396985
0.074074074074074 0.019417475728155

以下例子中,X 是一个从 1 到 10 递增的向量。n = 3,即 1 和 4 比较,2 和 5 比较, 3 和 6 比较,以此类推。

X = 1..10;
n = 3;
r = percentChange(X,n);
print r;
//output: [,,,3,1.5,1,0.75,0.6,0.5,0.428571428571429]

以下例子中,X 是一个矩阵。

m=matrix(1 3 2 NULL 6 9 3, 0 8 NULL 7 6 2 8);
n = 3;
result = percentChange(m,n);
result;

返回:

0 1
1 -0.25
3.5
0.14285714285714285

当 n 为负整数时,

x = 3 4 6 9
n = -2
r2= percentChange(x,n)
r2

返回:

0 1 2 3
-0.5 -0.5555555555555556