https://github.com/kraketm/ConstrainedDMD
Tip revision: 543b1af120732aa94738315eb75b8a4394caa951 authored by timkrake on 24 November 2022, 08:36:43 UTC
Update README
Update README
Tip revision: 543b1af
TOOL_DiagonalAveraging.m
function [v] = TOOL_DiagonalAveraging(A)
% This function TOOL_DiagonalAveraging diagonal averages time delayed
% data, which was originally univariate.
%
% A small example for the diagonal averaging:
% |x11 x12|
% |x21 x22| ----- diagonal averaging -----> [x11 x21+x12 x31+x22 x32]
% |x31 x32|
%
% [delayedTimeSeries] = TOOL_DiagonalAveraging(timeSeries, delayParameter)
%
% Input:
% * A matrix / time delayed data
%
% Output:
% * v diagonal averaged data
[n,m]=size(A);
if n == 1
v = A;
return
end
A = flipud(A);
v = zeros(1,n+m-1);
i = 1;
for d = -(n-1):(m-1)
v(i) = mean(diag(A,d));
i = i+1;
end
end
