MATLAB的save用法
save
将工作区变量保存到文件中
语法
save(filename)
save(filename,variables)
save(filename,variables,fmt)
save(filename,variables,version)
save(filename,variables,version,'-nocompression')
save(filename,variables,'-append')
save(filename,variables,'-append','-nocompression')
save filename
说明
save( 将当前工作区中的所有变量保存在 MATLAB® 格式的二进制文件(MAT 文件)filename)filename中。如果 filename 已存在,save 会覆盖该文件。
save( 仅保存 filename,variables)variables 指定的结构体数组的变量或字段。
save( 以 filename,variables,fmt)fmt 指定的文件格式保存。variables 参数为可选参数。如果您不指定 variables,save 函数将保存工作区中的所有变量。
save( 保存为 filename,variables,version)version 指定的 MAT 文件版本。variables 参数为可选参数。
save( 将变量保存到 MAT 文件,而不压缩。filename,variables,version,'-nocompression')'-nocompression' 标志仅支持 7.3 版的 MAT 文件。因此,您必须将 version 指定为 '-v7.3'。variables参数为可选参数。
save( 将新变量添加到一个现有文件中。如果 MAT 文件中已经存在变量,则 filename,variables,'-append')save 会使用工作区中的值覆盖它。
对于 ASCII 文件,'-append' 会将数据添加到文件末尾。
要追加到版本 6 的 MAT 文件,您还必须包括 '-v6' 作为输入参数。
save( 将新变量添加到一个现有文件中,而不进行压缩。现有文件必须是 7.3 版的 MAT 文件。filename,variables,'-append','-nocompression')
save 是命令形式的语法。命令形式需要的特殊字符更少。您无需键入括号或者将输入括在单引号或双引号内。使用空格(而不是逗号)分隔各个输入项。filename
例如,要保存名为 test.mat 的文件,这些语句是等效的:
save test.mat % command form
save('test.mat') % function form
您可以包括先前语法中介绍的任何输入。例如,要保存名为 X 的变量:
save test.mat X % command form
save('test.mat','X') % function form
请勿在任何输入项(例 如 filename)为变量时使用命令格式。
输入参数
filename - 文件名字
'matlab.mat' (默认) | 字符向量 | 字符串
文件的名称,指定为字符向量或字符串。如果您未指定 filename,save 函数保存为名为 matlab.mat 的文件。
如果 filename 没有扩展名(即没有点以及紧随其后的文本),并且没有指定 format 的值,则 MATLAB 会追加 .mat。如果 filename 不包含完整路径,MATLAB 将保存到当前文件夹中。您必须具有文件的写入权限。
使用命令形式的 save 时,不需要将输入括在单引号或双引号内。但如果 filename 包含空格,则您必须将参数括在单引号中。例如,save 'filename withspace.mat'。
示例: 'myFile.mat'
数据类型: char | string
variables - 要保持的变量名称
字符向量 | 字符串
要保存的变量的名称,指定为一个或多个字符向量或字符串。使用命令形式的 save 时,不需要将输入括在单引号或双引号内。variables 可以采用下列形式之一。
variables 输入的格式 |
要保存的变量 |
|---|---|
var1,...,varN |
保存列出的变量,指定为单个字符向量或字符串。 可使用 '*' 通配符来匹配模式。例如,save('filename.mat','A*') 会将以 A 开头的所有变量保存到文件中。 |
'-regexp', |
仅保存名称与正则表达式匹配的变量,指定为字符向量或字符串。例如,save('filename.mat','-regexp','^Mon','^Tues') 仅将以 Mon 或 Tues 开头的变量保存到文件中。 |
'-struct', |
将 structName 指定的标量结构体的字段作为单个变量存储在文件中。例如,save('filename.mat','-struct','S') 保存标量结构体 S。 |
'-struct', |
将指定标量结构体的指定字段作为单个变量存储在文件中。例如,save('filename.mat,'-struct','S','a','b') 保存字段 S.a 和 S.b。 |
'-struct', |
仅存储名称与正则表达式匹配的字段,指定为字符向量或字符串。 |
数据类型: char | string
fmt - 文件格式
'-mat' (默认) | '-ascii' | '-ascii','-tabs' | '-ascii','-double' | '-ascii','-double','-tabs'
文件格式,指定为下列值之一。使用命令形式的 save 时,您无需将输入括在单引号或双引号中,例如 save myFile.txt -ascii -tabs。
fmt 的值 |
文件格式 |
|---|---|
'-mat' |
二进制的 MAT 文件格式。 |
'-ascii' |
具有 8 位精度的文本格式。 |
'-ascii','-tabs' |
具有 8 位精度的以制表符分隔的文本格式。 |
'-ascii','-double' |
具有 16 位精度的文本格式。 |
'-ascii','-double','-tabs' |
具有 16 位精度的以制表符分隔的文本格式。 |
对于 MAT 文件,如果数据保存在一台计算机上,然后在另一台计算机上加载,则会根据不同计算机上的浮点格式在最大程度上保留精度和范围。
使用其中一种文本格式将 MATLAB 数值保存为文本文件。在这种情况下:
-
每个变量都必须是二维
double数组。 -
输出项仅包含复数的实部。
-
MATLAB 将每个变量的数据按顺序写入到文件中。如果您计划使用
load函数读取该文件,所有变量都必须具有相同的列数。load函数从文件中创建单个变量。
如果您指定一种文本格式且任一变量为二维字符数组,则 MATLAB 将字符转换为其对应的内部 ASCII 代码。例如,'abc' 在文本文件中显示为:
9.7000000e+001 9.8000000e+001 9.9000000e+001
数据类型: char | string
version - MAT文件版本
'-v7.3' | '-v7' | '-v6' | '-v4'
MAT 文件版本,指定为下列值之一。使用命令形式的 save 时,您无需将输入括在单引号或双引号中。
version 的值 |
加载到的 MATLAB 版本 | 支持功能 | 压缩 | 每个变量大小的最大值 |
|---|---|---|---|---|
'-v7.3' |
7.3 (R2006b) 或更高版本 |
保存并加载部分变量,以及版本 7 的所有功能。版本 7.3 还支持使用 |
是(默认值) | ≥ 2 GB(64 位计算机) |
'-v7' |
7.0 (R14) 或更高版本 |
Unicode® 字符编码。通过编码,可以在使用不同默认字符编码方案的系统之间共享文件,还可以使用版本 6 的所有功能。 |
是 | 每变量 2^31 字节 |
'-v6' |
5 (R8) 或更高版本 |
N 维数组、元胞数组、结构体数组、大于 19 个字符的变量名称,以及版本 4 的所有功能。 |
否 | 每变量 2^31 字节 |
'-v4' |
全部 |
二维 |
否 | 每数组 100,000,000 个元素,每变量 2^31 字节 |
如果任何数据项要求了某些功能,而指定的版本不支持这些功能,MATLAB 将不保存这些项并发出警告。您指定的 MATLAB 软件版本不能高于当前使用的版本。
要查看或设置 MAT 文件的默认版本,请在“常规”预设中选择 MAT 文件保存格式选项。
提示
-
使用
save函数保存图形对象可能导致文件较大,因为该文件包含重新生成对象需要的所有信息。 -
请避免使用
save函数保存图窗。改用savefig函数。在 R2014b 或更高版本中使用save保存图窗将使所得的 MAT 文件在早期 MATLAB 版本中无法访问。如果您使用save保存图窗,则函数会显示一个警告消息。在使用save之前删除所有图窗。请牢记图窗可能不直接存在于您的工作区中。例如,它们可能存储在结构体中或回调函数的工作区中。
文章转载源:MATLAB文档save
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)