Преобразуйте числа в символьный массив
s = num2str(A)
s = num2str(A,precision)
s = num2str(A,formatSpec)
Преобразуйте значения с плавающей точкой, возвращенные pi
и eps
к векторам символов.
s = num2str(pi)
s = '3.1416'
s = num2str(eps)
s = '2.2204e-16'
Задайте максимальное количество значительных цифр для значений с плавающей точкой.
A = gallery('normaldata',[2,2],0);
s = num2str(A,3)
s = 2x16 char array
'-0.433 0.125'
' -1.67 0.288'
Задайте ширину, точность и другое форматирование для массива значений с плавающей точкой.
A = gallery('uniformdata',[2,3],0) * 9999; s = num2str(A,'%10.5e\n')
s = 2x35 char array
'9.50034e+03...'
'2.31115e+03...'
Формат '%10.5e'
распечатывает каждое значение в экспоненциальном формате с пятью десятичными разрядами и '\n'
, распечатывает символ новой строки.
A
Входной массивВходной массив, заданный как числовой массив.
Типы данных: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
Поддержка комплексного числа: Да
точность
Максимальное количество значительных цифрМаксимальное количество значительных цифр в выводимой строке, заданной как положительное целое число.
Если вы задаете precision
, чтобы превысить точность входа тип данных с плавающей точкой, результаты не могут совпадать с входными значениями к точности, которую вы задали. Результат зависит от вашего компьютерного оборудования и операционной системы.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
formatSpec
Формат выходных полейФормат выходных полей, заданных операторов форматирования использования. formatSpec
также может включать обычный текст и специальные символы.
formatSpec
может быть вектором символов в одинарных кавычках, или, запускающийся в R2016b, скаляре строки.
Оператор форматирования
Оператор форматирования запускается со знака процента, %
, и заканчивается символом преобразования. Символ преобразования требуется. Опционально, можно задать идентификатор, флаги, ширину поля, точность, и выделить подтипы в операторах между %
и символом преобразования. (Пробелы недопустимы между операторами и показаны здесь только для удобочитаемости).
Символ преобразования
Эта таблица показывает символы преобразования, чтобы отформатировать числовые и символьные данные как текст.
Тип значения | Преобразование | Детали |
---|---|---|
Целое число, подписанное |
| Основа 10 |
Целое число, без знака |
| Основа 10 |
| Базируйтесь 8 (восьмеричный) | |
| Основывайте 16 (шестнадцатеричных), строчных букв | |
| То же самое как | |
Число с плавающей запятой |
| Представление с фиксированной точкой (Используют оператор точности, чтобы задать количество цифр после десятичной точки.) |
| Экспоненциальное представление, такое как | |
| То же самое как | |
| Более компактный из | |
| Более компактный из | |
Символы или строки |
| Отдельный символ |
| Вектор символов или массив строк. Тип синтезируемого текста совпадает с типом |
Дополнительные операторы
Дополнительный идентификатор, флаги, ширина поля, точность и операторы подтипа далее задают формат синтезируемого текста.
Идентификатор
Порядок для обработки входных аргументов функции. Используйте синтаксис
, где n$
n
представляет положения других входных параметров в вызове функции.
Пример: ('%3$s %2$s %1$s %2$s','A','B','C')
распечатывает входные параметры 'A'
, 'B'
, 'C'
можно следующим образом: C B A B
.
Примечание: Если входной параметр является массивом, вы не можете использовать идентификаторы, чтобы задать конкретные элементы массива от того входного параметра.
Флаги
| Лево-выровнять по ширине. |
| Всегда распечатывайте символ знака (+ или –) для любого числового значения. |
| Вставьте пробел перед значением. |
'0' | Заполните к ширине поля нулями перед значением. |
| Измените выбранные числовые преобразования:
Пример: |
Ширина поля
Минимальное количество символов, чтобы распечатать. Оператор ширины поля может быть номером или звездочкой (*
), чтобы относиться к входному параметру.
Когда вы задаете *
как оператор ширины поля, другие входные параметры должны обеспечить и ширину и значение, которое будет распечатано. Ширины и значения могут быть парами аргументов или парами в числовом массиве. С *
как оператор ширины поля можно распечатать различные значения с различными ширинами.
Пример: входные параметры ('%12d',intmax)
эквивалентны ('%*d',12,intmax)
.
Пример: входные параметры ('%*d',[2 10 5 100])
возвращают '10 100'
с двумя местами, выделенными для 10
и пятью пробелами для 100
. Как альтернатива, также можно задать ширину поля и значения в качестве нескольких аргументов, в качестве в ('%*d',2,10,5,100)
.
Функция заполняет к ширине поля пробелами перед значением, если в противном случае не задано флагами.
Точность
Для | Количество цифр справа от десятичной точки |
Для | Количество значительных цифр |
Оператор точности может быть номером или звездочкой (*
), чтобы относиться к аргументу.
Когда вы задаете *
как полевой оператор точности, другие входные параметры должны обеспечить и точность и значение, которое будет распечатано. Точность и значения могут быть парами аргументов или парами в числовом массиве. С *
как оператор точности можно распечатать различные значения к различной точности.
Когда вы задаете *.*
как ширину поля и операторы точности, необходимо задать ширину поля, точность и значения как триплеты.
Пример: входные параметры ('%.4f',pi)
эквивалентны ('%.*f',4,pi)
.
Пример: входные параметры ('%6.4f',pi)
эквивалентны ('%.*f',6,4,pi)
.
Пример: входные параметры ('%*.*f',6,4,pi,9,6,exp(1))
возвращают '3.1416 2.718282'
с 9
и 6
как ширина поля и точность для вывода exp(1)
.
Если вы задаете оператор точности для значений с плавающей точкой, который превышает точность входного типа числовых данных, результаты не могут совпадать с входными значениями к точности, которую вы задали. Результат зависит от вашего компьютерного оборудования и операционной системы.
Подтипы
Можно использовать оператор подтипа, чтобы распечатать значение с плавающей точкой как его восьмеричное, десятичное, или шестнадцатеричное значение. Оператор подтипа сразу предшествует символу преобразования. Эта таблица показывает преобразования, которые могут использовать подтипы.
Тип входного значения | Подтип и символ преобразования | Тип выходного значения |
---|---|---|
Число с плавающей запятой |
| С двойной точностью шестнадцатеричное, восьмеричное, или десятичное значение |
| Шестнадцатеричное, восьмеричное, или десятичное значение с одинарной точностью |
Текст прежде или после операторов форматирования
formatSpec
может также включать дополнительный текст перед знаком процента, %
, или после символа преобразования. Текст может быть:
Обычный текст, чтобы распечатать.
Специальные символы, которые вы не можете ввести как обычный текст. Эта таблица показывает, как представлять специальные символы в formatSpec
.
Специальный символ | Представление |
---|---|
Одна кавычка |
|
Символ процента |
|
Наклонная черта влево |
|
Предупреждение |
|
Клавиша Backspace |
|
Перевод формата |
|
Новая строка |
|
Возврат каретки |
|
Горизонтальная вкладка |
|
Вертикальная вкладка |
|
Символ, числовое значение Unicode® которого может быть представлено шестнадцатеричным номером, |
Пример: |
Символ, числовое значение Unicode которого может быть представлено восьмеричным числом, |
Пример: |
Известное поведение преобразований с операторами форматирования
Числовые преобразования распечатывают только действительный компонент комплексных чисел.
Если вы задаете преобразование, которое не соответствует данным, таким как текстовое преобразование для числового значения, MATLAB® заменяет заданное преобразование и использует %e
.
Пример: '%s'
преобразовывает pi
в 3.141593e+00
.
Если вы применяете текстовое преобразование (или %c
или %s
) к целочисленным значениям, MATLAB преобразовывает значения, которые соответствуют кодам допустимого символа к символам.
Пример: '%s'
преобразовывает [65 66 67]
в ABC
.
Типы данных: char | string
s
Текстовое представление входного массиваТекстовое представление входного массива, возвращенного как символьный массив.
num2str
не принимает позиционные идентификаторы во входном параметре formatSpec
. Например, num2str([14 15],'%2$X %1$o)
возвращает ошибку.
Позиционные идентификаторы задают порядок в который входные параметры процессов оператора форматирования функции, не элементы входного массива. Когда вы вызываете num2str
, существует только один входной параметр, который имеет числа, чтобы преобразовать.
num2str
обрезает любые ведущие пробелы от символьного массива, даже когда formatSpec
включает флаг пробела. Например, num2str(42.67,'% 10.2f')
возвращает символьный массив 1 на 5 '42.67'
.
Указания и ограничения по применению:
Входные параметры должны быть константами.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Выполнения на графическом процессоре (Parallel Computing Toolbox).
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.