当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在matlab中以单元格模式调用子函数?

如何解决《有没有办法在matlab中以单元格模式调用子函数?》经验,为你挑选了1个好方法。

说我有以下代码:

% 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文件中.

编辑(2):我只记得我模糊地回忆单元模式只在matlab脚本中工作而不是在函数m文件中,并且在这样的脚本中不允许使用子函数和嵌套函数.因此,我所要求的可能是不可能的.

虽然下面给出的匿名函数解决方案可能有点限制,因为它只允许单个表达式函数,但实际上它确实足以满足我的想法,因此我已经接受它作为我的问题的解决方案.



1> gnovice..:

更正:

我误解了你对CELL一词的使用.我很抱歉.您似乎只想在命令行定义一个函数而不将其保存到.m文件中.为此,您可以使用匿名函数:

foo = @(num) disp(['num=' num2str(num)]);

然后你可以像使用任何其他功能一样使用"foo".

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有