Info

이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.

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

조회 수: 1 (최근 30일)
Kirsten Purschke
Kirsten Purschke 2019년 5월 15일
마감: MATLAB Answer Bot 2021년 8월 20일
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,

답변 (4개)

madhan ravi
madhan ravi 2019년 5월 15일
s='78.5888_2.027'
str2double(regexp(s,'\d+[\.?]\d*','match'))
  댓글 수: 6
madhan ravi
madhan ravi 2019년 5월 15일
편집: madhan ravi 2019년 5월 15일
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 2019년 5월 15일
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 2019년 5월 15일
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
Star Strider
Star Strider 2019년 5월 15일
My pleasure!
If my Answer helped you solve your problem, please Accept it!

Adam Danz
Adam Danz 2019년 5월 15일
편집: Adam Danz 2019년 5월 15일
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.

이 질문은 마감되었습니다.

제품

Community Treasure Hunt

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

Start Hunting!

Translated by