FourierDST[list]
求实数列表的傅立叶离散正弦变换.
FourierDST[list,m]
求类型
的傅立叶离散正弦变换.
FourierDST
FourierDST[list]
求实数列表的傅立叶离散正弦变换.
FourierDST[list,m]
求类型
的傅立叶离散正弦变换.
更多信息
- 长度为
的列表
的离散正弦变换给出的结果为
的可能类型
是: -
1 (DST-I) 
2 (DST-II) 
3 (DST-III) 
4 (DST-IV) 
- FourierDST[list] 等价于 FourierDST[list,2].
- 类型为 1,2,3,4 的逆离散正弦变换的类型分别为 1,3,2,4.
- FourierDST[list] 中的 list 可以被嵌套来表示任意维度的数据数组.
- 数据数组必须是长方形.
- 如果 list 的元素是确切的数字,则 FourierDST 首先应用 N.
- FourierDST 可用于 SparseArray 对象.
范例
打开所有单元 关闭所有单元基本范例 (2)
范围 (2)
v = {0, 1, 2, 3, 4, 3, 2, 1, 0};FourierDST[v]FourierDST[N[v, 24]]m = RandomReal[1, {4, 3}];FourierDST[m]m = RandomReal[1, {4, 4, 4, 4}];Max[FourierDST[m]]推广和延伸 (2)
应用 (2)
正弦级数展开 (1)
f[x_] := Exp[-100(x - 1 / 2) ^ 2];在均匀间隔的网格上的函数值是在 [-L,L) 区间内的 n 个点:
n = 20;
xg = N[Range[n - 1]] / n;
fg = Map[f, xg];
fp = ListPlot[Transpose[{xg, fg}], PlotRange -> All]coef = FourierDST[fg, 1] / Sqrt[n / 2];Show[fp, Plot[Sum[coef[[r]] * Sin[Pi r x], {r, n - 1}], {x, -1, 1}, PlotRange -> All]]Plot[f[x] - Sum[coef[[r]] * Sin[Pi r x], {r, n - 1}], {x, 0, 1 - 1 / n}, PlotRange -> All]拟谱偏微分方程离散化 (1)
uxx[u_ ? VectorQ] := Module[{n = Length[u]},
FourierDST[-(Pi N[Range[n] / (n + 1)]) ^ 2 FourierDST[u, 1], 1]]n = 20;
xg = N[Range[n]] / (n + 1);
u0 = 1 - 2 Abs[xg - .5];
ListPlot[{Transpose[{xg, u0}], Transpose[{xg, uxx[u0]}]}]sol = First[NDSolve[{u'[t] == v[t], v'[t] == uxx[u[t]], u[0] == u0, v[0] == ConstantArray[0., n]},
{u, v}, {t, 0, 25}]]ListPlot3D[Table[u[t] /. sol, {t, 0, 25}], Mesh -> False, DataRange -> {{0, 25}, {0, 1}}]属性和关系 (3)
data = RandomReal[1, 9];Chop[FourierDST[FourierDST[data, 1], 1] - data]Chop[FourierDST[FourierDST[data, 4], 4] - data]data = RandomReal[1, 15];Chop[FourierDST[FourierDST[data, 2], 3] - data]Chop[FourierDST[FourierDST[data, 3], 2] - data]dstII[n_] := (1/Sqrt[n])Table[Sin[Pi(r - 1 / 2)s / n], {s, n}, {r, n}]MatrixForm[dstII[7]]data = RandomReal[1, 7];Chop[dstII[7].data - FourierDST[data]]可能存在的问题 (1)
FourierDST 总是返回正规化结果:
TableForm[Table[FourierDST[ConstantArray[1, 5], type], {type, 1, 4}]]nc[n_, 1] = Sqrt[(n + 1) / 2];
nc[n_, 2 | 3] = Sqrt[n];
nc[n_, 4] = Sqrt[n / 2];unnormalizedDST[data_, type_] := FourierDST[data, type] * nc[Length[data], type]TableForm[Table[unnormalizedDST[ConstantArray[1, 5], type], {type, 1, 4}]]技术笔记
-
▪
- 离散傅立叶变换
文本
Wolfram Research (2007),FourierDST,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FourierDST.html.
CMS
Wolfram 语言. 2007. "FourierDST." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/FourierDST.html.
APA
Wolfram 语言. (2007). FourierDST. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FourierDST.html 年
BibTeX
@misc{reference.wolfram_2026_fourierdst, author="Wolfram Research", title="{FourierDST}", year="2007", howpublished="\url{https://reference.wolfram.com/language/ref/FourierDST.html}", note=[Accessed: 12-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_fourierdst, organization={Wolfram Research}, title={FourierDST}, year={2007}, url={https://reference.wolfram.com/language/ref/FourierDST.html}, note=[Accessed: 12-November-2026]}