Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow ВВЕДЕНИЕ В АНАЛИЗ ДАННЫХ
Посмотреть оригинал

Загрузка и запоминание файлов

Числовые данные следует организовывать как таблицу объект-признак: строки соответствуют объектам (наблюдениям), причем элементы строки разделены либо запятыми, либо пробелами; столбцы — признакам (так организованы файлы studn.dat и studn.var). Такую структуру данных, все компоненты которой количественные, называют двумерным массивом [2D array], что соответствует математическому понятию матрицы. Одномерные массивы соответствуют отдельным объектам или признакам. Массив — основной формат количественных данных в МатЛабе. Он работает по принципу шахматной доски. Например, arr(i,k) обозначает элемент массива с именем агг, который находится на пересечении /-й строки и k-ro столбца. Файлы Экселя имеют подобную структуру, плюс к тому в Экселе разрешается размещать буквенные выражения. В МатЛабе же предпочтительнее иметь дело с файлами, содержащими однородную информацию: либо числа, либо буквы, но не то и другое. Определяющая особенность числовых массивов состоит в том, что каждая строка должна иметь одно и то же количество чисел.

Чтобы загрузить такой файл из памяти в рабочую область МатЛаба, можно использовать команды из пакета “iofun”. Простейшая — операция “load” для загрузки числовых файлов, организованных как описано выше, в рабочую область:

» alт=load(T)atairis.dat,); % файл iris.dat из директории Data загружается в переменную агг % символ «%» используется для обозначения комментариев, читаемых людьми, но пропускаемых % компьютером:

% точка с запятой «;» отделяет одну инструкцию компьютеру от другой;

% если точка с запятой пропущена в конце строки, то результат распечатывается на экране;

% что позволяет легко организовать проверку вычислений;

% iris.dat это файл 100x4 таблицы данных о 150 цветках ириса, охарактеризованных 4 признаками; % Все названия признаков сохранены в отдельном файле iris.var директории Data.

Одномерный массив можно создать, например, командой

» а=[3 4 7 0];

которая помещает а в 4 х 1 массив, который можно перевести в 1 х 4 массив с помощью операции транспозиции

» ь=а'

Поскольку здесь нет точки с запятой в конце, результат появится на экране:

  • 3
  • 4 7 0

Чтобы извлечь его вторую компоненту, используется команда » с=Ь(2)

Аналогично, команда » d=arr(7,8)

помещает значение из седьмой строки и восьмого столбца в переменную d рабочей области.

Для сохранения числового массива в рабочей области можно использовать команду “save”, которая допускает несколько разных форматов запоминания, включая внутренний формат .mat МатЛаба (см. выдачу команды “help save”). Чтобы сохранить массив X в файл Resultgood.res в формате ASCII (это стандартный формат, покрывающий символику стандартной компьютерной клавиатуры), можно использовать команду

» save Resultgood.res X -ascii

Другой популярный формат данных в МатЛабе — это «строки» [strings], выделяемые знаком ‘ Этот формат используется для представления и хранения имен и названий. Поскольку названия могут иметь разную длину, их не удается сохранять в массивах. Поэтому используется другой формат данных, поддерживаемый в МатЛабе, «ячейка» (cell). Этот формат представляется фигурными скобками (для массивов используются круглые скобки): arr(i) — i-и элемент массива агг, тогда как brr{i} — i-и элемент ячейки brr, причем этот элемент может быть и числом, и строкой, и матрицей, и даже другой ячейкой. МатЛаб поддерживает и другие структуры данных, включая изображения и звук, но это выходит за рамки данного текста.

Таблица П. 1

Таблица с данными о четырех признаках пяти студентов в Экселе: Возраст (число лет), Число детей, Профессия [Информационные технологии ИТ, Деловая администрация ДА, Прочее (ПР), or Other AN], и Оценка экзаменационной работы (в шкале 0—100%)

Студент

Возраст

Число детей

Профессия

Оценка

Джон

35

0

ИТ

94

Пегги

28

2

ДА

67

Фред

27

1

ДА

85

Крис

28

0

ПР

48

Лиз

25

0

ИТ

87

МатЛаб работает с внешними данными в популярных форматах без перевода их в форму числовой таблицы. Например, для ввода и вывода Excel файлов — это отмечается расширением .xls, в МатЛабе есть команды xlsread и xlswrite. Хотя это и кажется просто, но пользователю не следует ожидать очень уж удобного сопряжения Excel и МатЛаба. Например, файл в Excel, воспроизведенный в табл. 11.1, с помощью команды xlsread будет переписан в три структуры данных — одна для числовой части, вторая — для текста, а третья — для всего файла. Точнее, команда

» [nn,tt,rr]=xlsread(‘ Datastudent.xls’);

% nn массив числовых значений, tt — ячейка текста,

% гг — ячейка, покрывающая все данные из файла

произведет числовой массив пп:

  • 0 NaN 94 2 NaN 67
  • 1 NaN 85 ,
  • 0 NaN 48 0 NaN 87
  • 5:

Число детей’ ‘Профессия’ ‘Оценка’

О О

о ‘ИТ’

" ‘ДА’

" ‘ДА’

« ‘ИР’ °

° ‘ИТ’

  • 35
  • 28

пп = 27 28 25

а также ячейку текста tt размера 8 ‘Признак’ ‘Возраст’

<; о

tt = ‘Джон’

‘Пегги’

‘Фред’

‘Крис’

‘Лиз’

Л также ячейку 8x5, гг:

‘Признак’ ‘Возраст’ ‘Число детей’ ‘Профессия’ ‘Оценка’

[NaN] [NaN] [NaN] [NaN] [NaN]

rr = ‘Джон’ [35] [0] ‘ИТ’ [94]

‘Пегги’ [28] [2] ‘ДА’ [67]

‘Фред’ [271 [1] ‘ДА’ [851

‘Крис’ [28] [0] ‘ПР’ [48]

‘Лиз’ [25] [0] ‘ИТ’ [87]

Символ NaN используется в МатЛабе для обозначения неопределенного числа, возникающего при делении чисел на нуль.

Как видно, эти таблицы не такие уж и удобные для обработки из-за многочисленных вхождений символа NaN и кавычек.

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 

Популярные страницы