Loading scsearch.m +26 −18 Original line number Diff line number Diff line Loading @@ -265,9 +265,9 @@ tic %%%[kung,fu,fight] = ndgrid(nis{1},nino{2},nino{3}); % tm=gpuArray(tm); % nibank = gpuArray(combinations(nis{:}).Variables); % Lambda = zeros(length(nibank),length(f_gr),M,'gpuArray'); % Lambda = zeros(length(nibank),length(f_gr),'gpuArray'); nibank = combinations(nis{:}).Variables; Lambda = zeros(length(nibank),length(f_gr),M); Lambda = zeros(length(nibank),length(f_gr)); toc %Fourier transform on original time-series -------------------------------- %per mantenere l'informazione di fase, non faccio il valore assoluto al quadrato della fft Loading Loading @@ -361,19 +361,23 @@ for m=1:M % Y1=Y1(1:round(length(Y1)/2)); % toc % tic if n ~= 1 && n ~= length(f_gr) cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<0.5*(nizero+f_gr(n+1)); elseif n == 1 cond = F1>=(nizero) & F1<0.5*(nizero+f_gr(n+1)); else cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<=nizero; end Y1=Y1(cond); clear F1 % if n ~= 1 && n ~= length(f_gr) % cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<0.5*(nizero+f_gr(n+1)); % elseif n == 1 % cond = F1>=(nizero) & F1<0.5*(nizero+f_gr(n+1)); % else % cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<=nizero; % end [nnfreq,nnind] = min(abs(F1-nizero)); % cond = F1>=F1(nnind-1) & F1<=F1(nnind+1); Y1=Y1(nnind); clear F1 %Calcolo della detection statistic % Lambda(i,n,m)=sum(abs(Y1).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) % [nnfreq,nnind] = min(abs(F1-curpar(1))); Lambda(i,n,m) = 2*(abs(max(Y1)).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) % Lambda(i,n,m) = 2*(abs(max(Y1)).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) Lambda(i,n) = 2*(abs(max(Y1)).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) % toc end Loading @@ -381,6 +385,9 @@ for m=1:M end toc lamfiname = sprintf('Lambda_seg_%d.mat', m); save(lamfiname,"Lambda"); Lambda = zeros(length(nibank),length(f_gr)); disp(m); end Loading @@ -400,11 +407,6 @@ bestpar = zeros(1,5); toc totlam = zeros(length(parbank),length(f_gr)); % for i = 1:length(parbank) % for n=1:length(f_gr) % totlam(i,n) = totlam(i,n)+sum(Lambda(i,n,:)); % end % end tic for n=1:length(f_gr) for i=1:length(parbank) Loading @@ -420,8 +422,14 @@ for n=1:length(f_gr) curni = -curni.*curpar(1).*curpar(3); curni(1) = curni(1) + curpar(1); lamfiname = sprintf('Lambda_seg_%d.mat', m); load(lamfiname); [Idx,D] = knnsearch(nisearcher,curni); totlam(i,n) = totlam(i,n)+Lambda(Idx,n,m); totlam(i,n) = totlam(i,n)+Lambda(Idx,n); clear Lambda end % % if (totlam > bestpar(1)) % % bestpar = [totlam,f_gr(n),parbank(i,:)]; Loading Loading
scsearch.m +26 −18 Original line number Diff line number Diff line Loading @@ -265,9 +265,9 @@ tic %%%[kung,fu,fight] = ndgrid(nis{1},nino{2},nino{3}); % tm=gpuArray(tm); % nibank = gpuArray(combinations(nis{:}).Variables); % Lambda = zeros(length(nibank),length(f_gr),M,'gpuArray'); % Lambda = zeros(length(nibank),length(f_gr),'gpuArray'); nibank = combinations(nis{:}).Variables; Lambda = zeros(length(nibank),length(f_gr),M); Lambda = zeros(length(nibank),length(f_gr)); toc %Fourier transform on original time-series -------------------------------- %per mantenere l'informazione di fase, non faccio il valore assoluto al quadrato della fft Loading Loading @@ -361,19 +361,23 @@ for m=1:M % Y1=Y1(1:round(length(Y1)/2)); % toc % tic if n ~= 1 && n ~= length(f_gr) cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<0.5*(nizero+f_gr(n+1)); elseif n == 1 cond = F1>=(nizero) & F1<0.5*(nizero+f_gr(n+1)); else cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<=nizero; end Y1=Y1(cond); clear F1 % if n ~= 1 && n ~= length(f_gr) % cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<0.5*(nizero+f_gr(n+1)); % elseif n == 1 % cond = F1>=(nizero) & F1<0.5*(nizero+f_gr(n+1)); % else % cond = F1>=0.5*(nizero+f_gr(n-1)) & F1<=nizero; % end [nnfreq,nnind] = min(abs(F1-nizero)); % cond = F1>=F1(nnind-1) & F1<=F1(nnind+1); Y1=Y1(nnind); clear F1 %Calcolo della detection statistic % Lambda(i,n,m)=sum(abs(Y1).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) % [nnfreq,nnind] = min(abs(F1-curpar(1))); Lambda(i,n,m) = 2*(abs(max(Y1)).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) % Lambda(i,n,m) = 2*(abs(max(Y1)).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) Lambda(i,n) = 2*(abs(max(Y1)).^2)/sum(xtemp(:)); %CREDO (oppure prendono la potenza massima?) % toc end Loading @@ -381,6 +385,9 @@ for m=1:M end toc lamfiname = sprintf('Lambda_seg_%d.mat', m); save(lamfiname,"Lambda"); Lambda = zeros(length(nibank),length(f_gr)); disp(m); end Loading @@ -400,11 +407,6 @@ bestpar = zeros(1,5); toc totlam = zeros(length(parbank),length(f_gr)); % for i = 1:length(parbank) % for n=1:length(f_gr) % totlam(i,n) = totlam(i,n)+sum(Lambda(i,n,:)); % end % end tic for n=1:length(f_gr) for i=1:length(parbank) Loading @@ -420,8 +422,14 @@ for n=1:length(f_gr) curni = -curni.*curpar(1).*curpar(3); curni(1) = curni(1) + curpar(1); lamfiname = sprintf('Lambda_seg_%d.mat', m); load(lamfiname); [Idx,D] = knnsearch(nisearcher,curni); totlam(i,n) = totlam(i,n)+Lambda(Idx,n,m); totlam(i,n) = totlam(i,n)+Lambda(Idx,n); clear Lambda end % % if (totlam > bestpar(1)) % % bestpar = [totlam,f_gr(n),parbank(i,:)]; Loading