How to convert a sym array into a string array?

I have very long arrays of symbolic variables which I need to convert to cell arrays of strings: For example, turning this:
syms x y u
q = [x y u]
into this:
qs = {'x' 'y' 'u'}
something like num2string() but with syms? I'd appreciate any help, thanks.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 23 Jul. 2017

9 Stimmen

qc = arrayfun(@char, q, 'uniform', 0);

4 Kommentare

quoroy
quoroy am 24 Jul. 2017
@Walter Roberson thank you so much! this worked perfectly, can't believe that was possible in one single line of code.
A slight variant of this is:
qc = arrayfun(@string, q);
which outputs a string array instead of a cell array filled with chars (consequently cellstr() can be used).
Chris J
Chris J am 2 Jun. 2021
Bearbeitet: Chris J am 2 Jun. 2021
then string1 = cell2mat(qc)
syms x y u
q = [x y u]
q = 
cellstr(string(q))
ans = 1×3 cell array
{'x'} {'y'} {'u'}

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by