我的代碼發佈在下面。它正是我需要它做的。MATLAB循環通過excel文件
它讀入一個文件並繪製我需要的數據。如果我想讀另一個文件並讓它通過相同的代碼,而不必用不同的變量再次編寫整個文件,那可能嗎?我想存儲每個循環的矩陣。
正如你可以看到我得到的文件名爲:Oxygen_1keV_300K.xlsx
我有叫另外一個文件:Oxygen_1keV_600K.xlsx
等。
如何循環瀏覽這些文件而不必重新編碼整個事物?然後我想在同一個圖上繪製它們。最好爲每個文件存儲最終的矩陣Y和Ymean,這樣它們就不會被覆蓋。
clear
clc
files = ['Oxygen_1keV_300K','Oxygen_1keV_300K','Oxygen_1keV_600K','Oxygen_1keV_900K'];
celldata = cellstr(file)
k = cell(1,24);
for k=1:24
data{k} = xlsread('C:\Users\Ben\Desktop\Oxygen_1keV_300K.xlsx',['PKA', num2str(k)]);
end
for i=1:24
xfinal{i}=data{1,i}(end,1);
xi{i}=0:0.001:xfinal{i};
xi{i}=transpose(xi{i});
x{i}=data{1,i}(:,1);
y{i}=data{1,i}(:,4);
yi{i} = interp1(x{i},y{i},xi{i});
end
Y = zeros(10001, numel(data));
for ii = 1 : numel(data)
Y(:, ii) = yi{ii}(1 : 10001);
end
Ymean = mean(Y, 2);
figure (1)
x=0:0.001:10;
semilogy(x,Ymean)
我建議使用['dir'](https://www.mathworks.com/help/matlab/ref/dir.html)或['ls'](https://www.mathworks.com/幫助/ matlab/ref/ls.html)函數來獲取文件列表,然後使用for循環來遍歷它們。 – Cecilia
我不想獲取目錄中的所有文件。我正在考慮創建Ymean {i}。我怎樣才能給我想要循環的文件列表? – Jack
您也可以手動定義文件路徑字符串的單元陣列,並循環執行。 – Cecilia