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

% 19.08.2005 - пропуски в данных вместо Inf кодируются как NaN

gaps=length(W)-length(c);
if gaps==0,     % без пропусков данных
    c_mean=sum(c.*W);
elseif gaps<fix(length(W)/2), % пропущено менее половины данных
    if length(W)==91,
       k=round(t*60-(t_min0*60-45))+1;    % индексы для весов
    elseif length(W)==19,
       k=(round(t*60-(t_min0*60-45)))/5+1;    % индексы для весов
    end
    c_mean=sum(c.*W(k))/sum(W(k));
else
    c_mean=NaN;
end
