Модификация и комплексирование алгоритмов диагностирования. Построенная система диагностирования, для обнаружения изменения параметров объекта диагностирования

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Фрагмент текста работы

Корреляционная матрица ошибок фильтрации

X1_ = [sigmx; 0];   % Начальная оценка наблюдения

% Счетчик цикла реализаций (дискретное время)

n = count; 

n1 = count / 2;             % при дефекте

Zi = zeros(1, n);

Zm = zeros(1, n);   % размер матрицы                      

% Цикл реализации работы фильтра

for i = 1:n       

if i == n1

mu1 = mu1+mu1_offset;

sigmy = sigmy * sigmy_offset;

end

% Моделирование состояний

X1 = A*X1 + sigmx*(randn);

Xm(1,i) = X1(1,1);  

% Моделирование наблюдений

Y = C*X1 + sigmy*(randn + Msm);

% Вычисление матричного коэффициента усиления

%  и корреляционной матрицы ошибок экстраполяции

Q = A*P*A' + F*mu1*F';

K = Q*(C')*((C*Q*(C') + sigmy)^-1);

P = Q - K*C*Q;    

% Оценка вектора состояния и вычисление обновляющей

%  последовательности

X1_ = A*X1_ + F*mu1 + K*(Y - C*(A*X1_ + F*mu1));   

Z1 = Y - C*(A*X1_ + F*mu1);

Zi(i) = Z1;

% Нормировочный коэффициент

