view struct2string.m @ 1012:1e437c9e5132 feature/advectionRV

Create residual viscosity package +rv and generalize the ResidualViscosity class - Generalize residual viscosity, by passing user-defined flux and calculating the time derivative outside of the update. - Create separate RungekuttaRV specifically using interior RV updates - Separate the artifical dissipation operator from the scheme AdvectionRV1D so that the same scheme can be reused for creating the diff op used by the ResidualViscosity class
author Vidar Stiernström <vidar.stiernstrom@it.uu.se>
date Wed, 05 Dec 2018 13:44:10 +0100
parents 92247f4bad2f
children
line wrap: on
line source

function str = struct2string(s)
    warning('Deprecated! Use toString() instead!');
    fn = fieldnames(s);

    if length(fn) == 0
        str = '{}';
        return
    end

    str = sprintf('{');

    for i = 1:length(fn) - 1
        value = s.(fn{i});
        str = [str sprintf('%s: %s, ',fn{i}, toString(value))];
    end
    value = s.(fn{end});
    str = [str sprintf('%s: %s}',fn{end}, toString(value))];
end

function str  = value2string(value)
    if isnumeric(value) || ischar(value)
        str = mat2str(value);
    elseif isstruct(value)
        str = struct2string(value);
    else
        str = 'NO_STR_REP';
    end
end