сохранить такие типы данных, как массивы записей, ячеек, многомерные массивы или объекты, нельзя.
Когда содержимое рабочей области сохраняется в ASCIl-формате, то рекомендуется единовременно сохранять только одну переменную. Если сохраняется более одной переменной, то система MATLAB создаст файл ASCII-файл, который нельзя будет в дальнейшем загрузить в MATLAB.
Загрузка рабочей области. Команда load позволяет загрузить МАТфайл, который был ранее сохранен с помощью команды save. При загрузке МАТ-файла новые значения одноименных переменных замещают старые.
Если МАТ-файл имеет расширение, отличающееся от -mat, то необходимо использовать флаг -mat; в противном случае MATLAB будет считать форматом файла ASCII-формат.
Загрузка файлов данных в ASCIl-формате. Команда load позволяет выполнять импорт файлов данных в ASCIl-формате; она преобразовывает содержимое файла в переменную с именем файла, только без расширения.
Например, применение команды load tides.dat создает в рабочей области системы MATLAB переменную с именем tides. Если исходный файл в ASCIIформате имеет m строк с n значениями в каждой строке, то результатом будет массив чисел размера m n.
clear |
Освобождение области памяти |
Синтаксис:
clear удаляет все переменные из рабочей области;
clear Х
удаляет переменную или функцию с именем Х из рабочей области. Если Х глобальная переменная, то команда удаляет переменную Х из текущей рабочей области, но оставляет ее доступной для любой функции, где эта переменная объявлена глобальной;
clear function
удаляет из рабочей области все используемые М-функции;
clear all удаляет переменные, функции и группы МЕХ-файлов; clear global удаляет все глобальные переменные.
раск |
Дефрагментация рабочей области памяти |
|
|
Команда pack выполняет сборку ―мусора‖, то есть сохраняет все переменные на диске, очищает память и затем вновь загружает переменные с диска. Необходимость использования этой команды возникает при продолжительной работе в системе, когда в результате фрагментации памяти затрудняется работа с переменными большой длины.
clc |
Очистка командного окна |
|
|
Команда clc очищает командное окно и возвращает курсор в левый верхний угол экрана.
1.3. Импорт и экспорт данных
Существует много приемов для перемещения данных между системой MATLAB и другими приложениями. В большинстве случаев при работе с данными системы MATLAB можно просто использовать команды чтения и записи файлов. Для более сложных наборов данных можно создать собственные программы на языке С.
Импортирование данных в систему MATLAB. Существует несколько способов для передачи данных из других приложений в систему MATLAB. Выбор способа зависит от объема и формата данных.
Ввод данных в виде списка. Если количество данных невелико, то их можно просто напечатал», помещая в квадратные скобки. Этот метод неудобен при большом количестве данных, поскольку их невозможно редактировать. Формирование данных в М-файле. Используя текстовый редактор, можно сформировать М-файл, в котором данные представлены как список элементов. По существу, это тот же первый способ, но он имеет то преимущество, что позволяет с помощью редактора корректировать данные. Достаточно после исправления перезапустить М-файл, чтобы ввести исправленные данные.
Загрузка данных из ASCII-файла. ASCII-файлы накапливают данные в 7-разрядном коде без контроля по четности. Каждая строка содержит одинаковое количество значений, разделенных пробелами, и завершается символом возврата каретки. Эти файлы можно редактировать, используя обычный текстовый редактор. Их можно читать непосредственно в системе MATLAB, используя функцию load. При этом создается переменная, имя которой совпадает с именем файла. Можно воспользоваться функций dimread, чтобы указать другой тип разделителя.
Чтение данных с использованием функций ввода/вывода.
Применение функций ввода/вывода, а также функций fopen и fread, полезно при загрузке файлов данных из других приложений, использующих специальные форматы данных.
Использование специальных средств для чтения файлов. Для чтения файлов, записанных в специальных форматах, и системе MATLAB имеются следующие специализированные функции:
Функция |
Назначение |
|
|
|
|
dimread |
Чтение ASCII-файлов |
whiread |
Чтение электронных таблиц в формате WK1 |
imread |
Чтение изображения из графического файла |
wavread |
Чтение звукового файла с расширением .wav |
Экспортирование данных из системы MАТLАВ. Существует несколько способов для передачи данных из системы MATLAB в другие приложения.
Использование команды diary. При работе с массивами небольших размеров можно применять команду diary, чтобы создать файл дневника, который включает команды MATLAB, используемые в течение сеанса работы, а также позволяет просмотреть на экране необходимые данные. Записи дневника могут быть полезны для вложения в документы или отчеты. В дальнейшем можно применять текстовый редактор для редактирования дневника.
Сохранение данных в формате ASCII. Команда save с опцией -ascii
позволяет записать данные в этом формате, причем, используя команду dimwrite, можно задать другой тип разделителя.
Использование специальных средств для записи файлов. Для записи файлов в специальных форматах, определяемых приложениями, в системе MATLAB имеются следующие специализированные функции:
Функция |
Назначение |
|
|
|
|
dimwrile |
Запись данных в ASCII-файл |
wk1write |
Запись данных в электронную таблицу а формате WK1 |
imwrite |
Запись изображения в графический файл |
auwrite |
Запись данных в звуковой файл с расширением .au (формат фирмы |
|
SUN Microsystems) |
wavwrite |
Запись данных в звуковой файл с расширением .wav (формат фирмы |
|
Microsoft) |
1.4. Операторы, константы, служебные переменные
Язык MATLAB – это язык операторов. Операторы, вводимые пользователем в командной строке, исполняются системой MATLAB в режиме интерпретации. Операторы имеют две формы записи:
с явным присваиванием: переменная = выражение;
с неявным присваиванием: выражение.
Операторы состоят из специальных символов, имен функций и
переменных, а также числовых констант и могут оканчиваться запятой или точкой с запятой, которые управляют выводом результата на экран.
Для изменения стандартного порядка выполнения операций используются круглые скобки (квадратные скобки используются для задания элементов массива переменных).
Результат вычисления выражения присваивается заданной переменной в левой части от знака равенства для дальнейшего использования и, если после выражения не стоит точка с запятой, выводится на экран.
При записи нескольких операторов в одной строке следует использовать разделители.
При использовании операторов с неявным присваиванием система MATLAB автоматически создает переменную с именем ans и присваивает ей значение результата. Переменная ans сохраняет значение результата выполнения только последнего оператора с неявным присваиванием.
Длина буфера командной строки ограничена 256 символами. Если оператор настолько сложен, что полностью не помещается на одной строке, то следует ввести несколько точек (не менее двух), нажать клавишу ENTER и продолжить ввод оператора в следующей строке.
Вычисления в системе MATLAB ведутся в поле вещественных и комплексных чисел с двойной точностью.
Операторы системы MATLAB делятся на 3 категории:
арифметические операторы - позволяют конструировать арифметические выражения и выполнять числовые вычисления;
операторы отношения - позволяют сравнивать числовые операнды;
логические операторы – позволяют строить логические выражения. Логические операторы имеют самый низкий приоритет относительно
операторов отношения и арифметических операторов.
+ - * / \ ^ ‘ Арифметические операторы
При работе с массивом чисел установлены следующие уровни приоритета среди арифметических операций:
уровень 1: Поэлементное транспонирование (.’), поэлементное возведение в степень (.^), эрмитово сопряженное транспонирование матрицы (‘), возведение матрицы в степень (^);
уровень 2: Унарное сложение (+), унарное вычитание (-); уровень 3: Умножение массивов (.*), правое деление (./), левое деление
массивов (.\), умножение матриц (*), решение систем линейных уравнений - операция (/), операция (\);
уровень 4: сложение (+), вычитание (-); уровень 5: оператор формирования массивов (:).
Внутри каждого уровня операторы имеют равный приоритет и вычисляются в порядке следования слева направо. Заданный по умолчанию порядок следования может быть изменен с помощью круглых скобок.
Арифметические операторы системы MATLAB работают, как правило, с массивами одинаковых размеров. Для векторов и прямоугольных массивов оба операнда должны быть одинакового размера, за исключением единственного случая, когда один из них - скаляр. Если один из операндов скалярный, а другой нет. в системе MATLAB принято, что скаляр расширяется до размеров второго операнда и заданная операция применяется к каждому элементу. Такая операция называется расширением скаляра.
< <= > >= ~= = = |
Операторы отношения |
В системе MATLAB определено 6 следующих операторов отношения:
<меньше;
<= меньше иди равно;
>больше;
>= больше или равно; = = равно тождественно; ~= не равно.
Операторы отношения выполняют поэлементное сравнение двух массивов равных размерностей. Для векторов и прямоугольных массивов оба операнда должны быть одинакового размера, за исключением случая, когда один из них скаляр. В этом случае MATLAB сравнивает скаляр с .каждым элементом другого операнда. Позиции, где это соотношение истинно, получают значение 1, где ложно - 0.
Операторы отношения, как правило, применяются для изменения последовательности выполнения операторов программы. Поэтому они чаще всего используются в теле операторов if, for, while, switch. Операторы отношения всегда выполняются поэлементно.
Операции сравнения <, <=, >, >= используют для сравнения только действительной части комплексных чисел; операции = =, ~= осуществляют сравнение как действительных, так и мнимых частей.
& | ~ |
Логические операции |
В состав логических операторов системы MATLAB входят следующие операторы:
&И;
| ИЛИ;
~НЕ.
Логические операторы реализуют поэлементное сравнение массивов одинаковых размерностей. Для векторов и прямоугольных массивов оба операнда должны быть одинакового размера, за исключением случая, когда один из них скаляр. В последнем случае MATLAB сравнивает скаляр с каждым