function [Cm,Tm,gaps]=one_minute_mean_conv(t1,t2,t,c,W);
% Вычисление средневзвешенного минутного значения
%
% Вызов:    [c_mean, t_mean,[gaps]]=one_minute_mean_conv(t1,t2,t,c,W)
%
% t1,t2  - начальное и конечное значениЯ интервала длЯ вычислений (в сек)
%      t - моменты измерениЯ (в сек)
%      c - измеренные значениЯ
%      W - веса длЯ усреднениЯ
%
% c_mean - средневзвешенное значение (=Inf или NaN, если пропущено
%          больше 75% данных)
% t_mean - минуты, длЯ которых сделаны вычислениЯ
%   gaps - количество пропусков

% 11.06.2008    Хомутов
%       - оптимизирована инициализация NaN-массива C=ones(N0,1)*NaN;

T=(t1:t2)';    % равномерный рЯд от t1 до t2 в сек.
N0=length(T); NW=length(W)-1;
% генерируем рЯд данных с NaN в пропущенных точках
C=ones(N0,1)*NaN;
[K,k]=ismember_digit(T,t,8);
C(K)=c(k);

% вычислЯем свертку длЯ каждого момента T и полном объеме данных
% и отбрасываем лишние на концах
Cc=conv(C,W); Cc=Cc(NW/2+1:length(Cc)-NW/2);

% выбираем минутные значениЯ и для
%kk=rem(T,60)==0 & T>=0;
kk=rem(T,60)==0;
Tm=T(kk); Cm=Cc(kk);

% вычислЯм средние длЯ неполных данных в ширине W
K=find(isnan(Cm));
gaps=zeros(length(Tm),1);

if length(K)>0,
    for l=1:length(K),
        T0=Tm(K(l));
        tt1=T0-45.5; tt2=T0+45.5;
        k=between(t,tt1,tt2,'11');
        [Cm(K(l)),gaps(K(l))]=one_minute_mean_75(Tm(K(l))/60,t(k)/60,c(k),W);
    end
end
