importing a column of data from a text file

i need to import a particular column of data from a text file. the columns are differentiated by the size of the numbers. For example :
20 30000
21 40000
24 50000
how can i do so?

답변 (2개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 5월 29일
편집: Azzi Abdelmalek 2013년 5월 29일

0 개 추천

Import the data using
data=dlmread('yourfilename.txt')
Then choose the column you want
data(:,2)
% You can get the sizes of numbers in each column
numbers=arrayfun(@(x) numel(num2str(x)),data(1,:))

댓글 수: 3

Siddharth
Siddharth 2013년 5월 29일
but it can be the other way round too as in if the larger values are in the first column. i need to select the column with larger values.
Azzi Abdelmalek
Azzi Abdelmalek 2013년 5월 29일
편집: Azzi Abdelmalek 2013년 5월 29일
data=dlmread('yourfilename.txt')
numbers=arrayfun(@(x) numel(num2str(x)),data(1,:))
[idx,idx]=max(numbers)
result=data(:,idx)
or simply
data=dlmread('yourfilename.txt')
[idx,idx]=max(data(1,:))
result=data(:,idx)
Andrei Bobrov
Andrei Bobrov 2013년 5월 29일
편집: Andrei Bobrov 2013년 5월 29일

0 개 추천

d = dlmread('yourtxtfile.txt');
[k,k] = max(log10(d(1,:)));
out = d(:,k);
or
[k,k] = max(log10(d(:)));
out = d(:,ceil(k/size(d,1)))

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

태그

질문:

2013년 5월 29일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by