A具有四个非常大的矩阵的结构,这些矩阵对应于灰度图像.根据我的函数输入,我想将这四个矩阵中的一个存储在一个变量中.但是,由于这些矩阵非常大,我不想创建它们的副本.
Matlab中有类似于C++中的引用概念吗?换句话说:是否有可能有两个指向同一矩阵的变量?
Jon*_*nas 19
Matlab 对变量使用"写入时的懒惰副本".这意味着如果将数组(或所有数组)传递给函数,除非您写入数组,否则它们不会被复制.换句话说,您可能不需要做您想做的事情.
例如,如果将图像存储在包含imgStruct字段的结构firstImage中fourthImage,并且您将其imgStruct.fourthImage作为输入传递给函数,则即使inputImage在函数内部调用数组,也不会复制该数组.
如果您打算写入图像,则可以创建一个句柄类来存储图像数据,该图像数据通过引用传递(因此,如果修改函数内部的图像,它也会在基础工作区中进行修改).