Пример кода для второй задачи по моделированию систем

%Оценка качества передачи импульсного радиосигнала с амплитудной модуляцией
%Используемые показатели: вероятность уверенного приема сигнала - PO; 
%интенсивность ложных тревог - L.
%Исследуемые факторы влияния: расстояние от источника до приемника-R;
%амплитуда импульса - Am; уровень (мощность) шума на входе приемника - NP; коэффициент
%различимости - mr (превышения порога обнаружения над уровнем шума
%uo=mr*sqrt(NP)).  
clear all;
%Задание интервала дискретизации по времени и количества отсчетов на интервале
%моделирования [0,10] с.
Ts=0.001;
Ns=10000;
%  1. Оценка PO в зависимости от R и mr при фиксированных Am и NP
%Задание неварьируемых величин
Am=3.55;
NP=0.01;
%Задание количества и диапазонов изменения факторов R (a) и mr (b)
nf=2;
minf=[1 1];
maxf=[5 2];
%формирование дробного двухуровневого плана эксперимента
%для учета взаимодействий
fracfact('a b ab' );
N=2^nf;
fracplan=ans;
fictfact=ones(N,1);
X=[fictfact ans]';
fraceks=zeros(N,nf);
for i=1:nf,
    for j=1:1,N,
fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)-minf(i))/2;
end;
end;
fraceks
%тактическое планирование эксперимента
%задание доверительного интервала и уровня значимости
dp=0.1;
alpha=0.5;
%определение t-критического
tkr_alpha=norminv(1-alpha/2);
%определение требуемого числа испытаний
NE=round(tkr_alpha^2/(4*dp^2)) 
%цикл по совокупности экспериментов стратегического плана
for j=1:1%N,
    a=fraceks(j,1); 
    b=fraceks(j,2);
    R=a
    mr=b
    %цикл статистических испытаний с фиксированным объемом
    %выборки для достижения заданной точности оценки показателя
    uo=zeros(NE,1);
    u1=zeros(NE,1);
    for k=1:NE,
%имитация функционирования системы
to=randseed; %round(rand*100); %инициализация генератора белого шума
sim('trenl',Ts*Ns); % запус модели
uo(k)=sum(simout); 
u1(k)=sum(simout1); 
    end;
    %оценка показателя (реакции) по выборке наблюдений
    P_O=sum(u1)/sum(uo)
    Y(j)=P_O;
end;
%определение коэффициентов регрессии
C=X*X';
b_=inv(C)*X*Y'
%формирование зависимости реакции системы на множестве
%значений факторов
A=minf(1):0.1:maxf(1);
B=minf(2):0.1:maxf(2);
[k N1]=size(A);
[k N2]=size(B);
for i=1:N1,
    for j=1:N2,
        an(i)=2*(A(i)-minf(1))/(maxf(1)-minf(1))-1;
        bn(j)=2*(B(j)-minf(2))/(maxf(2)-minf(2))-1;
        %экспериментальная поверхность реакции
    Yc(j,i)=b_(1)+an(i)*b_(2)+bn(j)*b_(3)+an(i)*bn(j)*b_(4);
end;
end;

%  2. Оценка L в зависимости от NP и mr при фиксированных Am=0 и R=1 
%Задание неварьируемых величин
%амплитуды сигнала (Am) и расстояния (R)
Am=0
R=1
%Задание количества и диапазонов изменения факторов NP (a) и mr (b)
nf=2;
minf=[0.001 1];
maxf=[0.01 2];
%формирование дробного двухуровневого плана эксперимента
%для учета взаимодействий
fracfact('a b ab' );
N=2^nf;
fracplan=ans;
fictfact=ones(N,1);
X=[fictfact ans]';
fraceks=zeros(N,nf);
for i=1:nf,
    for j=1:N,
fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)-minf(i))/2;
end;
end;
fraceks
%тактическое планирование эксперимента
%задание доверительного интервала и уровня значимости
dm=0.003;
alpha=0.05;
%определение t-критического
tkr_alpha=norminv(1-alpha/2);
%цикл по совокупности экспериментов стратегического плана
for j=1:N,
    a=fraceks(j,1); 
    b=fraceks(j,2);
    NP=a
    mr=b
    %организация цикла статистических испытаний с переменным объемом
    %выборки для достижения заданной точности оценки показателя
    NE=1;
    l=0;
    SQ=0;
    D=1;
    while NE < tkr_alpha^2*D/dm^2,
%имитация функционирования системы
to=randseed; %round(rand*100); %инициализация генератора белого шума
sim('trenl',Ts*Ns);
u=sum(simout1)/(Ts*Ns);
%Оценка выборочной дисперсии D измеряемого параметра
l=l+u;
SQ=SQ+u^2;
if NE>20 D=SQ/(NE-1)-(l^2)/(NE*(NE-1)); end;
NE=NE+1;
    end;
    NE
    %оценка показателя (реакции) по выборке наблюдений
    L=l/NE%-1?
    Yl(j)=L;
