array of function handles

David Bateman David.Bateman at motorola.com
Tue Nov 18 05:17:18 CST 2008


Francesco Potortì wrote:
> How do I initialise an array with anonymous function handles?  The less
> ugly I came up with is this:
>
>       distfunction{1} = @(x,w) min(x);
>       distfunction{2} = @(x,w) max(x);
>       distfunction{3} = @(x,w) mediandist(x,1);
>       distfunction{4} = @(x,w) mediandist(x,w);
>
> Any better way?
>
>   
distfunction = {@(x)min(x), @(x)max(x)}

note that there is no space between the arguments as

distfunction = {@(x) min(x), @(x) max(x)}

will be treated as

distfunction = {@(x), min(x), @(x), max(x)}

by the parser, which of course is stupid.. You can protect the arguments 
like

distfunction = {(@(x) min(x)), (@(x) max(x))}

permitting the spaces for readability

D.

-- 
David Bateman                                David.Bateman at motorola.com
Motorola Labs - Paris                        +33 1 69 35 48 04 (Ph) 
Parc Les Algorithmes, Commune de St Aubin    +33 6 72 01 06 33 (Mob) 
91193 Gif-Sur-Yvette FRANCE                  +33 1 69 35 77 01 (Fax) 

The information contained in this communication has been classified as: 

[x] General Business Information 
[ ] Motorola Internal Use Only 
[ ] Motorola Confidential Proprietary



More information about the Help-octave mailing list