"I can't get any further than the above dimensions"
It is not clear what the problem is: are you expecting trailing singleton dimensions to be explicitly listed when you call SIZE on that array? (they aren't, as for obvious reasons all infinite implicit trailing singleton dimensions are not output by default (but they can be explicitly requested using SIZE's DIM option), nor are they given in infinitely long text in the command window, in the variable viewer, or anywhere else that array sizes are displayed).
Your starting array has 58x23 = 1334 elements, the final array also has 58x1x23x1 = 1334 elements... so why do you concatenate two copies of the array together to get 2668 elements?
Here are two basic approaches:
B = reshape(A,[58,1,23]);