使用 matlab.tall.movingWindow 将具有多个输出的函数应用于数据窗口。
从内存中的随机矩阵创建一个 tall 数组。
X = rand(1000,5);
tX = tall(X)
tX =
1,000x5 tall double matrix
0.8147 0.6312 0.7449 0.3796 0.4271
0.9058 0.3551 0.8923 0.3191 0.9554
0.1270 0.9970 0.2426 0.9861 0.7242
0.9134 0.2242 0.1296 0.7182 0.5809
0.6324 0.6525 0.2251 0.4132 0.5403
0.0975 0.6050 0.3500 0.0986 0.7054
0.2785 0.3872 0.2871 0.7346 0.0050
0.5469 0.1422 0.9275 0.6373 0.7825
: : : : :
: : : : :
创建一个函数,求第一个维度中每个数据窗口的总和、均值、中位数和众数。每个输出需要在第一个维度上具有相同的大小,但在其他维度上可以具有不同大小。对于每个数据窗口,求和计算产生一个标量,而其他计算产生 1×N 向量。
将该函数保存在本地工作区中。
function [S,mn,mdn,md] = mystats(X)
S = sum(X,[2 1]);
mn = mean(X,1);
mdn = median(X,1);
md = mode(X,1);
end
注意:该函数作为局部函数包含在示例的