S = sigmy + C*P*(C') - sigmy*(K')*(C') - C*K*sigmy;

% Нормируем обновляющую последовательность

Z = 0.5*(Z1)*(S^-0.5);

Zm(1,i)=Z;     

% Вычисляем автокорреляционную функцию

r = covf2(Zm',10);

% Оценка коэффициентов

a1_=r(2)*(1-r(3))/(1-r(2)^2);

a2_=(r(3)-r(2)^2)/(1-r(2)^2);

if i == 1 %ASO

S1(i) = alpha*(Zi(i)-mu);

R1(i) = (1-alpha)*(2/pi)^.5+alpha*abs(Zi(i)-mu);

else

S1(i) = (1-alpha)*S1(i-1)+alpha*(Zi(i)-mu);

R1(i) = (1-alpha)*R1(i-1)+alpha*abs(Zi(i)-mu);

end

if  mean (Zi) > mu %AKS

if i == 1

G_AKS(i) = max(0, sign(Zi(i) - mu - vetta/2));

else

G_AKS(i) = max(0, (G_AKS(i-1)+1) * sign(Zi(i)- mu - vetta/2));

end

else

if i == 1

G_AKS(i) = max(0, -sign(Zi(i) - mu + vetta/2));

else

G_AKS(i) = max(0, (G_AKS(i-1)+1) * (-sign(Zi(i)- mu + vetta/2)));

end 

end

if sigmy_offset == 1

G_ASO(i)=S1(i)/R1(i); %ASO

else

G_ASO(i)=R1(i); %ASO

end           

if (((G_ASO(i) >= h2) || (G_ASO(i) <= h1)) && (G_AKS(i) > h))

Def(i) = 1;

else

Def(i) = 0;

end

end

for k = 1:n/2

b(k)=Def(k);

end

Plo(j) = mean(b);

t = 0;

for l = Dfm:n

if Def(l) == 1

t = t + l - Dfm;

break;

end

end

tau(j) = t;

end

%tau_int(1,1) = mean(tau) - tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

%tau_int(1,2) = mean(tau) + tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

%plot(Def, 'black'), hold on;

%plot(G1, 'r'), hold on;

%plot([1,n], [h1,h1], 'black'), hold on;

%plot([1,n], [h2,h2], 'black'), hold on;

%grid;

%xlabel('N');

%ylabel('G');

disp('Вероятность ложного обнаружения:');

disp( mean(Plo) );

disp('Время обнаружения:');

disp( mean(tau) );

%disp('Интервальная оценка времени обнаружения:');

%disp( tau_int );

Наборы параметров алгоритмов, обеспечивающих заданный уровень вероятности ложного обнаружения Plo:

0,01

0,07

0.65(4.5)

3.9

0,02

0,07

0.6(4.3)

3.1

Таблица. Зависимость среднего времени обнаружения и вероятности ложного обнаружения от типа дефекта.

Тип дефекта

Значение

Постоянное смещение уровня шумов в канале

малый (2)

0.01

53,9

0,0014

0.02

30.7

0,0018

средний(4)

0.01

20,9

0,0018

0.02

16,6

0,016

большой(8)

0.01

8,1

0,0022

0.02

8,9

0,004

Увеличение дисперсии шумов в канале

малый (4)

0.01

27,3

0,0002

0.02

27.7

0,0016

средний(8)

0.01

17.5

0,0004

0.02

17

0,001

большой(16)

0.01

15.2

0,0014

0.02

14.5

0,001

У комплексных алгоритмов среднее время обнаружения дефектов больше, чем у каждого алгоритма в отдельности. При этом вероятность ложного обнаружения уменьшилась на порядок.

2.  Моделирование модифицированного АКС-м2

Скрипт реализующий модифицированный АКС-м2  ( с глубиной решающей функции )  и оценку вероятности ложного обнаружения.

Моделирование 100 экспериментов по 1000 шагов в каждом.

lab82.m

clear all;

%Plo = zeros(1, 100);

%tau = zeros(1, 100);

figure

% Процесс авторегресии первого порядка x(n) = a1*x(n-1)+g

% Процесс авторегресии второго порядка x(n) = a1*x(n-1)+a2*x(n-2)+g

a1 = 0.2;          % Коэффициент авторегресси a1

a2 = 0.4; % 0 0.4     % Коэффициент авторегресси a2

A = [a1 a2; 1 0];   % Матрица состояния

q = 0.95;       % доверительная вероятность

sigm = 1;   % Дисперсия в канале возмущения

% Вычисляем дисперсию шума возмущения   

sigmx = sigm * sqrt( (1+a2)*((1-a2)^2-a1^2)/(1-a2) );

Nexp = 100;

for j = 1:Nexp    % кол-во экспериментов

count = 1000;    % кол-во шагов

vetta = 4;    % порог чувствительности

%mu1 = 0;        % МО до дефекта

%mu2 = 1;        % МО после дефекта

betta1 = 1;     % дисперсия случайного процесса

G1 = zeros(1, count);

G2 = zeros(1, count);

G3 = zeros(1, count);

S1 = zeros(1, count);

S1m = zeros(1, count);

S2 = zeros(1, count);  

S2m = zeros(1, count);

S3 = zeros(1, count);  

S3m = zeros(1, count);

h = 3.1; %3.9 - 0.01 3.1 - 0.02

deep = 0;

Def = zeros(1,count);

Def(1) = 0;

Dfm = count/2;     % момент возникновения дефекта

mu1 = 0;             % МО шума возмущения

mu = mu1;

mu1_offset = 4; %0 1 2 4 cмещение шума возмущения

Msm = 0;            % Постоянное смещение уровня шумов в канале измерения       

F = [1;0];          % Вектор входа по возмущению

% Параметры наблюдателя

C = [1 0];          % Вектор измерения по состоянию

sigmy = 4;          % Дисперсия шума измерения

sigmy_offset = 1; % 1 1.5 2.5 5% Изменение дисперсии шума измерения

% Начальные условия

X1 = [0; 0];        % Начальное наблюдение

P = [1 0; 0 1];     % Корреляционная матрица ошибок фильтрации

X1_ = [sigmx; 0];   % Начальная оценка наблюдения

% Счетчик цикла реализаций (дискретное время)

n = count; 

n1 = count / 2;             % при дефекте

%Zi = zeros(1, n);

%Zm = zeros(1, n);   % размер матрицы                      

% Цикл реализации работы фильтра

for i = 1:n      

if i == n1

mu1 = mu1+mu1_offset;

sigmy = sigmy * sigmy_offset;

end

% Моделирование состояний

X1 = A*X1 + sigmx*(randn);

Xm(1,i) = X1(1,1);  

% Моделирование наблюдений

Y = C*X1 + sigmy*(randn + Msm);

% Вычисление матричного коэффициента усиления

%  и корреляционной матрицы ошибок экстраполяции

Q = A*P*A' + F*mu1*F';

K = Q*(C')*((C*Q*(C') + sigmy)^-1);

