## How to convert an array to a one-line string?

### Ercument Kalkan (view profile)

on 27 May 2019
Latest activity Commented on by Ercument Kalkan

on 27 May 2019

### Geoff Hayes (view profile)

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'

R2017a

### Geoff Hayes (view profile)

on 27 May 2019

Ercument - you could try using rehape to convert your numeric matrix into a single row
C = str2num(A) * str2num(B);
D = num2str(reshape(C', 1, []))
which should create the string
'57 20 35 96 35 58 96 51 50'

Ercument Kalkan

### Ercument Kalkan (view profile)

on 27 May 2019
I have tried it but it does not leave a space between rows when stacking them horizontally. I get:
'57 20 3596 35 5896 51 50'
Geoff Hayes

on 27 May 2019