Re: [討論] 如何用search term開matlab檔已回收
※ 引述《iccfish (築夢踏實)》之銘言:
: ※ 引述《orgg (.....)》之銘言:
: : 我目前寫的方式是
: : filelist = dir('*a*.mat');
: : filenames = {filelist.name};
: : nfiles = length(filenames);
: : indata = cell(nfiles,1);
: : for K = 1:nfiles
: : indata{K} = load(filenames{K}, 'X');
: : end
: : 然後我再將所有X都放到同個變數T
: ^^^^^^^^^^^^^^^^^^^^^^是否真的有必要這樣做?
剛總算試出來了
我的data因為是matrix的關係
所以不是只要求一個平均值 而且整個matrix的同欄位互相平均
所以可以這樣寫loop
%%%
for i=1:length(indata)
X(i,:)=indata{SS+i,1}.T;
end
%%%
再來就只要用mean就可以得到matrix的平均值
感謝iccfish大大:p
: : T=[indata{1,1}.X;indata{2,1}.X];
: : 再平均T
: 如果只有做計算平均這件事的話
: 把個別檔案中的X加總 計算次數 最後再取平均即可
: 以下是我建議的方式 避免了重覆讀取越長越大的'T'
: 可以節省佔用的記憶體空間及加速程式執行的速度
: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%沒測過...有問題的話請跟我說
: clc;clear;
: ss=0;%加總暫存
: ll=0;%次數暫存
: filelist=dir('a*.mat');%依照原文的敘述 要讀取全部a開頭的檔案
: for ii=1:1:length(filelist)
: load(filelist(ii).name);%load完在ws就會出現X
: ss=ss+sum(X);
: ll=ll+length(X);
: clear X;
: end
: AAAAAVG=ss/ll;%這就是你要的平均值
: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 130.243.207.232
討論串 (同標題文章)