您的位置:首页 > 编程语言 > MATLAB

MATLAB中load函数的用法

2018-05-06 11:03 369 查看

转载自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
,[code]variables
)[/code] 加载 MAT 文件 
filename
 中的指定变量。

示例

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

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

load(
filename
,'-mat',[code]variables
)[/code] 加载 
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
。如果工作区已包含变量 
y
load
 操作将使用文件中的数据来覆盖它。

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)...'

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

Try This Example 

文件 

durer.mat
 包含变量 
X
caption
 和 
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 文件

Try This Example 

为多个 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
 (默认) | 字符向量 | 字符串

文件的名称,指定为字符向量或字符串。如果未指定 

filename
load
 函数将搜索名为 
matlab.mat
 的文件。
filename
 可包含文件扩展名以及完整或部分路径。如果 
filename
 没有扩展名(即句点后没有任何文本),
load
 会搜索名为 
filename.mat
 的文件。如果 
filename
 的扩展名不为
.mat
load
 函数会将该文件视为 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
 的变量。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: