How do I use elements in a vector to create a number

If I have a vector with a certain size of elements how can I turn some of those elements into a combined number versus separate numbers in a vector?

3 Kommentare

Please provide and example.
x=[1 2 3 4 9 7];
y=num2str(x(2:5));
y=str2double(y(y~=' '));%2349
Thank you but I was asking more along the lines of if you have
x=[1 2 3 4 9 7];
to create
number = 123
or number = 497
I know how to capture the elements I want from the vector but don't know how to extract them into a number.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

David Hill
David Hill am 28 Sep. 2020
Take whatever indexes of the vecture you want to create the number out of say 1:3
x=[1 2 3 4 9 7];
y=num2str(x(1:3));
y=str2double(y(y~=' '));%123
If the size of the numbers will be the same number of digits, you could do it all together and then reshape at the end.
x=[1 2 3 4 9 7];
y=num2str(x);
y=str2num(reshape(y(y~=' '),3,[])');%[123;497]

1 Kommentar

OHH I see now, I didn't include that str2double at the end and it had it under 'appostraphies' so I wasn't satisfied at first but now that I include it I can see what you mean. Thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by