Format data into multiple strings
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, then compose
returns str
as
a string array or cell array with the same number of rows. compose
repeats formatSpec
in
each row of str
, with formatted values from the
corresponding row of A
.
If the number of columns in A
exceeds the number of operators in
formatSpec
, then compose
repeats
formatSpec
as an additional column of str
. The extra
columns of A
contribute formatted values to the new column in
str
.
If the number of columns in A
is
less than the number of operators in formatSpec
,
then compose
does not format values using those
operators. Instead, compose
puts unchanged formatting
operators in str
. 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, then compose
translates all escape-character
sequences. It leaves all other characters unchanged.
If txt
contains formatting operators,
then compose
translates all escape-character sequences
except for \\
and %%
. It leaves
all other characters, including the formatting operators, unchanged.