Files
playbook/skills/tsl-api-reference/references/codegen/dotnet/math/wavelet_analysis.md
T

4.4 KiB

数学函数 / 小波分析

wavedec(x, n, wname)

声明:function

使用给定的小波wname进行一维多尺度离散小波分析,返回信号xin在n层上的小波分解。输出分解结构包含小波分解向量C和相应的记录向量L

参数 类型 说明
x array 一维序列,一维数字数组
n integer 小波分解层数,正整数
wname string 基础小波函数,字符串类型

返回:array

示例

范例01:提取近似系数

setSysParam(PN_Stock(), "SH000300");
setSysParam(pn_date(), intToDate(20120731));
close300 := nDay(800, "时间", dateTimeToStr(sp_time(1)), "收盘价", close());
close3 := close300[:, "收盘价"];
return wave := wavedec(close3, 3, "db3");
// 输出:结果格式:
// 第一行是小波分解向量C,第二行是相应的记录向量L
// 下面我们从图像来直接看看小波分解:
// 原始序列:
// 原始序列可分解成:

wavelet(s, wname, n, options)

声明:function

一维序列小波消噪

参数 类型 说明
s array 一维序列,一维数字数组
wname string 基础小波函数,字符串类型,取值参考[Wavedec]函数的wname输入参数
n integer 小波分解层数,正整数
options array 方法选项

返回:array

示例

s := array(2484.83, 2479.05, 2482.34, 2437.79, 2447.75, 2512.96, 2443.06, 2433.16, 2393.18, 2415.05, 2392.06, 2365.34, 2359.22, 2344.79, 2348.52, 2420.00, 2438.79, 2431.38, 2440.4, 2383.49, 2377.51, 2331.37, 2317.27, 2370.33, 2409.67, 2427.48, 2435.61, 2473.41, 2468.25, 2470.02, 2504.11, 2508.09, 2528.29, 2509.8, 2503.84, 2524.92, 2479.54, 2481.08, 2528.71, 2529.76, 2466.96, 2463.05, 2416.56, 2415.13, 2412.62, 2395.06, 2397.55, 2380.22, 2383.03, 2412.39, 2333.41, 2386.86, 2360.66, 2333.23, 2325.91, 2332.73, 2329.82, 2315.27, 2291.54, 2248.59, 2228.52, 2180.9, 2224.84, 2218.24, 2215.93, 2191.15, 2186.3, 2204.78, 2190.11, 2166.21, 2170.01, 2173.56, 2199.42, 2169.39, 2148.45, 2163.4, 2225.89, 2285.74, 2276.05, 2275.01, 2244.58, 2206.19, 2298.38, 2266.38, 2296.07, 2319.12, 2285.04, 2292.61, 2268.08, 2312.56, 2330.41, 2331.14, 2291.9, 2347.53, 2349.59, 2351.98, 2351.85, 2344.77, 2366.7, 2356.86, 2357.18, 2363.6, 2381.43, 2403.59, 2409.55, 2439.63, 2447.06, 2451.86, 2428.49, 2426.11, 2460.69);
n := 2;
wname := "db14";
options := array('brief': 1, 'sigma': 0, 'which': 1, 'alpha': 2, "thr": 0, 'sorh': 's');
return s|wavelet(s, wname, n, options);
// 消噪和原始数据对比:

wrcoef(o, c, l, wname, n)

声明:function

一维离散小波单支重构,小波分析,小波重构中间函数或者细节系数(高频)提取

参数 类型 说明
o string 为字符串类型,'a' 一维离散小波单支重构,'d' 细节系数提取
c array 小波分解向量C,数组类型,参考[Wavedec]函数的输出
l array 相应的记录向量L,数组类型,参考[Wavedec]函数的输出
wname string 基础小波函数,字符串类型,取值参考[Wavedec]函数的wname输入参数
n integer 小波分解层数,正整数

返回:array

示例

setSysParam(PN_Stock(), "SH000300");
setSysParam(pn_date(), intToDate(20120731));
close300 := nDay(800, "时间", dateTimeToStr(sp_time(1)), "收盘价", close());
close3 := close300[:, "收盘价"];
wave := wavedec(close3, 3, "db3");
c := wave[0];
l := wave[1];
return wrcoef('a', c, l, 'db3', 3);

范例02:提取第三层细节系数

setSysParam(PN_Stock(), "SH000300");
setSysParam(pn_date(), intToDate(20120731));
close300 := nDay(800, "时间", dateTimeToStr(sp_time(1)), "收盘价", close());
close3 := close300[:, "收盘价"];
wave := wavedec(close3, 3, "db3");
c := wave[0];
l := wave[1];
return wrcoef('d', c, l, 'db3', 3);