Appliquer la fonction à tous les éléments de la matrice

Je veux appliquer une fonction sur chaque élément d'une matrice. J'ai écrit le code suivant:

function p = an(x)
    p= x + 1;
end

La matrice est par exemple:

B = [1 2 3; 3 4 5; 6 7 8]

Quand j'essaie de le faire:

arrayfun(@an , B(1, :) , B(2, :), B(3, :))

J'obtiens cette erreur:

??? Error using ==> arrayfun
Undefined function or method 'an' for input arguments of type 'double'.

Je ne comprends pas pourquoi. Comment je peux résoudre ce problème? Est-il un moyen plus facile de le faire?

Quel est votre sortie désirée?

OriginalL'auteur user1943029 | 2013-01-02