Mercurial > repos > public > sbplib
annotate subsSymfun.m @ 969:adae8063ea2f feature/poroelastic
Remove silly getBoundaryOperator* methods in multiblock.DiffOp and make the getBoundaryOperator and getBoundaryQuadrature methods use the scheme.getBoundaryOperator/Quadrature methods instead of properties.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 25 Dec 2018 07:21:19 +0100 |
parents | 489bea7fc33f |
children |
rev | line source |
---|---|
599
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Subs for a symfun |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 % f remains a symbolic function. If any of it's arguments is eliminated |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 % it is removed from the argument list while preserving the order of the |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 % other arguments |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function f = subsSymfun(f, old, new) |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 args = argnames(f); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 newExpr = subs(f, old, new); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 vars = symvar(subs(args, old, new)); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 newArgs = args(ismember(args,vars)); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 f = symfun(newExpr, newArgs); |
489bea7fc33f
Add some functions to make symbolic life easier
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 end |