Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

How can I transform two values separted by _ of one colum in two columns?

1 visualización (últimos 30 días)
Kirsten Purschke
Kirsten Purschke el 15 de Mayo de 2019
Cerrada: MATLAB Answer Bot el 20 de Ag. de 2021
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,

Respuestas (4)

madhan ravi
madhan ravi el 15 de Mayo de 2019
s='78.5888_2.027'
str2double(regexp(s,'\d+[\.?]\d*','match'))
  6 comentarios
madhan ravi
madhan ravi el 15 de Mayo de 2019
Editada: madhan ravi el 15 de Mayo de 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
Dawn MacIsaac el 15 de Mayo de 2019
You can also use strsplit in combination with str2double(), but you would have to loop through each row in the table.

Star Strider
Star Strider el 15 de Mayo de 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 comentarios
Star Strider
Star Strider el 15 de Mayo de 2019
My pleasure!
If my Answer helped you solve your problem, please Accept it!

Adam Danz
Adam Danz el 15 de Mayo de 2019
Editada: Adam Danz el 15 de Mayo de 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.

La pregunta está cerrada.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by