view subsSymfun.m @ 971:e54c2f54dbfe feature/getBoundaryOperator

Merge with feature/poroelastic. Use only the changes made to multiblock.DiffOp and scheme.Elastic2dVariable. DiffOp.getBoundaryOperator/Quadrature now use scheme methods instead of propeties.
author Martin Almquist <malmquist@stanford.edu>
date Tue, 25 Dec 2018 07:50:07 +0100
parents 489bea7fc33f
children
line wrap: on
line source

% Subs for a symfun
% f remains a symbolic function. If any of it's arguments is eliminated
% it is removed from the argument list while preserving the order of the
% other arguments
function f = subsSymfun(f, old, new)
    args = argnames(f);

    newExpr = subs(f, old, new);
    vars = symvar(subs(args, old, new));

    newArgs = args(ismember(args,vars));

    f = symfun(newExpr, newArgs);
end