一、從matlab讀取txt文件
在matlab中讀取txt文件可以使用fscanf函數,該函數可以根據指定的格式讀取文件中的數據,並將其存儲到一個列向量中。下面是一個讀取txt文件的示例:
fid=fopen('filename.txt');
data=fscanf(fid,'%f');
fclose(fid);
其中filename.txt為要讀取的txt文件的完整路徑。該示例中我們使用%f指定讀取的數據類型為float類型,並將讀取到的數據存儲到data中。
需要注意的是,在使用fscanf函數讀取txt文件時需要知道文件中每一行數據的格式,如果每行數據的格式不同,則需要分別處理每一行的數據。
二、Matlab批量讀取txt文件
如果需要讀取多個txt文件,可以使用如下代碼實現:
folder = 'folder_path';
files = dir(fullfile(folder,'*.txt'));
for i = 1:length(files)
filename = files(i).name;
filepath = fullfile(folder,filename);
data = dlmread(filepath);
end
該示例中通過dir函數獲取文件夾中所有txt文件的路徑,然後通過for循環一個一個讀取數據。其中dlmread函數可以讀取txt文件中的數據,該函數根據文件中數據的列與行分隔符自動分割數據,如果txt文件的數據格式比較簡單,該函數可以方便快捷地讀取txt文件中的數據。
三、Matlab讀取txt數據的某些方式
1、Matlab中讀取txt文件一列的數據
如果需要讀取txt文件中的某一列數據,可以使用如下代碼:
data=dlmread('filename.txt','\t',1,1);
data_column=data(:,1);
該示例中,通過dlmread函數可以讀取txt文件中的所有數據,並通過data(:,1)選取第一列的數據。
2、Matlab讀取txt中的數據時選取某一列或某幾列
如果需要只讀取txt文件中的某一列或某幾列數據,可以使用如下代碼:
filename = 'filename.txt';
delimiterIn = '\t';
headerlinesIn = 1;
A = importdata(filename,delimiterIn,headerlinesIn);
data=A.data(:,[1 3]);
在該示例中,通過importdata函數讀取txt文件中的所有數據,並通過data(:,[1 3])選取第1列和第3列的數據。
3、Matlab讀取txt文件數據字符串類型
如果需要從txt文件中讀取字符串類型的數據,可以使用textscan函數。textscan函數可以將字符串類型的數據轉換成其他類型的數據。
fid=fopen('filename.txt');
data=textscan(fid,'%s','Delimiter','\n');
fclose(fid);
str_data=data{1,1}{1,1};
num_data=sscanf(str_data,'%d');
在該示例中,我們首先使用textscan函數將字符串類型的數據讀取到變量data中,接着通過sscanf函數將字符串類型的數據轉換成int類型。
原創文章,作者:YZZM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/132797.html