Splitting numbers of vector in multiple parts
Mostra commenti meno recenti
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
Risposta accettata
Più risposte (4)
If you want to split array of numbers, but using a loop , here's one way
V = string([2022024 2023074 2022044 2023014 2023054]);
for k = 1:length(V)
Num = char(V(k));
V_S(k,:) = [str2double(Num(1:4)) str2double(Num(5:7))];
end
V_S
Bruno Luong
il 25 Lug 2023
Modificato: Bruno Luong
il 25 Lug 2023
If numerical value output is desired
V = [2022024 2023074 2022044 2023014 2023054]
[floor(V/1000); mod(V,1000)]'
V= [2022024 2023074 2022044 2023014 2023054];
V = num2str(V);
tkn = regexp(V,'(\d+)(\d{3})','tokens');
V_split = str2double(vertcat(tkn{:}))
Bruno Luong
il 25 Lug 2023
Modificato: Bruno Luong
il 25 Lug 2023
V = [2022024 2023074 2022044 2023014 2023054]
s = string(V)';
s = [extractBefore(s,5) extractAfter(s,4)]
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!