P = Q - K*C*Q;    

% Оценка вектора состояния и вычисление обновляющей

%  последовательности

X1_ = A*X1_ + F*mu1 + K*(Y - C*(A*X1_ + F*mu1));   

Z1 = Y - C*(A*X1_ + F*mu1);

Zi(i) = Z1;

% Нормировочный коэффициент

S = sigmy + C*P*(C') - sigmy*(K')*(C') - C*K*sigmy;

% Нормируем обновляющую последовательность

Z = 0.5*(Z1)*(S^-0.5);

Zm(1,i)=Z;     

% Вычисляем автокорреляционную функцию

r = covf2(Zm',10);

% Оценка коэффициентов

a1_=r(2)*(1-r(3))/(1-r(2)^2);

a2_=(r(3)-r(2)^2)/(1-r(2)^2);

if  mean (Zi) > mu

if i == 1

G1(i) = max(0, sign(Zi(i) - mu - vetta/2));

else

G1(i) = max(0, (G1(i-1)+1) * sign(Zi(i)- mu - vetta/2));

end

else

if i == 1

G1(i) = max(0, -sign(Zi(i) - mu + vetta/2));

else

G1(i) = max(0, (G1(i-1)+1) * (-sign(Zi(i)- mu + vetta/2)));

end 

end

%if(G1(i) < h)

%    Def(i) = 0;

%else

%    Def(i) = 1;

%end

if i > deep

for aaa = 0:deep

if (G1(i-aaa) < h)

Def(i) = 0;

break;

else

Def(i) = 1;

end

end

end

end

for k = 1:n/2

b(k)=Def(k);

end

Plo(j) = mean(b);

t = 0;

for l = Dfm:n

if Def(l) == 1

t = l - Dfm;

break;

end

end

tau(j) = t;

end

tau_int(1,1) = mean(tau) - tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

tau_int(1,2) = mean(tau) + tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

plot(Def, 'black'), hold on;

plot(G1, 'r'), hold on;

plot([1,n], [h,h], 'black'), hold on;

grid;

xlabel('N');

ylabel('G');

disp('Вероятность ложного обнаружения:');

disp( mean(Plo) );

disp('Время обнаружения:');

disp( mean(tau) );

disp('Интервальная оценка времени обнаружения:');

disp( tau_int );

С глубиной, равной нулю, мы делали опыты в предыдущей работе. Возьмем ещё глубину deep= 2 и 4.

Тип дефекта

Значение

Постоянное смещение уровня шумов в канале

малый (2)

39.9

0.002

средний(4)

12.6

0.0008

Deep = 2

большой(8)

6.7

0.0004

Увеличение дисперсии шумов в канале

малый (4)

110

0.0008

средний(8)

92.8

0.0006

большой(16)

84.8

0.0003

Тип дефекта

Значение

Постоянное смещение уровня шумов в канале

малый (2)

142

0

средний(4)

17.3

0.0002

Deep = 4

большой(8)

8

0.0002

Увеличение дисперсии шумов в канале

малый (4)

68.4

0.0004

средний(8)

61.6

0

большой(16)

60

0.0006

С увеличением глубины, вероятность ложного обнаружения уменьшается и увеличивается среднее время обнаружения. Вобщем это и так понятно из теории. А для выявления дефектов дисперсии этот алгоритм плохо подходит.

3.  Моделирование модифицированного алгоритма АСО

Скрипт реализующий модифицированный алгоритм АСО (с глубиной решающей функции)  и оценку вероятности ложного обнаружения.

Моделирование 100 экспериментов по 1000 шагов в каждом.

lab83.m

clear all;

%Plo = zeros(1, 100);

%tau = zeros(1, 100);

figure

% Процесс авторегресии первого порядка x(n) = a1*x(n-1)+g

% Процесс авторегресии второго порядка x(n) = a1*x(n-1)+a2*x(n-2)+g

q = 0.95;

a1 = 0.2;          % Коэффициент авторегресси a1

a2 = 0.4; % 0 0.4     % Коэффициент авторегресси a2

A = [a1 a2; 1 0];   % Матрица состояния

sigm = 1;   % Дисперсия в канале возмущения

% Вычисляем дисперсию шума возмущения   

sigmx = sigm * sqrt( (1+a2)*((1-a2)^2-a1^2)/(1-a2) );

Nexp = 100;

for j = 1:Nexp    % кол-во экспериментов

count = 1000;    % кол-во шагов

vetta = 4;    % порог чувствительности

%mu1 = 0;        % МО до дефекта

%mu2 = 1;        % МО после дефекта

betta1 = 1;     % дисперсия случайного процесса

G1 = zeros(1, count);

G2 = zeros(1, count);

G3 = zeros(1, count);

S1 = zeros(1, count);

R1 = zeros(1, count);

S2 = zeros(1, count);  

S2m = zeros(1, count);

S3 = zeros(1, count);  

S3m = zeros(1, count);

alpha = 0.07;

h1 = -0.6; %0.65 - 0.01 0.6 - 0.02

h2 = 0.6; %4.5 - 0.01; 4.3 - 0.02

deep = 2

Def = zeros(1,count);

Def(1) = 0;

Dfm = count/2;     % момент возникновения дефекта

mu1 = 0;             % МО шума возмущения

mu = mu1;

mu1_offset = 2; %0 1 2 4 cмещение шума возмущения

Msm = 0;            % Постоянное смещение уровня шумов в канале измерения       

F = [1;0];          % Вектор входа по возмущению

% Параметры наблюдателя

C = [1 0];          % Вектор измерения по состоянию

sigmy = 4;          % Дисперсия шума измерения

sigmy_offset = 1; % 1 1.5 2.5 5% Изменение дисперсии шума измерения

% Начальные условия

X1 = [0; 0];        % Начальное наблюдение

P = [1 0; 0 1];     % Корреляционная матрица ошибок фильтрации

X1_ = [sigmx; 0];   % Начальная оценка наблюдения

% Счетчик цикла реализаций (дискретное время)

n = count; 

n1 = count / 2;             % при дефекте

Zi = zeros(1, n);

Zm = zeros(1, n);   % размер матрицы                      

% Цикл реализации работы фильтра

for i = 1:n      

if i == n1

mu1 = mu1+mu1_offset;

sigmy = sigmy * sigmy_offset;

end

% Моделирование состояний

X1 = A*X1 + sigmx*(randn);

Xm(1,i) = X1(1,1);  

% Моделирование наблюдений

Y = C*X1 + sigmy*(randn + Msm);

% Вычисление матричного коэффициента усиления

%  и корреляционной матрицы ошибок экстраполяции

Q = A*P*A' + F*mu1*F';

K = Q*(C')*((C*Q*(C') + sigmy)^-1);

