Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

matlab_8

.pdf
Скачиваний:
14
Добавлен:
27.05.2015
Размер:
211.45 Кб
Скачать

• strvcat(s1, s2, s3,…) выполняет вертикальное объединение строк s1, s2, s3, ... в массив символов S аналогично char(s1, s2, s3,…). Например:

>>t1=['string'];

>>t2=['concatenation'];

>>S = strvcat(t1,t2)

S = string

concatenation

strcmp(str1, str2) возвращает логическую единицу, если две сравниваемые строки str1 и str2 идентичны, и логический нуль в противном случае.

TF = strcmp(S,T) возвращает строковый массив ячеек TF, содержащий единицы для идентичных элементов массивов S и T и нули для всех остальных. Массивы S и T должны иметь одинаковый размер.

strncmp('str1', 'str2', n) возвращает логическую единицу, если две сравниваемые строки str1 и str2 содержат n первых идентичных символов, и логический нуль в противном случае.

Функции преобразования символов и строк.

• int2str(X) возвращает массив символов, содержащий символьные представления округленных до целых элементов массива Х.

Аргумент X может быть скаляром, вектором или матрицей. Например:

>>X=magic(3);

>>X = X + 0.05

X =

8.0500 1.0500 6.0500

3.0500 5.0500 7.0500

4.0500 9.0500 2.0500

>>str = int2str(X) str =

8 1 6

3 5 7

4 9 2

• mat2str(A, n) преобразует матрицу A в строку с точностью до n цифр после десятичной точки. Функция eval(str) осуществляет обратное преобразование. Например:

>>A=rand(4,3)

A =

0.9501 0.8913 0.8214

0.2311 0.7621 0.4447

0.6068 0.4565 0.6154

0.4860 0.0185 0.7919

>>str = mat2str(A,2) str =

[0.95 0.89 0.82;0.23 0.76 0.44;0.61 0.46 0.62;0.49 0.019 0.79]

num2str(A, precision) выполняет преобразование массива A в строку символов с максимальной точностью, определенной аргументом precision. Аргумент precision определяет число разрядов в выходной строке.

str2double(s) выполняет преобразование численной строки s (ASCII), в число с двойной точностью.

str2num(s) выполняет преобразование численного массива символов в матрицу (массив размерности 2).

Работа с файлами

Файл обычно является некоторой совокупностью данных, объединенных одним именем. Тип файла, как правило, определяется его расширением. В MatLab перед использованием любого файла он должен быть открыт, а по окончании использования – закрыт. Одновременно может быть открыто и доступно для чтения сразу несколько файлов.

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

• fid = fopen(filename, permission) открывает файл с именем filename ипараметром, определенным в permission, и возвращает идентификатор fid со значением:

0 – чтение с клавиатуры (permission установлено в 'r');

1 – вывод на дисплей (permission установлено в 'a');

2 – вывод сообщения об ошибке (permission установлен в 'a'); –1 – неудача в открытии файла с выводом сообщения о типе ошибки.

Идентификатор fid используется в качестве аргумента другими функциями и программами ввода-вывода. Имя файла filename может содержать путь к файлу.

Если открываемый для чтения файл не найден в текущем каталоге, то функция fopen осуществляет поиск файла по пути, указанном в MATLAB.

Параметр permission может принимать одно из следующих основных значений:

'r' – открытие файла для чтения (по умолчанию); 'r+' – открытие файла для чтения и записи;

'w' – удаление содержимого существующего файла или создание нового и открытие его для записи;

'a' – создание и открытие нового файла или открытие существующегодля записи с добавлением в конец файла.

Команда fclose закрывает файл. Она имеет следующие варианты:

status = fclose(fid) закрывает файл fid, если он открыт. Возвращает статус файла status, равный 0, если закрытие завершилось успешно, и –1 в противном случае.

status = fclose('all') закрывает все открытые файлы. Возвращает 0 в случае успешного завершения и –1 в противном случае.

Пример открытия и закрытия файла:

>>fid=fopen('c:\ex','a+') fid = 4

>>fclose(4)

ans = 0