Advertisement
medajibka

Untitled

Feb 19th, 2024
964
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 4.18 KB | None | 0 0
  1. %% Стратегическое и тактическое планирование модельного эксперимента
  2. clc;
  3. clear all;
  4. %задание количества факторов и диапазонов значений факторов
  5. nf=3;
  6. minf=[-5 -10 0];
  7. maxf=[5 10 20]; %задание количества уровней каждого фактора
  8. level=[3 3 2]; %формирование полного плана эксперимента  
  9. fullfact(level);
  10. fulplan = ans
  11.  
  12. N=3*3*2;
  13. for i=1:nf,
  14.     for j=1:N,
  15.         fuleks(j,i)=minf(i)+(fulplan(j,i)-1)*(maxf(i)-minf(i))/(level(i)-1);
  16.     end;
  17. end;
  18. fuleks
  19.  
  20. %% Формирование полного двухуровневого плана эксперимента
  21. ff2n(nf);
  22. N=2^nf;
  23. ff2nplan = ans
  24. for i=1:nf,
  25.     for j=1:N,
  26.         fuleks2n(j,i)=minf(i)+ff2nplan(j,i)*(maxf(i)-minf(i));
  27.     end;
  28. end;
  29. fuleks2n
  30.  
  31. %% Формирование дробного двухуровневого плана эксперимента
  32. N=2^nf;
  33. fracfact('a b c ab bc ac abc' );
  34. fracplan = ans
  35.  
  36. %% Формирование транспонированной матрицы плана с добавлением фиктивного фактора
  37. fictfact=ones(N,1);
  38. X=[fictfact ans]';
  39.  
  40. fraceks=zeros(N,nf);
  41. for i=1:nf,
  42.     for j=1:N,
  43.         fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)-minf(i))/2;
  44.     end;
  45. end;
  46. fraceks
  47.  
  48. clear all;
  49. nf=2;
  50. minf=[1 0.5];
  51. maxf=[5 1];
  52. %формирование дробного двухуровневого плана эксперимента
  53. %для учета взаимодействий
  54. fracfact('a b ab' );
  55. N=2^nf;
  56. fracplan = ans
  57. fictfact=ones(N,1);
  58. X=[fictfact ans]'
  59. fraceks=zeros(N,nf);
  60. for i=1:nf,
  61.     for j=1:N,
  62.         fraceks(j,i)=minf(i)+(fracplan(j,i)+1)*(maxf(i)-minf(i))/2;
  63.     end;
  64. end;
  65. fraceks
  66.  
  67. %% Tактическое планирование эксперимента
  68. %задание доверительного интервала и уровня значимости
  69. d_sigma=0.1;
  70. alpha=0.05;
  71. %определение t-критического
  72. tkr_alpha=norminv(1-alpha/2);
  73. %определение требуемого числа испытаний
  74. NE=round(1+2*tkr_alpha^2/d_sigma^2)
  75.  
  76. %цикл по совокупности экспериментов стратегического плана
  77. for j=1:N,    
  78.     a=fraceks(j,1);      
  79.     b=fraceks(j,2);    
  80.     %цикл статистических испытаний    
  81.     for k=1:NE,        
  82.         %имитация функционирования системы        
  83.         u(k)=systemeqv(a,b);    
  84.     end;    
  85.     %оценка параметров (реакции) по выборке наблюдений        
  86.     mx=mean(u);        
  87.     DX=std(u)^2;    
  88.     Y(j)=DX;    
  89.     %формирование и отображение гистограммы с 12-ю интервалами    
  90.     figure;    
  91.     hist(u,12);
  92. end;
  93.  
  94. %% Определение коэффициентов регрессии
  95. C=X*X';
  96. b_=inv(C)*X*Y'
  97.  
  98. %% Формирование зависимости реакции системы на множестве
  99. %реальных значений факторов
  100. A=minf(1):0.1:maxf(1);
  101. B=minf(2):0.1:maxf(2);
  102. [k N1]=size(A);
  103. [k N2]=size(B);
  104. for i=1:N1      
  105.     for j=1:N2      
  106.         an(i)=2*(A(i)-minf(1))/(maxf(1)-minf(1))-1;      
  107.         bn(j)=2*(B(j)-minf(2))/(maxf(2)-minf(2))-1;      
  108.         %экспериментальная поверхность реакции      
  109.         Yc(j,i)=b_(1)+an(i)*b_(2)+bn(j)*b_(3)+an(i)*bn(j)*b_(4);      
  110.         %теоретическая поверхность реакции      
  111.         Yo(j,i)=(A(i)^2)*exp(B(j)^2)*(exp(B(j)^2)-1);
  112.     end
  113. end
  114. % отображение зависимостей в трехмерной графике  
  115. [x,y]=meshgrid(A,B);
  116. figure;
  117. subplot(1,2,1),plot3(x,y,Yc),
  118. xlabel('fact a'),
  119. ylabel('fact b'),
  120. zlabel('Yc'),
  121. title('System output'),
  122. grid on,
  123. subplot(1,2,2),plot3(x,y,Yo),
  124. xlabel('fact a'),
  125. ylabel('fact b'),
  126. zlabel('Yo'),
  127. title('System output'),
  128. grid on;
  129.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement