【发布时间】:2013-07-03 10:48:47
【问题描述】:
我在一个 m 文件中编写了一个算法,并且我在另一个 .m 文件中创建了几个函数。我想调用我在与主算法 .m 文件分开的文件中创建的这几个函数。我知道如何从一个文件调用一个函数到另一个函数,但在这里我想调用我在与我的邮件算法文件不同的文件中创建的不同函数。我在这里搜索过,但我得到的答案没有帮助,也不是在谈论我想要什么。
这是我在说什么的一个小例子:
main algo file
N = 30;
x = -10 + 20rand(1,N)
for j = 1 to N
c = f1(x) % here i need to call different functions from another file
end
具有多个变量的函数-这是一个单独的文件
Function perform
%% Function F1
f = f1(x)
statements
end
%% Function F2
f = f2(x)
statements
end
%% Function F3
f = f3(x)
statements
end
%% Function F4
f = f4(x)
statements
end
%% Function F5
f = f5(x)
statements
end
end Perform
我想在主算法 .m 文件中调用 F1 到 F4。你怎么能这样做。此外,如果每次我运行主算法 .m 文件时会更好,它会提示我选择我要调用的 F1 到 F4 函数中的哪一个,并且我输入并在 dailog 框中指示函数,它调用那个特定的功能。请问有什么办法吗?
【问题讨论】:
-
@Shai 不确定是否重复。在您的问题中,您不想接受改变公共功能的解决方案,而在这里 OP 实施 它,所以我想他愿意接受建议......
-
@EitanT 如果他愿意更改实现,为什么不将每个私有函数写入自己的 m 文件并完成它呢?如果他想要更多的挑战,让他的生活变得更复杂,他不妨尝试在头顶平衡 10 本书来实现它......
-
@Shai 我也会这样做(关于 m 文件,而不是书籍),但我可以理解为什么要避免混乱的 m 文件。
-
@EitanT 你也应该试试这些书;)
-
@Shai,我试图避免有很多 m 文件。我知道这样更容易。
标签: function matlab nested-function