AnyMath 文档

移位数据

移数据以在给定维度上执行操作。

库::`工程师`

语法

函数调用

使用功能 移位数据 与功能相结合 unshift数据,其将数据返回到其原始状态。 这些函数对于创建沿特定维度工作的函数非常有用,例如 过滤器索斯菲尔特.

争论

输入参数

# x — 输入数据

+ 向量资料 | 矩阵

Details

指定为向量或矩阵的输入数据。

数据类型

漂浮物32, 漂浮64</无翻译>

# 昏暗 — 用于执行操作的测量

+ 正标量

Details

用于执行滤波的测量,设置为正整数标量。

如果 昏暗 如果未指定,则该函数将第一个非单元维移位到第一列,并返回移位数 [参数:nshifts].

数据类型

漂浮物32, 漂浮64</无翻译>

输出参数

# y — 移位后的数据

+ 向量资料 | 矩阵

Details

移位后的数据,作为向量或矩阵返回。

# 烫发 — 排列,排列

+ 向量资料

Details

用于移位数据的置换,作为向量返回。

# nshifts — 班次数目

+ 标量,标量

Details

作为标量返回的移位数。

例子:

重新排列魔术广场的尺寸

Details

让我们在魔法广场上换班吧 3×3 通过将第二维度重新排列到第一列中。 让我们使用函数将矩阵返回到原始位置 unshift数据.

让我们定义一个魔术广场 3×3.

import EngeeDSP.Functions: shiftdata
import EngeeDSP.Functions: unshiftdata
x = [2 9 4; 7 5 3; 6 1 8]
3×3 Matrix{Int64}:
 8  1  6
 3  5  7
 4  9  2

让我们转移矩阵沿第二维工作。 让我们返回置换向量,移位数和移位矩阵。

x, perm, nshifts = shiftdata(x, 2)
(x = [8 3 4; 1 5 9; 6 7 2], perm = (2, 1), nshifts = Any[])

让我们将矩阵恢复到原始状态。

y = unshiftdata(x, perm)
3×3 Matrix{Int64}:
 8  1  6
 3  5  7
 4  9  2

重新排列数组以处理第一个非一维

Details

让我们将移位的数据定义为行向量。

import EngeeDSP.Functions: shiftdata
import EngeeDSP.Functions: unshiftdata
x = [1 2 3 4 5]
1×5 Matrix{Int64}:
 1  2  3  4  5

要将第一个数据维度(不是数组中的唯一元素)移动到第一列,我们不会指定 [参数:暗淡]. 功能 移位数据 以列向量、排列向量和移位数的形式返回数据。

x, perm, nshifts = shiftdata(x)
(x = [1, 2, 3, 4, 5], perm = Any[], nshifts = 1)

将数据恢复到原始状态。

y = unshiftdata(x, perm, nshifts)
1×5 Matrix{Int64}:
 1  2  3  4  5