matlab_8
.pdf• 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