scipy.fftpack.

dstn#

scipy.fftpack.dstn(x, type=2, shape=None, axes=None, norm=None, overwrite_x=False)[source]#

返回沿指定轴的多维离散正弦变换。

参数:
xarray_like

输入数组。

type{1, 2, 3, 4}, 可选

DST 的类型(参见注释)。默认类型为 2。

shapeint 或 int 的数组或 None,可选

结果的形状。如果 shapeaxes(见下文)均为 None,则 shapex.shape;如果 shape 为 None 但 axes 不为 None,则 shapenumpy.take(x.shape, axes, axis=0)。如果 shape[i] > x.shape[i],则第 i 维用零填充。如果 shape[i] < x.shape[i],则第 i 维将截断为长度 shape[i]。如果 shape 的任何元素为 -1,则使用 x 的对应维的大小。

axesint 或 int 的数组或 None,可选

计算 DCT 的轴。默认情况下,在所有轴上进行计算。

norm{None, ‘ortho’}, 可选

归一化模式(参见注释)。默认值为 None。

overwrite_xbool, 可选

如果为 True,则可以销毁 x 的内容;默认值为 False。

返回:
y实数 ndarray

经过变换的输入数组。

参见

idstn

多维 DST 的逆变换

注释

有关 DST 类型和归一化模式的完整详细信息以及参考文献,请参见 dst.

示例

>>> import numpy as np
>>> from scipy.fftpack import dstn, idstn
>>> rng = np.random.default_rng()
>>> y = rng.standard_normal((16, 16))
>>> np.allclose(y, idstn(dstn(y, norm='ortho'), norm='ortho'))
True