Возможна ли разработка приложения на Octave с GUI? |
Компания ALT Linux
Опубликован: 12.03.2015 | Доступ: свободный | Студентов: 582 / 64 | Длительность: 20:55:00
Темы: Математика, Программное обеспечение, Физика
Специальности: Математик, Преподаватель, Физик
Лекция 3:
Программирование
3.3 Обработка строк
В языке программирования Octave есть множество функций для работы со строками. Рассмотрим некоторые из них.
Функция | Описание функции | Пример использования |
Возвращает символ по его коду |
>>> char(100) ans = d >>> char(80:85) ans = PQRSTU |
|
Формируется новая строка путём удаления пробелов в конце строки |
>>> deblank(’OCTAVE ’) ans = OCTAVE |
|
Преобразование чисел, хранящихся в массиве (матрице) к целому типу и запись результатов в массив символов |
>>> int2str(123.456) ans = 123 >>> int2str([9.8 6.9]) ans = 10 7 |
|
Возвращает номер позиции, начиная с которой подстрока входит в строку |
>>> Str=’Visual C++’; >>> S=’C++’; >>> findstr(Str,S) ans =8 |
|
Возвращает строку путём преобразования строки к строчным буквам |
>>> S=’QtOctave’; >>> lower(S) ans = qtoctave |
|
Преобразовывает числовую матрицу в строку; если присутствует необязательный параметр , то перед преобразованием в строку все элементы матрицы округляются до значащих цифр в числе |
>>> X=[7.895; -9.325] X = 7.8950 -9.3250 >>> mat2str(X) ans = [7.8949999999999996; -9.3249999999999993] >>> mat2str(X,2) ans = [7.9;-9.3] |
|
Преобразовывает числовую матрицу (массив) в массив символов, если присутствует необязательный параметр , то перед преобразованием в строку все элементы матрицы округляются до значащих цифр в числе. |
>>>X=[7.89578; -9.32985]; >>>num2str(X) ans = 7.8958 -9.3299 >>>num2str(X,2) ans = 7.9 -9.3 >>>num2str(X,1) ans = 8 -9 |
|
Формирует строку из чисел, хранящихся в числовой переменной в соответствии с форматом |
>>> x=789.65432145; >>> sprintf(’X=%4.2e’,x) ans = X=7.90e+02 >>> y=-654.12345678; >>> sprintf(’Y=%7.3f’,y) ans = Y=-654.123 |
|
Функция возвращает из строки числовое значение или массив значений в соответствии с форматом |
>>> s=’1234.5’ s = 1234.5 >>> x=sscanf(s, ’%f’) x = 1234.5 >>> x=sscanf(s, ’%d’) x = 1234 |
|
Формирование числа из строки , если это возможно |
>>> s=’1.456e-2’; >>> str2double(s) ans = 0.014560 |
|
Формирование массива чисел из строки (массива символов) |
>>> s=’-pi 2 1.6’; >>> str2num(s) ans=-3.1416 2.0000 1.6000 |
|
Формируется строка путём объединения строк |
>>> s1=’Octave’; >>> s2=’Qt’; >>> s=strcat(s2,s1) s = QtOctave; |
|
Возвращает 1, если строки и совпадают, 0 — в противном случае |
>>>S1=’The first ex.’; >>>strcmp(S1,’The first’) ans = 0 >>>S2=’The second ex.’; >>>strcmp(S1,S2) ans = 0 >>>strcmp(S1,’The first ex.’) ans = 1 |
|
Сравнение строк и , не различая строчные и прописные буквы |
>>> S1=’1-st May’; >>> S2=’1-st may’; >>> strcmpi(S2,S1) ans = 1 |
|
Выравнивание строки в соответствии с направлением — выравнивание по правому краю, — выравнивание по левому краю, — выравнивание по центру |
>>> S=’Pascal 7.0 ’; >>> strjust(S,’right’) ans = Pascal 7.0 >>> S=’ Pascal 7.0’; >>> strjust(S,’left’) ans = Pascal 7.0 >>> S=’ Pascal 7.0’; >>> strjust(S,’center’) ans = Pascal 7.0 |
|
Сравнение первых символов строк и , возвращает 1, если первые символов строк и совпадают, 0 — в противном случае |
>>> S1=’My name is Vasia’; >>> S2=’My name is Petia’; >>> strncmp(S1,S2,10) ans = 1 >>> strncmp(S1,S2,12) ans = 0 |
|
Формирует новую строку из строки путём замены подстрок на подстроки |
>>> S=’07. 07. 2007’; >>> strrep(S,’7’,’8’) Ans = 08. 08. 2008 |
|
Поиск первой подстроки в строке , отделённой пробелом или символом табуляции (при отсутствии параметра ) или первой подстроки, отделённой от одним из символов, входящих в delimiter. Функция может возвращать 2 параметра: первый — найденная подстрока, второй — содержит остаток строки s после |
>>> S=’Винни-Пух и Пятачок’; >>> strtok(S) ans = Винни-Пух >>> S=’Привет, Пух!’; >>> strtok(S) ans = Привет, >>> [S1,S2]=strtok(S,’,’) S1 = Привет S2 =, Пух! |
|
Возвращает строку , преобразованную к прописным буквам |
>>> S=’Octave’; >>> upper(S) ans = OCTAVE |