直接改成用cell去做吧!
做法如下:
cd('yourTxtFile') % 到你存檔案的路徑去
files = ls(); % list all files in directory
files = files(~cellfun(@isempty, regexp(cellstr(files),'SPI\d*_\d*.txt')), :);
% capture the files you want
txtFiles = cellfun(@(x) dlmread(x), cellstr(files), 'UniformOutput', false);
% read all files
for i = 1:size(txtFiles,1)
x = txtFiles(i, 1);
for j = 1:size(x, 1)
if x(j, 5) < 0
% do something
end
end
end
※ 引述《cji4284503 (HearMe)》之銘言:
: 大家好,小弟是matlab新手,還請大家幫忙解惑
: 我遇到的問題不是如何讀取txt檔,而是後續寫判斷式的讀檔問題
: 前言
: 我總共有4860個txt檔要跑,每一個txt檔都是540X9的矩陣
: 檔名是以SPI3_1、SPI3_2的規律排列
: 目的是希望匯出4860個SPIsum以及SPIavg值
: 所以先以零陣列的方式給SPIsum和SPIavg值
: 依序叫出4860個txt檔這個步驟已經爬文解決
: 問題在 %這裡的問題還沒解決 這一行
: 附上部分程式碼如下
: