具有一个具有四个非常大的矩阵的结构,这些矩阵对应于灰度图像。根据函数的输入,我想将这四个矩阵之一存储在变量中。但是,由于这些矩阵很大,因此我不想创建它们的副本。
Matlab中有什么类似于C ++中引用的概念吗?或者换句话说:是否可以有两个指向同一矩阵的变量?
回答:
Matlab对变量使用
“写入时的惰性副本” 。这意味着,如果将数组(或所有数组)传递给函数,除非您写入数组,否则它们不会重复。换句话说,您可能不需要做您想做的事。
例如,如果将图像存储在具有imgStruct字段到fourthImage字段的firstImage结构中,并且将imgStruct.fourthImage作为函数的输入传递,则即使该函数内部调用了inputImage ,该数组也不会重复。
如果您打算写入图像,则可以创建一个
句柄类来存储图像数据,该
句柄类通过引用传递(因此,如果您在函数内部修改图像,它也会在您的基本工作空间中进行修改)。
更多&回答...