How to append several elements to a single element in an array?

I have an array like:
A = [1 2 3 4 5 6 7 8 9 10];
I want to merge all the elements into a single element, like:
A = [12345678910];
but I cannot see any clear way to do so, as functions like 'reshape' or 'horizcat' simple place all the elements vertically, instead of appending all the values into one long element.
Any help would be really appreciated!
Thanks.

댓글 수: 1

Note to others: see my answer if you want a simpler, faster solution.

댓글을 달려면 로그인하십시오.

 채택된 답변

Birdman
Birdman 2018년 1월 31일
편집: Birdman 2018년 1월 31일
%%to see the complete number with all digits
format longg
str2double(strjoin(string(A),''))

댓글 수: 6

I added it to the code:
A = [1 2 3 4 5 6 7 8 9 10];
%to see the complete number with all digits
format long
B = str2double(strjoin(string(A),''));
I am afraid it produces '1.234567891000000e+10' as the value within B, am I implementing it incorrectly?
Type
format longg
with 2 g. This only changes its display format.
I am still getting the same result, is there anything else I need to include in my implementation of it?
No you don't. But be aware of the fact that
12345678910
is displayed in a scientific form of
1.2346e+10
by default. My only aim was to show you that the number is equal to what you want. So the following code:
B = str2double(strjoin(string(A),''));
actually does what you want.
You are welcome!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Stephen23
Stephen23 2018년 1월 31일
편집: Stephen23 2018년 1월 31일
Much faster and simpler than using string, strjoin, and str2double:
>> A = [1 2 3 4 5 6 7 8 9 10];
>> N = sscanf(sprintf('%d',A),'%f')
N = 12345678910

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

질문:

2018년 1월 31일

편집:

2018년 1월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by