I have a text file that contains 4*10 array. I want to read 1st column element first and store that column in say x, process it and then read 2nd column and store in same variable x. Is there any commands for that? please help?

1 Ansicht (letzte 30 Tage)
-1.9360 20.7501 -1.3800 0.2735 -1.9360 20.7501 -1.3800 0.2735 20.7501 -1.3800
-2.5797 27.6486 -1.3819 0.2524 -2.5797 27.6486 -1.3819 0.2524 27.6486 -1.3819
1.5073 28.2723 -0.0000 15.0002 1.5073 28.2723 -0.0000 15.0002 -0.0000 15.0002
-1.9770 37.0812 0.0000 15.0009 -1.9770 37.0812 0.0000 15.0009 0.0000 15.0009
  3 Kommentare
KSSV
KSSV am 22 Sep. 2016
you may try to save your text file as .xls file or .csv file then use the xlsread() function..

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 22 Sep. 2016
Bearbeitet: KSSV am 22 Sep. 2016
clc; clear all ;
for i = 1:10 % loop for each column
ColNum = i; %colmn number
fmt = [ repmat('%*s ',1,ColNum-1), ' %f %*[^\n]'] ;
fid = fopen('data.txt') ;
data = textscan(fid, fmt) ;
%%do what you want %%
data{1}
fid = fclose(fid);
end
  3 Kommentare
Stephen23
Stephen23 am 22 Sep. 2016
@Sachim Patel: this is very inefficient concept and very slow code. Reading and writing from file is a slow process. Your entire concept would be simpler and faster if you simply read the whole data into MATLAB once, and perform whatever operation you want inside MATLAB. You should also learn how to process entire matrices and arrays using MATLAB, otherwise your code will be very inefficient.
See my answer for a much more efficient solution.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Stephen23
Stephen23 am 22 Sep. 2016
This is a much simpler and more efficient code:
M = dlmread('test.txt');
for row = 1:size(M,1) % loop over the rows
M(row,:)
end
for col = 1:size(M,2) % loop over the columns
M(:,col)
end
Tested on this file:

Kategorien

Mehr zu Data Import and Export finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by