A = zeros(10,10);
B = A(:,6:end)*A(:,6:end)';
一个矩阵的一部分取出作为一个子矩阵参与运算是时常发生的,比如上面的语句。那么这个构造子矩阵的临时对象A(:,6:end)是否拷贝了内存?
这显然是不能拷贝的,在MKL里面,可以直接把指针指向子矩阵的起始位置,然后设置leading dimension和原始矩阵一样即可。
Matlab不可能这么弱吧,这个肯定不会拷贝内存,否则内存哪里够用,一个复杂语句就内存爆了。但这个机制有官方说法么?我是Matlab 新手,想了解一下。
【 在 zszqzzzf 的大作中提到: 】
: 应该是程序员关心的问题,为啥要把责任推给系统?
: 把用不到的程序段给删了呀。
:
--
FROM 111.201.210.*