Следующий код выполняется без всяких условий
wave = HaarWavelet[];
type = "PrimalLowpass";
h = WaveletFilterCoefficients[
wave, type,
WorkingPrecision -> \[Infinity]
];
h = Flatten[
Take[h,
Range[1, Length[h]],
Table[2, {Length[h]}]
]
]
Но когда его оборачивают в Module
, некоторые ошибаются.Рассмотрим функцию
getWaveletFilter[wave_, type_]:=
Module[{filter}, (* treated as local *)
filter = WaveletFilterCoefficients[
wave, type, WorkingPrecision -> \[Infinity]
]
filter = Flatten[
Take[filter,
Range[1, Length[filter]],
Table[2, {Length[filter]}]
]
]
filter
]
Я бы хотел, чтобы getWaveletFilter[HaarWavelet[], "PrimalHighpass"]
вернул
{1/2, -1/2}
Вместо Mathematica, есть все виды жалоб.Любое предложение?