MATLAB中load函数的用法

转载自https://ww2.mathworks.cn/help/matlab/ref/load.html

load

将文件变量加载到工作区中

全页折叠

语法

load(filename)
load(filename,variables)
load(filename,'-ascii')
load(filename,'-mat')
load(filename,'-mat',variables)
S = load(___)
load filename

说明

示例

load(filename) 从 filename 加载数据。

  • 如果 filename 是 MAT 文件,load(filename) 会将 MAT 文件中的变量加载到 MATLAB® 工作区。

  • 如果 filename 是 ASCII 文件,load(filename) 会创建一个包含该文件数据的双精度数组。

示例

load(filename,variables) 加载 MAT 文件 filename 中的指定变量。

示例

load(filename,'-ascii') 将 filename 视为 ASCII 文件,而不管文件扩展名如何。

load(filename,'-mat') 将 filename 视为 MAT 文件,而不管文件扩展名如何。

load(filename,'-mat',variables) 加载 filename 中的指定变量。

示例

S = load(___) 使用前面语法组中的任意输入参数将数据加载到 S 中。

  • 如果 filename 是 MAT 文件,则 S 是结构数组。

  • 如果 filename 是 ASCII 文件,则 S 是包含该文件数据的双精度数组。

示例

load filename 是命令形式的语法。命令形式需要的特殊字符更少。您无需键入括号或者将输入括在单引号或双引号内。使用空格(而不是逗号)分隔各个输入项。

例如,要加载名为 durer.mat 的文件,以下语句是等效的:

load durer.mat      % command form
load('durer.mat')   % function form

您可以包括先前语法中介绍的任何输入。例如,要加载名为 X 的变量:

load durer.mat X       % command form
load('durer.mat','X')  % function form

请勿在任何输入项(例如 filename)为变量时使用命令格式。

示例

全部折叠

加载 MAT 文件中的所有变量

加载示例 MAT 文件 gong.mat 中的所有变量。请在加载操作前后检查工作区的内容。

disp('Contents of workspace before loading file:')
whos

disp('Contents of gong.mat:')
whos('-file','gong.mat')

load('gong.mat')
disp('Contents of workspace after loading file:')
whos

您也可以使用命令语法加载变量。清除以前加载的变量,并重复 load 操作。

clear y Fs

load gong.mat

加载 MAT 文件中的特定变量

仅加载示例文件 handel.mat 中的变量 y。如果工作区已包含变量 yload 操作将使用文件中的数据来覆盖它。

load('handel.mat','y')

您也可以使用命令语法加载变量 y

load handel.mat y

使用正则表达式加载特定变量

查看示例文件 accidents.mat 的内容。

whos -file accidents.mat
 Name              Size            Bytes  Class     Attributes

  datasources       3x1              2724  cell                
  hwycols           1x1                 8  double              
  hwydata          51x17             6936  double              
  hwyheaders        1x17             2758  cell                
  hwyidx           51x1               408  double              
  hwyrows           1x1                 8  double              
  statelabel       51x1              6596  cell                
  ushwydata         1x17              136  double              
  uslabel           1x1               138  cell                

使用函数语法加载文件中所有名称不以 'hwy' 开头的变量。

load('accidents.mat', '-regexp', '^(?!hwy)...')

或者使用命令语法来加载相同变量。

load accidents.mat -regexp '^(?!hwy)...'

将变量列表加载到结构体数组中

文件 durer.mat 包含变量 Xcaption 和 map。创建要加载的变量名称元胞数组。

filename = 'durer.mat';
myVars = {'X','caption'};
S = load(filename,myVars{:})
S = struct with fields:
          X: [648x509 double]
    caption: [2x28 char]

仅将变量 X 和 caption 加载到结构体数组 S 中。

加载 ASCII 文件

为多个 4 列矩阵创建一个 ASCII 文件,并将数据重新加载回双精度数组之中。

a = magic(4);
b = ones(2, 4) * -5.7;
c = [8 6 4 2];
save -ascii mydata.dat a b c
clear a b c

load mydata.dat -ascii

load 创建名为 mydata 的 double 类型的数组。

查看 mydata 的相关信息。

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

输入参数

全部折叠

filename - 文件名
matlab.mat (默认) | 字符向量 | 字符串

文件的名称,指定为字符向量或字符串。如果未指定 filenameload 函数将搜索名为 matlab.mat 的文件。

filename 可包含文件扩展名以及完整或部分路径。如果 filename 没有扩展名(即句点后没有任何文本),load 会搜索名为 filename.mat 的文件。如果 filename 的扩展名不为.matload 函数会将该文件视为 ASCII 数据。

使用命令形式的 load 时,不需要将输入括在单引号或双引号内。但如果 filename 包含空格,则您必须将参数括在单引号中。例如,load 'filename withspace.mat'

ASCII 文件必须包含数字的矩形表格,并且每行中的元素数目相等。文件分隔符(每行中的元素之间的字符)可以为空格、逗号、分号或制表符。文件可包含 MATLAB 注释(以百分比符号% 开头的行)。

示例: 'myFile.mat'

数据类型: char | string

variables - 要加载的变量的名称
字符向量 | 字符串

要加载的变量的名称,指定为一个或多个字符向量或字符串。使用命令形式的 load 时,不需要将输入括在单引号或双引号内。variables 可以采用下列形式之一。

variables 输入的格式 要加载的变量
var1,...,varN 加载列出的变量,指定为单个字符向量或字符串。
可使用 '*' 通配符来匹配模式。例如,load('filename.mat','A*') 或 load filename.mat A* 会加载文件中所有名称以 A 开头的变量。
'-regexp',expr1,...,exprN 只加载名称与正则表达式匹配的变量或字段,指定为字符向量或字符串。例如,load('filename.mat','-regexp','^Mon','^Tues') 或 load filename.mat -regexp ^Mon ^Tues 仅加载文件中名称以 Mon 或 Tues 开头的变量。

数据类型: char | string

输出参数

全部折叠

S - 已加载的变量或数据
结构体数组 | m×n 数组

已加载的变量,以结构体数组形式返回(如果 filename 是 MAT 文件)。

已加载的数据,以 double 类型的 m×n 数组形式返回(如果 filename 是 ASCII 文件)。m 等于文件行数,n 等于每一行的值数。

算法

如果未指定 load 函数的输出,MATLAB 会创建一个根据加载的文件命名的变量(删除任何文件扩展名)。例如,以下命令

load mydata.dat

将数据读取到名为 mydata 的变量中。

要创建变量名称,load 会在 filename 中的任何前导下划线或数字前面添加一个 X,并使用下划线取代任何其他非字母字符。例如,以下命令

load 10-May-data.dat

创建一个名为 X10_May_data 的变量。

你可能感兴趣的:(matlab,matlab,load)