MATLAB Answers

Question about arrays to elements.

2 views (last 30 days)
Portgas Ace
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.

  3 Comments

José-Luis
José-Luis on 29 Sep 2012
What have you done so far?
Portgas Ace
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
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.

Sign in to comment.

Answers (3)

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

  3 Comments

Matt Fig
Matt Fig on 29 Sep 2012
What is the difference between your code and:
a = 0:20;
a = sprintf('%i',a);
José-Luis
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
Matt Fig on 1 Oct 2012
Oh, I just didn't know if you had something in mind that I missed.

Sign in to comment.


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

  0 Comments

Sign in to comment.


Matt Fig
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.

  0 Comments

Sign in to comment.

Sign in to answer this question.