Mercurial > repos > public > sbplib
annotate matlabFunctionSizePreserving.m @ 700:de7f665e1d00 feature/optim
add hamiltonian closures
| author | Ylva Rydin <ylva.rydin@telia.com> |
|---|---|
| date | Mon, 16 Oct 2017 16:51:22 +0200 |
| parents | 7c16b5af8d98 |
| children |
| rev | line source |
|---|---|
|
696
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
1 % Takes a symfun and makes a better anonymous function |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
2 function fun = matlabFunctionSizePreserving(f) |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
3 mf = matlabFunction(f); |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
4 args = argnames(f); |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
5 |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
6 funStr = func2str(mf); |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
7 for i = 1:length(args) |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
8 funStr = [funStr sprintf(' + 0*%s', toString(args(i)))]; |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
9 end |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
10 |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
11 fun = str2func(funStr); |
|
7c16b5af8d98
Add Jonatans symbolic lifehax
Ylva Rydin <ylva.rydin@telia.com>
parents:
diff
changeset
|
12 end |
