function Y=getProfile(X)

% визначаємо кількість рядків та стовпчиків у векторі X
% потрібно, щоб був один рядок; якщо не так - розвертаємо
flag=1; % вважаємо, що був один рядок
[m,n]=size(X);
if (n==1)
    X=X';
    [m,n]=size(X);
    flag=0;  % ні, був один стовпчик
end

% Визначаємо профіль
% знаходимо середнє значення для всієї множини X
AVG=sum(X)/n;
% віднімаємо його від значень X
Y=X-AVG;
% знаходимо вектор накопичень (формула (1))
% перший елемент вже введено
for j=2:n
    Y(1,j)=Y(1,j-1)+Y(1,j);
end

% відновлюємо початкове представлення вектора X для вектора Y
if (flag==0)
    Y=Y';
end

clear flag m n j;