Dire que j'avais le code suivant:Existe-t-il un moyen d'appeler une sous-fonction en mode cellule dans matlab?
% Cellmode_subfunction_test.m
%% Cell 1
foo(1);
%% Cell 2
foo(2);
%% Definition of the foo subfunction
function foo(num)
disp(['num=' num2str(num)]);
Comment tester la cellule 1 et cellule 2 avec la sous-fonction définie à la fin? Edit: Essentiellement, chacune des cellules de cet exemple effectue des calculs longs, donc je voudrais les tester et les déboguer séparément. J'utilise des sous-fonctions pour extraire et réutiliser des fonctionnalités communes et comme cette fonctionnalité n'est utilisée que dans cette application, je ne veux pas vraiment placer foo dans un fichier m séparé. Editer (2): Je viens de me rappeler que je me souviens vaguement du mode cellulaire fonctionnant uniquement dans les scripts matlab et non dans les fichiers m de fonction et que les sous-fonctions et les fonctions imbriquées ne sont pas autorisées dans ces scripts. Donc ce que je demande n'est probablement pas possible. Bien que la solution de fonction anonyme donnée ci-dessous soit peut-être quelque peu restrictive car elle ne permet que des fonctions d'expression unique, elle a en fait suffi pour ce que je voulais faire et donc je l'ai acceptée comme solution à mon problème.
Désolé, je ne peux pas en dire plus. Juste pour plus de clarté, voulez-vous ajouter des sous-fonctions à un fichier m, qui ne sera utilisé que par ce fichier m, et pour lequel vous ne voulez pas créer un nouveau fichier m? – gnovice
Votre deuxième modification clarifie les choses. C'est vrai, dans les fichiers script, vous ne pouvez pas avoir de sous-fonctions ou de fonctions imbriquées. Les fonctions anonymes sont la seule façon d'aller avec des scripts. La seule autre option est d'enregistrer foo en tant que fichier séparé. – gnovice