Ami*_*Jha 9 file-io matlab matrix
我有一个包含4列的文本文件,每列有65536个数据点.行中的每个元素都用逗号分隔.例如:
X,Y,Z,AU
4010.0,3210.0,-440.0,0.0
4010.0,3210.0,-420.0,0.0
etc.
Run Code Online (Sandbox Code Playgroud)
所以,我有65536行,每行有4个数据值,如上所示.我想将其转换为矩阵.我尝试将数据从文本文件导入到excel文件,因为这样很容易创建矩阵,但我丢失了一半以上的数据.
你有没有试过使用'importdata'?您只需要文件名和分隔符的参数.
>> tmp_data = importdata('your_file.txt',',')
tmp_data =
data: [2x4 double]
textdata: {'X' 'Y' 'Z' 'AU'}
colheaders: {'X' 'Y' 'Z' 'AU'}
>> tmp_data.data
ans =
4010 3210 -440 0
4010 3210 -420 0
>> tmp_data.textdata
ans =
'X' 'Y' 'Z' 'AU'
Run Code Online (Sandbox Code Playgroud)
您应该能够直接将文本文件读入MATLAB(使用函数FOPEN,FGETL,FSCANF和FCLOSE),而不是乱用Excel:
fid = fopen('file.dat','rt'); %# Open the data file
headerChars = fgetl(fid); %# Read the first line of characters
data = fscanf(fid,'%f,%f,%f,%f',[4 inf]).'; %'# Read the data into a
%# 65536-by-4 matrix
fclose(fid); %# Close the data file
Run Code Online (Sandbox Code Playgroud)