Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %% Стратегическое и тактическое планирование модельного эксперимента
- clc;
- clear all;
- %задание количества факторов и диапазонов значений факторов
- nf=3;
- minf=[-5 -10 0];
- maxf=[5 10 20]; %задание количества уровней каждого фактора
- level=[3 3 2]; %формирование полного плана эксперимента
- fullfact(level);
- fulplan = ans
- N=3*3*2;
- for i=1:nf,
- for j=1:N,
- fuleks(j,i)=minf(i)+(fulplan(j,i)-1)*(maxf(i)-minf(i))/(level(i)-1);
- end;
- end;
- fuleks
- %% Формирование полного двухуровневого плана эксперимента
- ff2n(nf);
- N=2^nf;
- ff2nplan = ans
- for i=1:nf,
- for j=1:N,
- fuleks2n(j,i)=minf(i)+ff2nplan(j,i)*(maxf(i)-minf(i));
- end;
- end;
- fuleks2n
- %% Формирование дробного двухуровневого плана эксперимента
- N=2^nf;
- fracfact('a b c ab bc ac abc' );
- 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
- clear all;
- nf=2;
- minf=[1 0.5];
- maxf=[5 1];
- %формирование дробного двухуровневого плана эксперимента
- %для учета взаимодействий
- 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
- %% Tактическое планирование эксперимента
- %задание доверительного интервала и уровня значимости
- d_sigma=0.1;
- alpha=0.05;
- %определение t-критического
- tkr_alpha=norminv(1-alpha/2);
- %определение требуемого числа испытаний
- NE=round(1+2*tkr_alpha^2/d_sigma^2)
- %цикл по совокупности экспериментов стратегического плана
- for j=1:N,
- a=fraceks(j,1);
- b=fraceks(j,2);
- %цикл статистических испытаний
- for k=1:NE,
- %имитация функционирования системы
- u(k)=systemeqv(a,b);
- end;
- %оценка параметров (реакции) по выборке наблюдений
- mx=mean(u);
- DX=std(u)^2;
- Y(j)=DX;
- %формирование и отображение гистограммы с 12-ю интервалами
- figure;
- hist(u,12);
- 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);
- %теоретическая поверхность реакции
- Yo(j,i)=(A(i)^2)*exp(B(j)^2)*(exp(B(j)^2)-1);
- end
- end
- % отображение зависимостей в трехмерной графике
- [x,y]=meshgrid(A,B);
- figure;
- subplot(1,2,1),plot3(x,y,Yc),
- xlabel('fact a'),
- ylabel('fact b'),
- zlabel('Yc'),
- title('System output'),
- grid on,
- subplot(1,2,2),plot3(x,y,Yo),
- xlabel('fact a'),
- ylabel('fact b'),
- zlabel('Yo'),
- title('System output'),
- grid on;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement