Advertisement
sashachca

Untitled

Feb 21st, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 1.15 KB | None | 0 0
  1. function task1
  2. x = sort(arr200(1));
  3.  
  4. j = 0;
  5. n = [];
  6. k = 1;
  7. m = 0;
  8. N = 200; % по условию
  9.  
  10. x;
  11.  
  12. for i = 2:200
  13.   if x(i) == x(i-1)
  14.     m = m + 1;
  15.   else
  16.     k = k+1;
  17.     m = 0;
  18.   endif
  19.   n(k) = m + 1;
  20.   w(k) = n(k)/N;
  21. endfor
  22.  
  23.  
  24. % в массиве n[] содержатся каличества значений x* (например, в n(1)
  25. % написано, сколько нулей, в n(2) - сколько единиц и тд
  26.  
  27. % в массиве w[] содержатся значения относительных частот
  28.  
  29. X = 0; % выборочное среднее
  30. Y = 0;
  31. k = 0;
  32. for i = 1:200
  33.   k = x(i)+1;
  34.   X = X + x(i)*n(k);
  35. endfor
  36. X = 1/N * X;
  37.  
  38. for i = 1:200
  39.   k = x(i)+1;
  40.   Y = Y + x(i)*w(k);
  41. endfor
  42.  
  43. X
  44. Y
  45.  
  46. endfunction
  47.  
  48. function arr = arr200(x)
  49.   arrp = [];
  50.   arrb = [];
  51.   arrg = [];
  52.   V = 17;
  53.   n = 5 + mod(V, 16);
  54.   p = 0.1 + 0.01*V;
  55.   lambda = 0.5 + 0.1*V;
  56.   for i = 1:200
  57.     arrb(i) = binornd(n, p);
  58.     arrg(i) = geornd(p);
  59.     arrp(i) = poissrnd(lambda);
  60.   endfor
  61.  
  62.   if x == 1
  63.     arr = arrb;
  64.   elseif x == 2
  65.     arr = arrg;
  66.   elseif x == 3
  67.     arr = arrp;
  68.   endif
  69. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement