how to convert integer array to one value??

 Respuesta aceptada

Guillaume
Guillaume el 3 de Mzo. de 2015
x = [6 0 8 1 3 0];
validateattributes(x, {'numeric'}, {'integer', 'nonnegative', '<', 10});
y = polyval(x, 10)

4 comentarios

Thank you Guillaume, Never knew about the validateattributes. I was thinking of doing it like:
y=str2num(num2str(x)');
Your approach works
>> str2num(sprintf('%1d',x))
ans =
608130
Abdalla Mansour
Abdalla Mansour el 3 de Mzo. de 2015
thank you Guillaume , Joseph Cheng and Per isakson
If you're going to go through string conversion, this should be the fastest:
y =str2num(char(x + '0'))
That is add ASCII value of '0' to each number and convert the string back to number.
conversions to / from strings are very slow compared to just multiplications / additions, so my initial solution is probably the most efficient.

Iniciar sesión para comentar.

Más respuestas (1)

rantunes
rantunes el 3 de Mzo. de 2015
Editada: Guillaume el 3 de Mzo. de 2015
Hey,
You can also use another (more mathematical) approach:
x = [1;2;3;4;5];
y = 0;
for i = 1:length(x)
y = y + (10^(i-1))*x(length(x)+1-i);
end
Greets

2 comentarios

rantunes
rantunes el 3 de Mzo. de 2015
sorry for the one line copy-paste ;)
Guillaume
Guillaume el 3 de Mzo. de 2015
Fixed the formatting for you.
Your code is what polyval does.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Type Conversion en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 2 de Mzo. de 2015

Comentada:

el 3 de Mzo. de 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by