# Question about arrays to elements.

2 views (last 30 days)
Portgas Ace on 29 Sep 2012
Sprintf makes an element into an array. is there an inverse function to this? for example array [ 2 3 4 5 6] = 23456
it should be a single element because our prof wont allow us to have an output of an array.

José-Luis on 29 Sep 2012
What have you done so far?
Portgas Ace on 29 Sep 2012
what i have to do is to make a base m to base n converter without using built in converter of matlab. so i have to use algorithms and a part of it is by dividing the input value to element per element and solve one by one. and then after having the values for each element, i have to compress it into one element which will then be the final answer.
José-Luis on 29 Sep 2012
OK, I am going to give you something your professor probably won't like but it should give you an idea about how to proceed. It won't work for fractional numbers or exponential notation.

José-Luis on 29 Sep 2012
a = 0:20;
a = num2str(a);
a = [a(:)'];
a(regexp(a,'[^0-9]')) = [];

Matt Fig on 29 Sep 2012
What is the difference between your code and:
a = 0:20;
a = sprintf('%i',a);
José-Luis on 1 Oct 2012
None really, but this was a homework question and I didn't want to give a direct answer. In hindsight, I can see that my answer was a tad misguided.
Matt Fig on 1 Oct 2012
Oh, I just didn't know if you had something in mind that I missed.

Jan on 29 Sep 2012
Edited: Jan on 29 Sep 2012
Str = '23456';
Vec = Str - '0';
Now Vec is the corresponding double vector.

Matt Fig on 29 Sep 2012
Edited: Matt Fig on 29 Sep 2012
I think the question is a little unclear, so I will go in a circle:
A = [2 3 4 5 6] % Start here
A2 = str2double(sprintf('%i',A)) % One element
A3 = num2str(A2)-'0' % Back to the beginning.