Mercurial > repos > public > sbplib
annotate subsSymfun.m @ 1291:a8e730db76e9 feature/poroelastic
Add normal-tangential traction BC ElasticCurvilinearAnisotropic
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Mon, 29 Jun 2020 15:23:01 -0700 |
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 |