matfile
访问和更改mat文件中的变量,而无需将文件加载到内存中
描述
使用MAT-file对象访问和更改mat文件中的变量,而无需将该文件加载到内存中。您可以加载或保存部分变量。使用MAT-file对象部分加载和保存变量所需的内存少于负载
而且保存
命令。
创建
描述
创建一个matObj
= matfile (文件名
)matlab.io.MatFile
对象连接到指定的mat文件文件名
.
MAT-file对象允许您直接访问和更改mat文件中的变量,而不必将变量加载到内存中。
启用或禁用对文件的写访问。指定matObj
= matfile (文件名
“可写”,isWritable
)isWritable
作为真正的
或假
.
输入参数
属性
对象的功能
大小 |
在mat文件中获取变量的数组尺寸
注意:不要打电话 |
谁 |
获取mat文件中的变量列表
|
谁 |
获取mat文件中的变量列表,具有大小和类型
|
例子
限制
通过索引访问mat文件中的部分变量时:
不支持线性索引。金宝app必须为所有维度指定索引。
不支持将复杂值赋给实数组的索引部分。金宝app
对于MAT-file中的稀疏数组,MAT-file对象:
金宝app支持通过索引读取稀疏数组的子集。
不支持通过索引向稀金宝app疏数组的子集写入(赋值)。
MAT-file对象不支持索引到:金宝app
表的变量
单元阵列中的单元
字符串数组
结构数组字段
用户定义的类
属性的函数句柄不支持求值金宝app
米
输出。例如,如果你的mat文件包含函数句柄myfunc
,语法m.myfunc ()
尝试索引到函数句柄中,但不调用该函数。当保存句柄对象时,MATLAB保存对象的副本,而不是句柄的副本。因此,在保存对象的工作空间中通过对象的句柄修改对象并不会修改保存的句柄对象。
提示
高效的部分加载和保存需要Version 7.3 mat文件。要创建Version 7.3 mat文件,请调用
保存
函数与“-v7.3”
选择。例如,转换现有的mat文件durer.mat
到版本7.3,调用:负载(“durer.mat”);保存(“mycopy_durer.mat”,“-v7.3”);
使用
结束
关键字作为索引的一部分导致MATLAB将整个变量加载到内存中。对于非常大的变量,此加载操作将导致出
的
内存
错误。而不是使用结束
,确定一个变量的范围大小
方法:sizeMyVar = size(matObj,“myvar#”)