scipy.fftpack.
dctn#
- scipy.fftpack.dctn(x, type=2, shape=None, axes=None, norm=None, overwrite_x=False)[source]#
返回沿指定轴的多维离散余弦变换。
- 参数:
- xarray_like
输入数组。
- type{1, 2, 3, 4}, 可选
DCT 的类型(见备注)。默认类型为 2。
- shapeint 或整数数组或 None,可选
结果的形状。如果 shape 和 axes(见下文)均为 None,则 shape 为
x.shape
;如果 shape 为 None 但 axes 不为 None,则 shape 为numpy.take(x.shape, axes, axis=0)
。如果shape[i] > x.shape[i]
,则用零填充第 i 维度。如果shape[i] < x.shape[i]
,则将第 i 维度截断为长度shape[i]
。如果 shape 的任何元素为 -1,则使用 x 对应维度的尺寸。- axesint 或整数数组或 None,可选
计算 DCT 的轴。默认情况下,对所有轴进行计算。
- norm{None, ‘ortho’}, 可选
归一化模式(见备注)。默认值为 None。
- overwrite_xbool,可选
如果为 True,则可以破坏 x 的内容;默认值为 False。
- 返回值:
- yreal 类型的 ndarray
经过变换的输入数组。
另请参见
idctn
逆多维 DCT
备注
有关 DCT 类型和归一化模式的详细信息,以及参考文献,请参见
dct
.示例
>>> import numpy as np >>> from scipy.fftpack import dctn, idctn >>> rng = np.random.default_rng() >>> y = rng.standard_normal((16, 16)) >>> np.allclose(y, idctn(dctn(y, norm='ortho'), norm='ortho')) True