用subsasgn调用Matlab的memmap文件

时间:2018-11-15 16:29:59

标签: matlab memory-mapped-files

我有一个大的可写Matlab的memmapfile对象,我想访问和修改它。

访问权限

如果我尝试:

mmap.Data.bit(1)

subsref(mmap.Data.bit, substruct('()', {1}))

我得到相同的值(0)。

修改

如果我尝试:

mmap.Data.bit(1) = 1

我可以非常快速地分配此值,但是如果尝试:

[~] = subsasgn(mmap.Data, substruct('.', 'bit', '()', {1}))

Matlab停止响应,永远不会结束一行。

subsasgn和mmap有什么问题?

1 个答案:

答案 0 :(得分:1)

Matlab实际上试图做的是加载文件的全部内容。

正确的行是:

 [~] = subsasgn(mmap, substruct('.', 'Data', '.', 'bit', '()', {1}))