[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## Re: anonymous functions?

**From**: |
Etienne Grossmann |

**Subject**: |
Re: anonymous functions? |

**Date**: |
Wed, 20 Dec 2000 15:20:00 +0000 |

**User-agent**: |
WEMI/1.13.7 (Shimada) FLIM/1.13.2 (Kasanui) Emacs/20.7 (i386-debian-linux-gnu) (with unibyte mode) |

Hello,
From: Han-Wen Nienhuys <address@hidden>
# Please bear with me, I'm a newbie user. I want to build a simple
# meshless PDE solver in octave, but right at the start I get stuck.
# I'm trying to write a function to compute a gram-matrix, but I can't
# figure out how to pass an anonymous function to the quad procedure.
# What I am hoping|trying to do:
# function G = grammatrix (funcs)
# l = length (funcs)
# G = zeros (l,l)
# i = 0
# j = 0
# for f = funcs
# for g = funcs
# function p = prod(t)
# p = f(t) * g(t)
# endfunction
# G(i,j) = quad (prod,0, 1, [0, 0.01], [])
# j++
# endfor
# i++
# endfor
# endfunction
for f = funcs
....
end
loops over the columns of funcs :
octave:52> for ii = reshape (1:6,2,3), ii, end
ii =
1
2
ii =
3
4
ii =
5
6
which may not be what you expected.
You may do
eval (["function p = my_prod(t)Ün"Ü
" p = f(t) * g(t);Ün"Ü
"endfunctionÜn"]);
but f(t) will not be visible (see the man pages on local and global
variables); by default, all vars are local.
Also, you don't get an anonymous func : it's called "my_prod". (note
that "prod" is a builtin function). Do you usually program in perl (a
good language for anonymous functions)?
Sorry for not being very helpful,
Etienne
-------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.octave.org
How to fund new projects: http://www.octave.org/funding.html
Subscription information: http://www.octave.org/archive.html
-------------------------------------------------------------