MATLAB.Exponenta
–Û·Ë͇ Matlab&Toolboxes

MATLAB

В.Г.Потемкин "Введение в Matlab" (v 5.3)
Глава 1. Операционая среда системы Matlab 5

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

1.3. Рабочая область

Рабочая область системы MATLAB - это область памяти, в которой размещены переменные системы. Содержимое этой области можно просмотреть из командной строки с помощью команд who и whos. Команда who выводит только имена переменных, а команда whos - информацию о размерах массивов и типе переменной.

Рассмотрим в качестве примера 5 массивов различного типа:

  • A - трехмерный массив чисел удвоенной точности;
  • B - массив разреженной структуры;
  • С - массив ячеек;
  • S - массив символов;
  • patient - массив записей.

            whos

Name Size Bytes Class
A 4x3x2 192 double array
B 4x4 212 sparse array
C 4x3x2 2400 cell array
S 4x16 128 char array
patient 1x2 840 struct array

Grand total is 194 elements using 3772 bytes

Специальное средство просмотра Workspace Browser обеспечивает представление команды whos в виде графического интерфейса. Для того чтобы открыть Workspace Browser надо либо выбрать опцию Show Workspace из меню File menu, либо воспользоваться кнопкой Workspace Browser инструментальной панели.

В результате этих операций на терминал будет выедено следующее окно (рис. 1.7)

pic107.gif (5734 bytes)

Рис. 1.7

В этом окне можно выполнить следующие операции:

  • удалить переменную, если выделить ее и нажать кнопку Delete;
  • закрыть окно с помощью кнопки Close.

Кроме того, можно изменять размеры колонок посредством перемещения их границ с помощью мыши. Можно выполнить переименование переменной, если сначала выделить ее, затем однократно щелкнуть левой клавишей мыши (заметим, что двойной щелчок никакого действия не оказывает). После короткой задержки появляется поле, в котором можно указать новое имя; и наконец, следует нажать клавишу Enter, чтобы подтвердить завершение операции.

Загрузка и сохранение рабочей области

Команды save и load позволяют в любой момент времени сохранить содержимое рабочей области или загрузить новые данные в процессе сеанса работы. С помощью этих команд можно также осуществлять экспорт и импорт ASCII-файлов.

Сохранение переменных рабочей области. Команда save позволяет сохранить содержимое рабочей области в двоичном MAT-файле,который можнов дальнейшем вызваль командой load. Команда save также доступна в качестве опции Save Workspace меню File.

Спецификация формата файла. Для того чтобы управлять форматами файлов, следует в команде save в дополнение к имени файла и списку переменных использовать следующие флаги:

Флаг Пояснение
-mat Двоичный MAT-файл (по умолчанию)
-ascii ASCII-формат (8 цифр)
-ascii -double ASCII-формат (16 цифр)
-ascii -double -tabs Формат с разделителями и метками табуляции
-v4 Формат версии MATLAB 4
-append Добавить данные к сущесвующему MAT-файлу

При использовании флага v4 можно сохранить только те данные, которые совместимы с данными, используемыми в версии MATLAB 4; это означает, что сохранить такие типы данных как массивы записей, ячеек, многомерные массивы или объекты нельзя.
Когда содержимое рабочей области сохраняется в ASCII-формате, то рекомендуется единовременно сохранять только одну переменную.Если сохраняется более одной переменной, то система MATLAB создаст файл ASCII-файл, который нельзя будет в дальнейшем загрузить в MATLAB, используя команду load.

Загрузка рабочей области. Команда load позволяет загрузить MAT-файл, который был ранее сохранен с помощью команды save. При загрузке MAT-файла новые значения одноименных переменных будут записаны взамен старых.
Если MAT-файл имеет расширение, отличающееся от .mat, то необходимо использовать флаг -mat; в противном случае MATLAB будет считать форматом файла ASCII-формат.

Загрузка файлов данных в ASCII-формате. Команда load позволяет выполнять импорт файлов данных в ASCII-формате; она преобразует содержимое файла в переменную с именем файла только без расширения.
Например, применение команды load tides.dat создает в рабочей области системы MATLAB переменную с имененм tides. Если исходный файл в ASCII-формате имеет m lines строк с n значениями в каждой строке, то результаом будет массив чисел размера m?n.

Использование имен в формате строк. Если имена файлов и переменных представляют собой строковые переменные, то можно, используя свойство дуальности команды и функции, рассматривать команды load и save как функции. В этом случае входные переменные должны следовать в том же порядке, как они следовали в командной строке.
Например, последовательность операторов

save('myfile', 'VAR1', 'VAR2')
A = 'myfile';
load(A)

это то же самое, что и последовательность команд

save myfile VAR1 VAR2
load myfile

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

Например, следующая конструкция позволяет сохранить квадраты чисел от 1 до 10 в файлах с именами data1, …, data10:

file = 'data';
for i = 1:10
j = i.^2;
save([file int2str(i)],'j');
end

Использование группового символа. Команды load и save допускают использование группового символа (*) в кaчестве замены ряда символов в шаблоне имени переменной.

Например, команда save rundate x* сохраняет все переменные, имена которых начинаются с символа x в файле с именем rundata.mat.

Точно также команда load testdata ex1*95 загружает все переменные, имена которых начинаются с символов 'ex1' и заканчиваются символами '95', независимо от того, какие символы размещены между ними.

  В оглавление книги \ К следующему разделу \ К предыдущему разделу \ Предметный указатель

 


Поиск по сайту:

Система Orphus

Яндекс.Метрика