gpt4 book ai didi

python - MATLAB 中的 Memmap 用于大数组

转载 作者:太空狗 更新时间:2023-10-30 02:09:53 24 4
gpt4 key购买 nike

我想创建一个 memmap在 MATLAB 中。在 python 中,我可以通过以下方式做到这一点:

ut = np.memmap('my_array.mmap', dtype=np.float64, mode='w+', shape=(140000,3504))

然后我将它用作普通数组,操作系统确保我的内存永远不会溢出。如何在 MATLAB 中执行此操作?

从文档看来,它似乎希望我先在 MATLAB 中创建一些数组,然后将其写入文件并使用 memmap 读取!

Matlab 文档不够清晰:请提供一个创建大小为 (140000,15000) 的随机数组并将其乘以其他类似矩阵的示例。

最佳答案

你必须先创建一个空文件,然后使用memmapfile:

size=[140000,3504];
filesize=0;
datatype='float64';
filename='my_array.dat';
fid=fopen(filename,'w+');
max_chunk_size=1000000;
%fills an empty file
while filesize<prod(size)
to_write=min(prod(size)-filesize,max_chunk_size);
filesize=filesize+fwrite(f, zeros(to_write,1), datatype);
end
fclose(fid);
m = memmapfile(filename,'Format','double', 'Writable',true);

关于python - MATLAB 中的 Memmap 用于大数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33203467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com