end;
%определение коэффициентов регрессии
Cl=X*X';
b_l=inv(Cl)*X*Yl'
%формирование зависимости реакции системы на множестве
%значений факторов
Al=minf(1):0.0001:maxf(1);
Bl=minf(2):0.01:maxf(2);
[k N1]=size(Al);
[k N2]=size(Bl);
for i=1:N1,
    for j=1:N2,
        anl(i)=2*(Al(i)-minf(1))/(maxf(1)-minf(1))-1;
        bnl(j)=2*(Bl(j)-minf(2))/(maxf(2)-minf(2))-1;
        %экспериментальная поверхность реакции
    Yo(j,i)=b_l(1)+anl(i)*b_l(2)+bnl(j)*b_l(3)+anl(i)*bnl(j)*b_l(4);
end;
end;
% отобрабражение зависимостей в трехмерной графике 
[x,y]=meshgrid(A,B);
[xl,yl]=meshgrid(Al,Bl);
figure;
subplot(1,2,1),plot3(x,y,Yc),
xlabel('fact a'),
ylabel('fact b'),
zlabel('Yc'),
title('PO'),
grid on,
subplot(1,2,2),plot3(xl,yl,Yo),
xlabel('fact a'),
ylabel('fact b'),
zlabel('Yo'),
title('L'),
grid on;

% Am=0;
% NP=0.004;
% R=4;
% mr=10;
% for i=1:10,
%     to=round(rand*100);
% sim('trenl',Ts*N);
% sum(simout)
% sum(simout1)
% end;
% >> 
% fraceks =
% 
%      1     1
%      1     2
%      5     1
%      5     2
% 
% 
% NE =
% 
%    271
% 
% 
% R =
% 
%      1
% 
% 
% mr =
% 
%      1
% 
% P_O =
% 
%     0.9373
% 
% 
% R =
% 
%      1
% 
% 
% mr =
% 
%      2
% 
% 
% P_O =
% 
%      1
% 
% 
% R =
% 
%      5
% 
% 
% mr =
% 
%      1
% 
% 
% P_O =
% 
%     0.9225
% 
% 
% R =
% 
%      5
% 
% 
% mr =
% 
%      2
% 
% 
% P_O =
% 
%     0.4982
% 
% 
% b_ =
% 
%     0.8395
%    -0.1292
%    -0.0904
%    -0.1218
% 
% 
% Am =
% 
%      0
% 
% 
% R =
% 
%      1
% 
% 
% fraceks =
% 
%     0.0010    1.0000
%     0.0010    2.0000
%     0.0100    1.0000
%     0.0100    2.0000
% 
% 
% NP =
% 
%     0.0010
% 
% 
% mr =
% 
%      1
% 
% 
% NE =
% 
%    334
% 
% 
% L =
% 
%     0.0078
% 
% 
% NP =
% 
%     0.0010
% 
% 
% mr =
% 
%      2
% 
% 
% NE =
% 
%     22
% 
% 
% L =
% 
%      0
% 
% 
% NP =
% 
%     0.0100
% 
% 
% mr =
% 
%      1
% 
% 
% NE =
% 
%    336
% 
% 
% L =
% 
%     0.0071
% 
% 
% NP =
% 
%     0.0100
% 
% 
% mr =
% 
%      2
% 
% 
% NE =
% 
%     22
% 
% 
% L =
% 
%      0
% 
% 
% b_l =
% 
%     0.0037
%    -0.0002
%    -0.0037
%     0.0002
% 
% >> 
% fraceks =
% 
%      1     1
%      1     2
%      5     1
%      5     2
% 
% 
% NE =
% 
%    271
% 
% 
% R =
% 
%      1
% 
% 
% mr =
% 
%      1
% 
% 
% P_O =
% 
%     0.9373
% 
% 
% R =
% 
%      1
% 
% 
% mr =
% 
%      2
% 
% 
% P_O =
% 
%      1
% 
% 
% R =
% 
%      5
% 
% 
% mr =
% 
%      1
% 
% 
% P_O =
% 
%     0.9004
% 
% 
% R =
% 
%      5
% 
% 
% mr =
% 
%      2
% 
% 
% P_O =
% 
%     0.4945
% 
% 
% b_ =
% 
%     0.8330
%    -0.1356
%    -0.0858
%    -0.1172
% 
% 
% Am =
% 
%      0
% 
% 
% R =
% 
%      1
% 
% 
% fraceks =
% 
%     0.0010    1.0000
%     0.0010    2.0000
%     0.0100    1.0000
%     0.0100    2.0000
% 
% 
% NP =
% 
%   1.0000e-003
% 
% 
% mr =
% 
%      1
% 
% 
% NE =
% 
%    290
% 
% 
% L =
% 
%     0.0072
% 
% 
% NP =
% 
%   1.0000e-003
% 
% 
% mr =
% 
%      2
% 
% 
% NE =
% 
%     22
% 
% 
% L =
% 
%      0
% 
% 
% NP =
% 
%     0.0100
% 
% 
% mr =
% 
%      1
% 
% 
% NE =
% 
%    445
% 
% 
% L =
% 
%     0.0106
% 
% 
% NP =
% 
%     0.0100
% 
% 
% mr =
% 
%      2
% 
% 
% NE =
% 
%     22
% 
% 
% L =
% 
%      0
% 
% 
% b_l =
% 
%     0.0045
%     0.0008
%    -0.0045
%    -0.0008
%