Info
Cette question est clôturée. Rouvrir pour modifier ou répondre.
How can I transform two values separted by _ of one colum in two columns?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hallo,
I have one column with two values separated by _ e.g. '78.5888_2.027'.
The aim is to separate these alue sin two columns making pltotting of value one against two possible.
Thank you fro your help,
0 commentaires
Réponses (4)
madhan ravi
le 15 Mai 2019
s='78.5888_2.027'
str2double(regexp(s,'\d+[\.?]\d*','match'))
6 commentaires
madhan ravi
le 15 Mai 2019
Modifié(e) : madhan ravi
le 15 Mai 2019
cell2mat(cellfun(@(x)str2double(regexp(x,...
'\d+[\.]?\d*','match')),...
table2cell(T),'un',0)) % where T is n by 1 table assuming from the picture
Dawn MacIsaac
le 15 Mai 2019
You can also use strsplit in combination with str2double(), but you would have to loop through each row in the table.
0 commentaires
Star Strider
le 15 Mai 2019
This seems to work:
D = load('F.mat');
F = D.F;
for k = 1:size(F,1)
d(k,:) = sscanf(F{k},'%f_%f');
end
The loop is necessary because of the nature of ‘F’.
2 commentaires
Star Strider
le 15 Mai 2019
My pleasure!
If my Answer helped you solve your problem, please Accept it!
Adam Danz
le 15 Mai 2019
Modifié(e) : Adam Danz
le 15 Mai 2019
Here's a one-liner. No loop needed.
xy = cell2mat(cellfun(@str2num, strtrim(regexprep(F,'[^0-9.]',' ')), 'UniformOutput', false));
xy(:,1) These are your x coordinates
xy(:,2) These are your y coordinates
Tested on your mat file.
0 commentaires
Cette question est clôturée.
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!