Statement of Problem:
-
I have an array
Mwithmrows andncolumns. The arrayMis filled with non-zero elements. -
I also have a vector
twithnelements, and a vectoromega
withmelements. -
The elements of
tcorrespond to the columns of matrixM. -
The elements of
omegacorrespond to the rows of matrixM.
Goal of Algorithm:
Define chi as the multiplication of vector t and omega. I need to obtain a 1D vector a, where each element of a is a function of chi.
Each element of chi is unique (i.e. every element is different).
Using mathematics notation, this can be expressed as a(chi)
Each element of vector a corresponds to an element or elements of M.
Matlab code:
Here is a code snippet showing how the vectors t and omega are generated. The matrix M is pre-existing.
[m,n] = size(M);
t = linspace(0,5,n);
omega = linspace(0,628,m);
Conceptual Diagram:
This appears to be a type of integration (if this is the right word for it) along constant chi.

Reference:
The algorithm is not explicitly stated in the reference. I only wish that this algorithm was described in a manner reminiscent of computer science textbooks!
Looking at Figure 11.5, the matrix M is Figure 11.5(a). The goal is to find an algorithm to convert Figure 11.5(a) into 11.5(b).
It appears that the algorithm is a type of integration (averaging, perhaps?) along constant chi.
The basic idea is to use two separate loops. The outer loop is over the
chivariable values, whereas the inner loop is over theivariable values. Referring to the above diagram in the original question, theivariable corresponds to the x-axis (time), and thejvariable corresponds to the y-axis (frequency). Assuming that thechi,i, andjvariables can take on any real number, bilinear interpolation is then used to find an amplitude corresponding to an element in matrixM. The integration is just an averaging over elements ofM.The following code snippet provides an overview of the basic algorithm to express elements of a matrix as a vector using the spectral collapsing from 2D to 1D. I can’t find any reference for this, but it is a solution that works for me.