TMA4240 Statistikk, Høst 2015

Parallell 1

Matlabfunksjon: Simulere utdeling av n kort

function [S,H,K,R] = kortspill1(n)
%
% Simulerer utdeling av n kort til en spiller fra en vanlig kortstokk med 
% 52 kort.
%
% INPUT PARAMETERS
%   n: antall kort som deles ut
% OUTPUT PARAMETERS
%   S: vektor av 0/1 av lengde 14. S(1) er alltid lik 0, for k > 1 er
%      S(k) lik 1 hvis og bare hvis spilleren får utdelt spar nummer k.
%   H: tilsvarende som S, men for hjerter
%   K: tilsvarende som S, men for kløver
%   R: tilsvarende som S, men for ruter
 
S = zeros(14,1);
H = zeros(14,1);
K = zeros(14,1);
R = zeros(14,1);
 
if (n <= 52)  % funksjonen fungerer ikke for n > 52
 
  for (i = 1:n)
    funnet = 0;
    while (funnet == 0) 
      farge = unidrnd(4,1,1);
      verdi = 1 + unidrnd(13,1,1);
      if (farge == 1)
	if (S(verdi) == 0)
          funnet = 1;
          S(verdi) = 1;
        end
      elseif (farge == 2)
        if (H(verdi) == 0)
	  funnet = 1;
          H(verdi) = 1;
        end
      elseif (farge == 3)
	if (K(verdi) == 0)
	  funnet = 1;
          K(verdi) = 1;
        end
      else
	if (R(verdi) == 0)
	  funnet = 1;
          R(verdi) = 1;
        end
      end
    end % while-løkke
  end % for-løkke
end % if-statement
2015-08-26, Håkon Tjelmeland