关于matlab矩阵的问题请教
我最近在做人脸识别,需要提取大量样本的特征,大概需要100000*100000大小的矩阵来存储,请看下面
>>clear
tic
A=sparse(1e7,1e7);
whos A
toc
Name Size BytesClass Attributes
A 10000000x10000000 40000016double sparse
Elapsed time is 0.001623 seconds.
按理说既然能分配这么大的空间,为什么不能存这么大的矩阵,如下
>>clear
tic
A=rand(1e7,1e7);
whos A
toc
??? Error using ==> rand
Maximum variable size allowed by the program is exceeded.
请这里的各路神仙指点一二 若是我,可能用时间换取空间! lz,可以先了解一下稀疏矩阵 所谓稀疏矩阵,并不是每个点都存储,它只是按照某种方式存储非零点。而稀疏矩阵中的非零点一般很少,所以是可以存储的。你这个rand是每个点都存储,1e7*1e7这么大的空间,这个就不一定行了...
页:
[1]