How to combine all columns of an array into one column?
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Ajinkya Bankar
le 4 Oct 2019
Modifié(e) : Turlough Hughes
le 28 Avr 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 commentaires
Réponse acceptée
Turlough Hughes
le 4 Oct 2019
Modifié(e) : Turlough Hughes
le 28 Avr 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
Plus de réponses (1)
Kelly Kearney
le 4 Oct 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 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!