compose
Format data into multiple strings
Description
formats data values from the input array, str
= compose(formatSpec
,A
)A
, using formatting operators
specified by formatSpec
and returns the resulting text in
str
. The compose
function formats values from
A
in column order. If formatSpec
is a string array, then
so is the output array str
. Otherwise, str
is a cell array
of character vectors.
compose
also translates the escape-character
sequences in formatSpec
. Escape-character sequences
represent nonprinting characters or specify actions such as newlines
or tabs.
The compose
function can return multiple
pieces of formatted text as a string array or a cell array of character
vectors, unlike sprintf
. The sprintf
function
returns only a string scalar or a character vector.
If
A
has multiple rows, thencompose
returnsstr
as a string array or cell array with the same number of rows.compose
repeatsformatSpec
in each row ofstr
, with formatted values from the corresponding row ofA
.If the number of columns in
A
exceeds the number of operators informatSpec
, thencompose
repeatsformatSpec
as an additional column ofstr
. The extra columns ofA
contribute formatted values to the new column instr
.If the number of columns in
A
is less than the number of operators informatSpec
, thencompose
does not format values using those operators. Instead,compose
puts unchanged formatting operators instr
. However,compose
translates all escape-character sequences except for\\
and%%
.
formats
data values from multiple input arrays and concatenates all the formatted
values. When str
= compose(formatSpec
,A1,...,AN)compose
uses formatting operators
from formatSpec
to convert data from an input array,
then those formatting operators become unavailable to the following
input arrays.
For example, if formatSpec
is "%f
%f %d %s"
and A1
has two columns, then
the operators "%f %f"
are applied to the values
in A1
only. They cannot be applied to A2
or
any other input array. compose
applies the remaining
operators, "%d %s"
, to A2,...,AN
.
If the number of columns in the last input array, AN
,
exceeds the number of remaining operators, then compose
adds
an additional column to str
, as described in the
previous syntax. If the number of columns in AN
is
less than the number of remaining operators, then compose
puts
the last unchanged operators in str
.
translates
escape-character sequences in str
= compose(txt
)txt
.
If
txt
does not contain formatting operators, thencompose
translates all escape-character sequences. It leaves all other characters unchanged.If
txt
contains formatting operators, thencompose
translates all escape-character sequences except for\\
and%%
. It leaves all other characters, including the formatting operators, unchanged.
Examples
Input Arguments
Output Arguments
Extended Capabilities
Version History
Introduced in R2016b