Converting sym to string without 'matrix....' before

Hi,
I need some help to convert a symbolic array to string.
I tried with:
syms a b c
Array = [a b c];
string = char(Array);
but it returns
matrix([[a b c]]);
Is there a way to take only the string inside ? I need set it to take '[a b c]' as string.
Thanks

 Respuesta aceptada

Wayne King
Wayne King el 26 de Sept. de 2013
Can you tell us the use case here, you just want to display it as a string?
One thing you can do is
syms a b c
Array = [a b c];
array_string = char(Array);
array_string([1:8, end-1:end]) = [];

5 comentarios

Marco
Marco el 26 de Sept. de 2013
'Cause I have to put a sym array into a Costant Simulink block and it wants 'Value' as string
Walter Roberson
Walter Roberson el 26 de Sept. de 2013
I wonder what mat2str() would return for the symbolic case?
Jong Hoon Choi
Jong Hoon Choi el 7 de Nov. de 2017
Editada: Jong Hoon Choi el 7 de Nov. de 2017
Tried mat2str(), but gave me this error: Error using mat2str (line 55) Input matrix must be numeric.
genevois pierre
genevois pierre el 25 de Nov. de 2020
if I want to execute a program in which at least one line contains matrix, an error comes ...
Is there no more convenient conversion from a symbolic (which is coming from solve) to a character vector than that using char ?
Walter Roberson
Walter Roberson el 26 de Nov. de 2020
No, there is no more convenient way.
Caution: char() of a symbolic expression gives a result which is not exactly a MATLAB expression, and which is not exactly a MuPAD expression either. You should only use char() of a symbolic expression for display purposes.
If you need to generate MATLAB code from a symbolic expression, use matlabFunction(), possibly followed by func2str()

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 7 de Nov. de 2017
In the case of symbolic row vectors:
['[', strjoin(arrayfun(@char, Array, 'uniform', 0),', '), ']']

Etiquetas

Preguntada:

el 26 de Sept. de 2013

Comentada:

el 26 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by