How to convert an array to a one-line string?
88 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ercument Kalkan
am 27 Mai 2019
Kommentiert: Ercument Kalkan
am 27 Mai 2019
At first I have two 3x3 arrays written in string form:
A = '[2, 3, 4; 5, 1, 8; 9, 1, 4]'
B = '[7, 5, 3; 5, 2, 3; 7, 1, 5]'
The first issue is to multiple these two matrices after converting them to numerical with str2num function. This part is clear and done. But after this operation, I need to convert the result matrix back to string (or char vector) and print it to a cell in app designer:
num2str(str2num(A) * str2num(B))
ans =
3×10 char array
'57 20 35'
'96 35 58'
'96 51 50'
The problem here is the result matrix has 3 rows, which leads to an error when printing it to a cell. MATLAB wants the variable to be a character vector (not a character array) when print in a cell. So I want this matrix to be transformed into the form that:
'57 20 35; 96 35 58; 96 51 50'
or
'57 20 35 96 35 58 96 51 50'
Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Geoff Hayes
am 27 Mai 2019
C = str2num(A) * str2num(B);
D = num2str(reshape(C', 1, []))
which should create the string
'57 20 35 96 35 58 96 51 50'
3 Kommentare
Geoff Hayes
am 27 Mai 2019
Please show your code. This example seems to work
>> A = [1 2 3; 4 5 6; 7 8 9];
>> X = num2str(reshape(A', 1, []))
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Characters and Strings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!