загрузка

Загрузите переменные из файла в рабочую область

Синтаксис

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-файла в качестве примера, 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

Загрузите только переменный y из файла в качестве примера handel.mat. Если рабочая область уже содержит переменный 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)...'

Файл, 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-файл из нескольких матриц с 4 столбцами и загрузите данные назад в с двойной точностью массив.

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 создает массив типа double по имени mydata.

Просмотрите информацию о mydata.

whos mydata
  Name        Size            Bytes  Class     Attributes

  mydata      7x4               224  double              

Входные параметры

свернуть все

Имя файла, заданного как вектор символа или скаляр строки. Если вы не задаете filename, функция load ищет файл с именем matlab.mat.

filename может включать расширение файла и весь или частичный путь. Если filename не имеет никакого расширения (то есть, никакой текст после периода), load ищет файл с именем filename.mat. Если filename имеет расширение кроме .mat, функция load обрабатывает файл как данные ASCII.

При использовании формы команды load является ненужным заключить входной параметр в одинарные кавычки. Однако, если filename содержит пробел, необходимо заключить аргумент в одинарные кавычки. Например, load 'filename withspace.mat'.

Примечание

Не используйте форму команды, когда filename будет строкой.

ASCII-файлы должны содержать прямоугольную таблицу чисел с равным количеством элементов в каждой строке. Разделитель файла (символ между элементами в каждой строке) может быть пробелом, запятой, точкой с запятой или символом табуляции. Файл может содержать комментарии MATLAB (строки, которые начинаются со знака процента, %).

Пример: 'myFile.mat'

Имена переменных, чтобы загрузить, заданный как один или несколько вектор символа или представить скаляр в виде строки. При использовании формы команды load вы не должны заключать входной параметр в одинарные кавычки.

Примечание

Не используйте форму команды, когда variables будет строкой.

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.

Выходные аргументы

свернуть все

Загруженные переменные, возвращенные как массив структур, если filename является MAT-файл.

Загруженные данные, возвращенные как m-by-n массив типа double, если filename является ASCII-файл. m равен количеству строк в файле, и n равен количеству значений на строке.

Алгоритмы

Если вы не задаете вывод для функции load, MATLAB создает переменную, названную в честь загруженного файла (минус любое расширение файла). Например, команда

load mydata.dat

считывает данные в переменную под названием mydata.

Чтобы создать имя переменной, load предшествует любым начальным символам подчеркивания или цифрам в filename с X и заменяет любые другие неалфавитные символы на символы нижнего подчеркивания. Например, команда

load 10-May-data.dat

создает переменную под названием X10_May_data.

Расширенные возможности

Представлено до R2006a

Была ли эта тема полезной?