How to combine all columns of an array into one column?
34 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ajinkya Bankar
el 4 de Oct. de 2019
Editada: Turlough Hughes
el 28 de Abr. de 2021
Suppose, If I have three elements in array A = [6, 5, 3] and I want
A = [653] as the only one element. How should I do this?
And I want general solution for this problem as my number of array elements may change but I want single array element.
Kindly help.
Thank you.
0 comentarios
Respuesta aceptada
Turlough Hughes
el 4 de Oct. de 2019
Editada: Turlough Hughes
el 28 de Abr. de 2021
EDIT - More appropriate solution:
A = [6 5 3];
A_new = str2double(sprintf('%d',A))
Original answer (don't do this):
There's probably a more appropriate solution out there but the following should work fine:
A=[6 5 3]
str=num2str(A); %convert to string
str(isspace(str))=''; % remove spaces
A_new=str2num(str); % convert to number
Más respuestas (1)
Kelly Kearney
el 4 de Oct. de 2019
Are the values in A always going to be less than 10? If not, what answer do you want?
I see two possibilities; treat each value as a string (as in Turlogh's answer):
fun1 = @(x) str2num(regexprep(num2str(x), '\s', ''));
Or treat each digit as ones, tens, hundreds place:
fun2 = @(x) sum(10.^(length(x)-1:-1:0) .* x);
Results:
fun1([6 5 3])
fun2([6 5 3])
fun1([1 10 5])
fun2([1 10 5])
ans =
653
ans =
653
ans =
1105
ans =
205
0 comentarios
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!