decir que tenía el siguiente código:¿Hay alguna manera de llamar a una subfunción en el modo de célula en 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)]);
¿Cómo se puede probar la celda 1 y la celda 2 con la función parcial definida en el extremo?
Editar: Básicamente, cada una de las celdas de este ejemplo realiza algunos cálculos largos, por lo que me gustaría probarlas y depurarlas por separado. Estoy usando subfunciones para abstraer y reutilizar funcionalidades comunes y dado que hasta ahora esta funcionalidad solo se usa en esta aplicación particular, realmente no quiero ubicar a foo en un archivo m separado.
Editar (2): Acabo de recordar que recuerdo vagamente que el modo celda solo funciona en scripts de Matlab y no en archivos m de función y que las subfunciones y funciones anidadas no están permitidas en dichos scripts. Por lo tanto, lo que estoy pidiendo probablemente no sea posible.
Aunque la solución de función anónima dada a continuación es tal vez algo restrictiva ya que solo permite funciones de expresión única, de hecho fue suficiente para lo que deseaba hacer y por lo tanto lo he aceptado como una solución a mi problema.
Disculpa, no pude ayudarte más. Para mayor claridad, ¿quiere agregar subfunciones a un archivo m, que solo será utilizado por ese archivo m, y para el cual no desea crear un archivo m completamente nuevo? – gnovice
Tu segunda edición aclara las cosas. Es cierto, dentro de los archivos de script no puede tener subfunciones o funciones anidadas. Las funciones anónimas son la única forma de ir con scripts. La única otra opción es guardar foo como un archivo separado. – gnovice