如何构造MATLAB代码与其他用户共享

如何构造MATLAB代码与其他用户共享,matlab,packages,Matlab,Packages,我希望能够跨机器共享我的MATLAB代码,最好只安装一个包,或者克隆git repo并安装依赖项 现在,我的项目结构如下: Research ├── Helpers └── Scripts └── private 其中,Helpers包含帮助打印等的非项目特定功能。脚本包含我用于打印数据、运行模拟等的所有主要脚本。private包含许多不同文件中的所有实际代码,没有任何实际结构 此外,我的启动文件夹是Scripts,它还包含startup.m,它加载我需要的所有外部软件包,这些软件包位

我希望能够跨机器共享我的MATLAB代码,最好只安装一个包,或者克隆git repo并安装依赖项

现在,我的项目结构如下:

Research
├── Helpers
└── Scripts
    └── private
其中,
Helpers
包含帮助打印等的非项目特定功能。
脚本
包含我用于打印数据、运行模拟等的所有主要脚本。
private
包含许多不同文件中的所有实际代码,没有任何实际结构

此外,我的启动文件夹是
Scripts
,它还包含
startup.m
,它加载我需要的所有外部软件包,这些软件包位于另一个文件夹中,即
~/Documents/MATLAB/
,MATLAB为此创建的标准文件夹。
Research
中的所有内容都在版本控制之下,而
~/Documents/MATLAB/
则不是

在谷歌搜索之后,我发现了以下链接:

包文件夹始终以+字符开头。比如说,

+mypack
+mypack/pkfcn.m  % a package function
+mypack/@myClass % class folder in a package
这似乎是正确的做法。但是我应该把外部包(本质上是我自己包的依赖项)放在哪里呢?我只是把它们复制成子包吗


另一个增加的复杂性是,我使用一个我也想共享的数据库。它包含的模拟数据需要几天才能累积。如何跨计算机共享此数据库?

对于数据库部分,您能否将此数据库存储为
.mat
文件?否,因为我需要执行非常复杂的查询。所以我选择了sqlite3数据库。好的,这是一个外部数据库。但是你可以把这个外部数据库放在服务器上,然后用sqlite函数启动你的查询?我能不能让它处于版本控制之下,并确保在每次模拟之前“拉动”每台机器?将二进制数据库存储在git存储库中并不是一个好主意。对于数据库部分,您不能将此数据库存储为
.mat
文件吗?不能,因为我需要执行非常复杂的查询。所以我选择了sqlite3数据库。好的,这是一个外部数据库。但是,您可以将这个外部数据库放在服务器上,并使用sqlite函数启动查询?我是否可以将其置于版本控制之下,并确保在每次模拟之前“拉动”每台机器?将二进制数据库存储在git存储库中并不是一个好主意。