MATLAB Answers

How to combine all columns of an array into one column?

20 views (last 30 days)
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 Comments

Sign in to comment.

Accepted Answer

Turlough Hughes
Turlough Hughes on 4 Oct 2019
Edited: Turlough Hughes on 4 Oct 2019
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

  1 Comment

Sign in to comment.

More Answers (1)

Kelly Kearney
Kelly Kearney on 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 Comments

Sign in to comment.

Sign in to answer this question.

Tags