matlab - 使用 Globals 而不是在 Matlab 中传递大型数组

标签 matlab global-variables parameter-passing pass-by-reference large-data

我正在使用大型数组(每个大约 70 MB)并且担心将它们传递给函数。我的理解是 Matlab 使用按值传递函数参数,为被调用函数制作本地副本。

作为一种肮脏的解决方法,我一直将大型数组声明为全局数组,并在计算完成时手动取消分配它们。

我的问题: 有没有办法在 Matlab 中使用指针?这就是我在 C/C++ 中的做法。如果没有,是否还有其他更有效的内存方法?我读到过全局变量通常不是一个好主意。

最佳答案

@mutzmatron 在评论中回答了我的问题,所以这是一个转贴:

实际上 Matlab 是通过引用传递的,除非它决定它需要通过值传递......请看这里的解释: http://www.mathworks.com/matlabcentral/answers/...

关于matlab - 使用 Globals 而不是在 Matlab 中传递大型数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11677996/

相关文章:

arrays - 在一行和 1's and 0' s 的矩阵之间进行 xor 运算的更快方法?

python - 为什么我无法在类的 __init__ 中执行简单的操作?

Java/Android - 将对象传递给打开资源的方法

mysql - 使用 stddev 优化外汇数据历史记录的子查询

Matlab 绘图 : remove connecting line between disconnected regions?

matlab - 为什么 Scipy 和 MATLAB 的主成分值不一致?

matlab - MATLAB 脚本是否可能根据其正在执行的操作系统而表现不同?

javascript - Console.log不输出json

javascript - 我应该在哪里存储 underscore.js 迭代器?

mysql - 获取错误到 : MySQL stored procedure with parameters in Access frontend via VBA