view struct2syntax.m @ 86:3c39dd714fb6

In Curve: Added numerical FD differentiation if derivative is not supplied. Added arc length computation based on the derivative. Added arc length parameterization (but this function is very slow.). In +util: Added fzero_vec.m and integral_vec.m, which call fzero and integral but take vector arguments.
author Martin Almquist <martin.almquist@it.uu.se>
date Sun, 29 Nov 2015 14:28:53 +0100
parents 54d3ab296ba0
children
line wrap: on
line source

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

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

    str = sprintf('struct(');

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

function str  = valueString(value)
    if ischar(value)
        str = ['''' value ''''];
    else
        str = num2str(value);
    end
end