- 主题:Matlab里面获取一个矩阵的子矩阵是否拷贝内存?
这不是优化问题,是必须要知道的。
打个比方,一个矩阵对角化,你可以不知道这个函数内部到底消耗多少内存(lapack一般是有估计公式的),但输入的矩阵是否被拷贝必须是知道的。
否则连基本的内存消耗都估计不出来,怎么提交计算?
【 在 zszqzzzf 的大作中提到: 】
: matlab又不是弱智。一般计算已经优化到相当程度了。
: 你想了解的问题,属于编译原理。
:
--
FROM 111.201.210.*
太简单了,报错之后,改程序重新执行。
【 在 VShaka (昵称) 的大作中提到: 】
: 这不是优化问题,是必须要知道的。
: 打个比方,一个矩阵对角化,你可以不知道这个函数内部到底消耗多少内存(lapack一般是有估计公式的),但输入的矩阵是否被拷贝必须是知道的。
: 否则连基本的内存消耗都估计不出来,怎么提交计算?
: ...................
--
FROM 112.47.161.*
拷贝的,这种你做个实验不就知道了,盯着任务管理器的内存使用看,运行类似命令的
超大矩阵的时候,内存使用是上升的。
【 在 VShaka (昵称) 的大作中提到: 】
: A = zeros(10,10);
: B = A(:,6:end)*A(:,6:end)';
: 一个矩阵的一部分取出作为一个子矩阵参与运算是时常发生的,比如上面的语句。那么这个构造子矩阵的临时对象A(:,6:end)是否拷贝了内存?
: ...................
--
FROM 114.84.195.15
我的印象是matlab就这么弱。。。。
【 在 VShaka (昵称) 的大作中提到: 】
: A = zeros(10,10);
: B = A(:,6:end)*A(:,6:end)';
: 一个矩阵的一部分取出作为一个子矩阵参与运算是时常发生的,比如上面的语句。那么这个构造子矩阵的临时对象A(:,6:end)是否拷贝了内存?
: ...................
--
FROM 59.44.150.*