MATLAB Answers

0

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

Asked by Ajinkya Bankar on 4 Oct 2019
Latest activity Commented on by Ajinkya Bankar on 4 Oct 2019
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.

Tags

2 Answers

Answer by Turlough Hughes on 4 Oct 2019
Edited by Turlough Hughes on 4 Oct 2019
 Accepted Answer

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

It worked. Thank you for the reply.

Sign in to comment.


Answer by 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.