P = Q - K*C*Q;     

% Оценка вектора состояния и вычисление обновляющей

%  последовательности

X1_ = A*X1_ + F*mu1 + K*(Y - C*(A*X1_ + F*mu1));   

Z1 = Y - C*(A*X1_ + F*mu1);

Zi(i) = Z1;

% Нормировочный коэффициент

S = sigmy + C*P*(C') - sigmy*(K')*(C') - C*K*sigmy;

% Нормируем обновляющую последовательность

Z = 0.5*(Z1)*(S^-0.5);

Zm(1,i)=Z;     

% Вычисляем автокорреляционную функцию

r = covf2(Zm',10);

% Оценка коэффициентов

a1_=r(2)*(1-r(3))/(1-r(2)^2);

a2_=(r(3)-r(2)^2)/(1-r(2)^2);

if i == 1

S1(i) = alpha*(Zi(i)-mu);

R1(i) = (1-alpha)*(2/pi)^.5+alpha*abs(Zi(i)-mu);

else

S1(i) = (1-alpha)*S1(i-1)+alpha*(Zi(i)-mu);

R1(i) = (1-alpha)*R1(i-1)+alpha*abs(Zi(i)-mu);

end

if sigmy_offset == 1

G1(i)=S1(i)/R1(i); %ASO

else

G1(i)=R1(i); %ASO

end

%if ((G1(i) < h2) && (G1(i) > h1))

%   Def(i) = 0;

% else

%    Def(i) = 1;

%end

if i > deep

for aaa = 0:deep

if ((G1(i-aaa) < h2) && (G1(i-aaa) > h1))

Def(i) = 0;

break;

else

Def(i) = 1;

end

end

end

end

for k = 1:n/2

b(k)=Def(k);

end

Plo(j) = mean(b);

t = 0;

for l = Dfm:n

if Def(l) == 1

t = t + l - Dfm;

break;

end

end

tau(j) = t;

end

tau_int(1,1) = mean(tau) - tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

tau_int(1,2) = mean(tau) + tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

plot(Def, 'black'), hold on;

plot(G1, 'r'), hold on;

plot([1,n], [h1,h1], 'black'), hold on;

plot([1,n], [h2,h2], 'black'), hold on;

grid;

xlabel('N');

ylabel('G');

disp('Вероятность ложного обнаружения:');

disp( mean(Plo) );

disp('Время обнаружения:');

disp( mean(tau) );

disp('Интервальная оценка времени обнаружения:');

disp( tau_int );

Тип дефекта

Значение

Постоянное смещение уровня шумов в канале

малый (2)

18.5

0.007

средний(4)

12.7

0.006

Deep = 2

большой(8)

7.4

0.007

Увеличение дисперсии шумов в канале

малый (4)

4

0.01

средний(8)

2.4

0.008

большой(16)

2

0.009

Тип дефекта

Значение

Постоянное смещение уровня шумов в канале

малый (2)

25.1

0.005

средний(4)

13.5

0.002

Deep = 4

большой(8)

10.6

0.003

Увеличение дисперсии шумов в канале

малый (4)

6.1

0.008

средний(8)

4.4

0.003

большой(16)

4.4

0.006

У модифицированного алгоритма АСО при увеличении глубины решающей функции среднее время обнаружения дефектов возрастает, а вероятность ложного обнаружения уменьшается.

4. Моделирование комплексных алгоритмов на основе модифицированных алгоритмов.

Скрипт реализующий комплексные алгоритмы  и оценку вероятности ложного обнаружения.

Моделирование 100 экспериментов по 1000 шагов в каждом.

lab84.m

clear all;

%Plo = zeros(1, 100);

%tau = zeros(1, 100);

%figure

% Процесс авторегресии первого порядка x(n) = a1*x(n-1)+g

% Процесс авторегресии второго порядка x(n) = a1*x(n-1)+a2*x(n-2)+g

q = 0.95;

a1 = 0.2;          % Коэффициент авторегресси a1

a2 = 0.4; % 0 0.4     % Коэффициент авторегресси a2

A = [a1 a2; 1 0];   % Матрица состояния

sigm = 1;   % Дисперсия в канале возмущения

% Вычисляем дисперсию шума возмущения   

sigmx = sigm * sqrt( (1+a2)*((1-a2)^2-a1^2)/(1-a2) );

Nexp = 100;

for j = 1:Nexp    % кол-во экспериментов

count = 1000;    % кол-во шагов

vetta = 4;    % порог чувствительности

%mu1 = 0;        % МО до дефекта

%mu2 = 1;        % МО после дефекта

betta1 = 1;     % дисперсия случайного процесса

G_ASO = zeros(1, count);

G_AKS = zeros(1, count);

G3 = zeros(1, count);

S1 = zeros(1, count);

R1 = zeros(1, count);

S2 = zeros(1, count);  

S2m = zeros(1, count);

S3 = zeros(1, count);  

S3m = zeros(1, count);

alpha = 0.07;

h1 = -0.6; %0.65 - 0.01 0.6 - 0.02

h2 = 0.6; %4.5 -0.01 4.3 - 0.02;

h = 3.1; %AKS 3.9 - 0.01 3.1 - 0.02

deep = 0;

Def = zeros(1,count);

Def(1) = 0;

Dfm = count/2;     % момент возникновения дефекта

mu1 = 0;             % МО шума возмущения

mu = mu1;

mu1_offset = 4; %0 1 2 4 cмещение шума возмущения

Msm = 0;            % Постоянное смещение уровня шумов в канале измерения       

F = [1;0];          % Вектор входа по возмущению

% Параметры наблюдателя

C = [1 0];          % Вектор измерения по состоянию

sigmy = 4;          % Дисперсия шума измерения

sigmy_offset = 1; % 1 1.5 2.5 5% Изменение дисперсии шума измерения

% Начальные условия

X1 = [0; 0];        % Начальное наблюдение

P = [1 0; 0 1];     % Корреляционная матрица ошибок фильтрации

X1_ = [sigmx; 0];   % Начальная оценка наблюдения

% Счетчик цикла реализаций (дискретное время)

n = count; 

n1 = count / 2;             % при дефекте

Zi = zeros(1, n);

Zm = zeros(1, n);   % размер матрицы                      

% Цикл реализации работы фильтра

for i = 1:n       

if i == n1

mu1 = mu1+mu1_offset;

sigmy = sigmy * sigmy_offset;

end

% Моделирование состояний

X1 = A*X1 + sigmx*(randn);

Xm(1,i) = X1(1,1);  

% Моделирование наблюдений

Y = C*X1 + sigmy*(randn + Msm);

% Вычисление матричного коэффициента усиления

%  и корреляционной матрицы ошибок экстраполяции

Q = A*P*A' + F*mu1*F';

K = Q*(C')*((C*Q*(C') + sigmy)^-1);

