Существует два способа представлять текст в MATLAB®. Начиная в R2016b, можно сохранить текст в строковых массивах. И в любой версии MATLAB, можно сохранить текст в символьных массивах. Типичное использование для символьных массивов должно сохранить части текста как векторы символов. MATLAB отображает строки с двойными кавычками и векторы символов с одинарными кавычками.
Можно сохранить любой 1 n
последовательность символов как строка, с помощью string
тип данных. При запуске в R2017a заключите текст в двойные кавычки, чтобы создать строку.
str = "Hello, world"
str = "Hello, world"
Хотя текст "Hello, world"
12 символов в длину, str
самостоятельно строка 1 на 1 или скаляр строки. Можно использовать скаляр строки, чтобы задать имя файла, метку графика или любую другую часть текстовой информации.
Чтобы найти количество символов в строке, используйте strlength
функция.
n = strlength(str)
n = 12
Если текст включает двойные кавычки, используйте две двойных кавычки при определении.
str = "They said, ""Welcome!"" and waved."
str = "They said, "Welcome!" and waved."
Чтобы добавить текст в конец строки, используйте оператор плюс, +
. Если переменная может быть преобразована в строку, то plus
преобразует его и добавляет его.
fahrenheit = 71; celsius = (fahrenheit-32)/1.8; tempText = "temperature is " + celsius + "C"
tempText = "temperature is 21.6667C"
Начиная в R2019a, можно также конкатенировать текст с помощью append
функция.
tempText2 = append("Today's ",tempText)
tempText2 = "Today's temperature is 21.6667C"
string
функция может преобразовать различные типы входных параметров, такой как числовые, datetime, длительность и категориальные значения. Например, преобразуйте выход pi
к строке.
ps = string(pi)
ps = "3.1416"
Можно сохранить несколько частей текста в массиве строк. Каждый элемент массива может содержать строку, имеющую различное количество символов без дополнения.
str = ["Mercury","Gemini","Apollo";... "Skylab","Skylab B","ISS"]
str = 2x3 string array
"Mercury" "Gemini" "Apollo"
"Skylab" "Skylab B" "ISS"
str
2 3 массив строк. Можно найти длины строк с strlength
функция.
N = strlength(str)
N = 2×3
7 6 6
6 8 3
С R2018b строковые массивы поддерживаются в продуктах MathWorks® и MATLAB. Функции, которые принимают символьные массивы (и массивы ячеек из символьных векторов) как входные параметры также, принимают строковые массивы.
Сохранить 1 n
последовательность символов как вектор символов, с помощью char
тип данных, заключите его в одинарные кавычки.
chr = 'Hello, world'
chr = 'Hello, world'
Текст 'Hello, world'
12 символов в длину и chr
хранилища это как 1 12 вектор символов.
whos chr
Name Size Bytes Class Attributes chr 1x12 24 char
Если текст включает одинарные кавычки, используйте две одинарных кавычки при определении.
chr = 'They said, ''Welcome!'' and waved.'
chr = 'They said, 'Welcome!' and waved.'
Векторы символов имеют два основного использования:
Задавать одну части текста, такие как метки графика и имена файлов.
Представлять данные, которые закодированы с помощью символов. В таких случаях вам может быть нужен быстрый доступ к отдельным символам.
Например, можно сохранить последовательность DNA как вектор символов.
seq = 'GCTAGAATCC';
Можно получить доступ к отдельным символам или подмножествам символов путем индексации, так же, как вы индексировали бы в числовой массив.
seq(4:6)
ans = 'AGA'
Конкатенация вектора символов с квадратными скобками, так же, как вы конкатенируете другие типы массивов.
seq2 = [seq 'ATTAGAAACC']
seq2 = 'GCTAGAATCCATTAGAAACC'
Начиная в R2019a, также можно конкатенировать текст с помощью append
. append
функция рекомендуется, потому что она последовательно обрабатывает строковые массивы, векторы символов и массивы ячеек из символьных векторов.
seq2 = append(seq,'ATTAGAAACC')
seq2 = 'GCTAGAATCCATTAGAAACC'
Функции MATLAB, которые принимают строковые массивы как входные параметры также, принимают векторы символов и массивы ячеек из символьных векторов.
append
| cellstr
| char
| horzcat
| plus
| string
| strlength