Merge array to a number

11 次查看(过去 30 天)
I want to merge an array to a number. i.e., if
>>x=1:5;
do some operation on x and get the result like
>>y=12345
for that I have written this code...
x=1:5;
y=0;
for i=1:length(x)
y=y*10+x(i);
end
Is there any short way to do this ?

采纳的回答

Andrei Bobrov
Andrei Bobrov 2011-10-9
str2double(sprintf('%d',x))

更多回答(2 个)

Zhao g-liang
Zhao g-liang 2011-10-9
what about this x=1:5; 10.^(x(end:-1:1)-1)*x'
  1 个评论
Walter Roberson
Walter Roberson 2011-10-9
Better to use
10.^(length(x)-1:1:0)*x.'
If the poster could rely upon x being consecutive digits then the poster could just use '0' + (x(1):x(end))

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2011-10-9
str2double(num2str(x))

类别

Help CenterFile Exchange 中查找有关 Scope Variables and Generate Names 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by