Splitting numbers of vector in multiple parts
6 views (last 30 days)
Show older comments
Dominic Noel Kluck
on 25 Jul 2023
Edited: Bruno Luong
on 25 Jul 2023
I have a vector which can vary in length, e. g. V' = [2022024 2023074 2022044 2023014 2023054]. Now my problem is that I need to split each number into specific parts:
2022024 -> 2022 024
2023074 -> 2023 074
...
Does anyone know how to do this in a loop?
Thanks in advance
0 Comments
Accepted Answer
Bruno Luong
on 25 Jul 2023
Edited: Bruno Luong
on 25 Jul 2023
If string output is desired
V = [2022024 2023074 2022044 2023014 2023054]
c = mat2cell(char(arrayfun(@num2str,V,'unif',0)),ones(length(V),1),[4 3])
string(c)
0 Comments
More Answers (4)
Bruno Luong
on 25 Jul 2023
Edited: Bruno Luong
on 25 Jul 2023
If numerical value output is desired
V = [2022024 2023074 2022044 2023014 2023054]
[floor(V/1000); mod(V,1000)]'
0 Comments
Sachin Hegde
on 25 Jul 2023
V= [2022024 2023074 2022044 2023014 2023054];
V = num2str(V);
tkn = regexp(V,'(\d+)(\d{3})','tokens');
V_split = str2double(vertcat(tkn{:}))
0 Comments
Bruno Luong
on 25 Jul 2023
Edited: Bruno Luong
on 25 Jul 2023
V = [2022024 2023074 2022044 2023014 2023054]
s = string(V)';
s = [extractBefore(s,5) extractAfter(s,4)]
0 Comments
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!