Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在MATLAB中模拟“包含”行为?

在MATLAB中,我可以在一个文件中定义多个函数,只有第一个定义的函数在该文件外部可见。另外,我可以将每个函数放在自己的文件中,并通过路径在全局范围内使它们全部可见。我正在编写一个菜单驱动的应用程序,其中每个菜单项运行一个不同的功能。当前,所有这些都在一个大文件中,这越来越难以导航。我想做的是将相关功能组放入单独的文件中。

我想我可以通过将所有子功能放在单独的目录中,然后将该目录添加到父功能的路径中来执行此操作,但这感觉有点混乱和不雅。

谁能提出更好的建议?

注意:我对MATLAB 2006最为熟悉,但是我正在升级到MATLAB 2009。


回答:
一种建议是使用私有函数目录 ,以避免必须修改MATLAB路径 。例如:

假设您在\MATLAB\temp\目录中已经有一个名为test.m的函数(已经在MATLAB路径中)。如果要在test.m中有本地函数要放置在它们自己的m文件中,并且只希望test.m可以访问它们,则首先要在\MATLAB\temp\创建一个名为private的子目录。然后,将来自test.m的各个本地函数m文件放在此private子目录中。

不需要将private子目录添加到MATLAB路径中(实际上, 不应将其添加到路径中以使其正常工作)。仅在private子目录上方的目录中的文件test.m和其他m文件可以访问其包含的功能。使用私有函数,您可以有效地模拟局部函数的行为(即,有限范围,函数重载等),而不必将所有函数放在同一个m文件中(对于某些应用程序可能很大)。



更多&回答...
poster 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 23:26


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.