P = Q - K*C*Q;    

% Оценка вектора состояния и вычисление обновляющей

%  последовательности

X1_ = A*X1_ + F*mu1 + K*(Y - C*(A*X1_ + F*mu1));   

Z1 = Y - C*(A*X1_ + F*mu1);

Zi(i) = Z1;

% Нормировочный коэффициент

S = sigmy + C*P*(C') - sigmy*(K')*(C') - C*K*sigmy;

% Нормируем обновляющую последовательность

Z = 0.5*(Z1)*(S^-0.5);

Zm(1,i)=Z;     

% Вычисляем автокорреляционную функцию

r = covf2(Zm',10);

% Оценка коэффициентов

a1_=r(2)*(1-r(3))/(1-r(2)^2);

a2_=(r(3)-r(2)^2)/(1-r(2)^2);

if i == 1 %ASO

S1(i) = alpha*(Zi(i)-mu);

R1(i) = (1-alpha)*(2/pi)^.5+alpha*abs(Zi(i)-mu);

else

S1(i) = (1-alpha)*S1(i-1)+alpha*(Zi(i)-mu);

R1(i) = (1-alpha)*R1(i-1)+alpha*abs(Zi(i)-mu);

end

if  mean (Zi) > mu %AKS

if i == 1

G_AKS(i) = max(0, sign(Zi(i) - mu - vetta/2));

else

G_AKS(i) = max(0, (G_AKS(i-1)+1) * sign(Zi(i)- mu - vetta/2));

end

else

if i == 1

G_AKS(i) = max(0, -sign(Zi(i) - mu + vetta/2));

else

G_AKS(i) = max(0, (G_AKS(i-1)+1) * (-sign(Zi(i)- mu + vetta/2)));

end 

end

if sigmy_offset == 1

G_ASO(i)=S1(i)/R1(i); %ASO

else

G_ASO(i)=R1(i); %ASO

end

if i > deep

for aaa = 0:deep

if (((G_ASO(i) < h2) && (G_ASO(i) > h1)) || (G_AKS(i) < h))

Def(i) = 0;

break;

else

Def(i) = 1;

end

end

end

%if (((G_ASO(i) >= h2) || (G_ASO(i) <= h1)) && (G_AKS(i) > h))

%    Def(i) = 1;

%else

%    Def(i) = 0;

%end

end

for k = 1:n/2

b(k)=Def(k);

end

Plo(j) = mean(b);

t = 0;

for l = Dfm:n

if Def(l) == 1

t = t + l - Dfm;

break;

end

end

tau(j) = t;

end

%tau_int(1,1) = mean(tau) - tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp);

%tau_int(1,2) = mean(tau) + tinv( (1+q)/2, Nexp-1 ) * std(tau) / sqrt(Nexp

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.