【发布时间】:2009-02-02 15:54:24
【问题描述】:
假设我有以下代码:
% Cellmode_subfunction_test.m
%% Cell 1
foo(1);
%% Cell 2
foo(2);
%% Definition of the foo subfunction
function foo(num)
disp(['num=' num2str(num)]);
如何用最后定义的子函数测试单元格1和单元格2?
编辑:基本上这个例子中的每个单元格都会执行一些冗长的计算,所以我想分别测试和调试它们。我正在使用子函数来抽象和重用通用功能,因为到目前为止,此功能仅用于这个特定的应用程序,我真的不想将 foo 放在单独的 m 文件中。
Edit(2):我只记得我隐约记得单元模式仅在 matlab 脚本中工作,而不在函数 m 文件中工作,并且在此类脚本中不允许使用子函数和嵌套函数。因此,我所要求的可能是不可能的。
虽然下面给出的匿名函数解决方案可能有些限制,因为它只允许单个表达式函数,但它实际上已经足够我想做的事情了,因此我接受了它作为我的问题的解决方案。
【问题讨论】:
-
对不起,我帮不上忙。为了更清楚起见,您是否要向 m 文件添加子函数,这些子函数仅由该 m 文件使用,并且您不想为其创建一个全新的 m 文件?
-
您的第二次编辑澄清了一些事情。确实,在脚本文件中不能有子函数或嵌套函数。匿名函数是使用脚本的唯一方法。唯一的其他选择是将 foo 保存为单独的文件。
标签: matlab