view reshapeToPlotMatrix.m @ 1084:d5290a056049 feature/laplace_curvilinear_test

Fix bug in new implementations that made matrices non-sparse.
author Martin Almquist <malmquist@stanford.edu>
date Wed, 27 Mar 2019 15:56:42 -0700
parents 51aaf67a7df5
children
line wrap: on
line source

% Takes a grid function and reshapes it into a matrix of shape m for plotting.
function F = reshapeToPlotMatrix(gf, m)
    D = length(m);

    switch D
        case 1
            F = gf;
        case 2
            F = reshape(gf, rot90(m,2));
        case 3
            % After the reshape the indecies will be M(z,y,x). Plot need them to be M(y,x,z)
            p = [2 3 1]; % Permuation
            F = permute(reshape(gf,rot90(m,2)), p);
        otherwise
            error('reshapeToPlotMatrix:NotImplemented','Grid function to matrix is not implemented for dimension = %d', length(m));
    end
end