matlab - 如何安排matlab代码?

标签 matlab

假设我有一些使用某些函数的 MATLAB 代码。 我不想在与使用的代码相同的文件中定义函数 功能。

另一方面,为每个函数制作一个 m 文件的解决方案对我来说也不是很好,因为我不想要很多文件。 我想要的是一个类似 utils 文件的东西,它包含这些函数,例如,我可以从中导入函数,就像我们在 python 中所做的那样。

你会推荐什么?

最佳答案

您可能想要的是使用 package ,这有点像 python 模块,因为它是一个可以容纳多个文件的文件夹。为此,您可以在文件夹名称的开头放置一个 +,例如 +mypackage。然后,您可以使用类似于 Python 的 package.function 表示法访问文件夹中的函数和类,而不会污染函数的全局列表(只有包被添加到全局列表,而不是每个函数都被添加到全局列表中)它)。您还可以导入单个函数或类。但是,您始终必须使用完整的函数路径,没有像 Python 中那样的相对路径。

但是,如果您真的希望每个文件有多个函数,最好的办法可能是创建一个返回 struct 的顶级函数。的 function handles对于文件中的其他函数,然后从该结构访问函数句柄。由于 MATLAB 不需要将 () 用于不需要任何输入的函数,因此从表面上看,这与 python 模块的行为类似(尽管我不知道它将如何影响性能) .

我知道这很让人头疼。 mathworks 没有理由不允许像目前对文件夹那样将文件用作包,例如将 + 放在文件名的开头。但他们没有。

关于matlab - 如何安排matlab代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33301205/

相关文章:

debugging - 有什么方法可以使用 Matlab Debugger 调试已编译的组件吗?

matlab - 将所有的 1 连续相加?

arrays - 在 MATLAB 中,对于二维数组,如何获取首先迭代另一个维度的索引

matlab - 使用 libsvm 进行交叉验证后的再训练

image - 如何在 MATLAB GUI 中添加图像?

python - 使用OpenCV与Matlab评估校准结果

matlab - 抑制Matlab的启动信息

matlab - 从没有循环的3D矩阵中过滤元素

matlab - Interpn - 改变输出

MatLab 单元格日期格式转换