matlab中max函数的存储效率
我有一个非常大的矩阵,几乎耗尽了可用内存,而我的脚本由于内存不足而无法执行。在某个时刻,我必须计算所述矩阵的最大值,matlab中max函数的存储效率,matlab,memory,max,Matlab,Memory,Max,我有一个非常大的矩阵,几乎耗尽了可用内存,而我的脚本由于内存不足而无法执行。在某个时刻,我必须计算所述矩阵的最大值,D。就内存而言,在max(D(:)和max(max(D))之间是否存在差异?是的,存在差异 max(D(:)) 重塑矩阵(不复制数据)并计算结果向量的最大值 max(max(D)) 计算矩阵的最大投影,生成行向量,然后计算该向量的最大值 因此,第二个选项需要第一个选项不需要的中间内存。是的,有 max(D(:)) 重塑矩阵(不复制数据)并计算结果向量的最大值 max(max(
D
。就内存而言,在max(D(:)
和max(max(D))
之间是否存在差异?是的,存在差异
max(D(:))
重塑矩阵(不复制数据)并计算结果向量的最大值
max(max(D))
计算矩阵的最大投影,生成行向量,然后计算该向量的最大值
因此,第二个选项需要第一个选项不需要的中间内存。是的,有
max(D(:))
重塑矩阵(不复制数据)并计算结果向量的最大值
max(max(D))
计算矩阵的最大投影,生成行向量,然后计算该向量的最大值
因此,第二个选项需要第一个选项不需要的中间内存。如果使用重塑,它会有所不同吗?@SardarUsama:
重塑
和压缩
从不复制数据,新数组与旧数组共享数据(延迟复制)。其他功能,如permute
必须复制数据,因为顺序会发生变化。谢谢,我不知道如果使用重塑,会不会有所不同?@SardarUsama:restrape
和squeak
从不复制数据,新数组与旧数组共享数据(惰性复制)。其他功能,如permute
必须复制数据,因为顺序发生了变化。谢谢,我不知道