mardi 2 février 2016

how to select wanted ( needed situations) dual elements which are randomly generated by using random sampling in matlab?

I have 2 different random selected variables. The first one is number of bedrooms which is r1 and the second one is number of people in the dwelling which is r2. there are different certain constant values, which are going to be used for selection of house size.Wanted combinations

There are 24 different combinations that both of random generators can produce by using number of bedrooms and number of people in the house. there is no problem if the random generators produce wanted combinations.If not, there is a problem come out which is unwanted combinations.

How can get rid of this unwanted combinations or how to solve this problem in another way?

My code is as follows:

R1 = randsample('xyzq',1,true,[0.1 0.2 0.43 0.27]);  % Probability of number of bedrooms in dwellings
r1=R1;
R2 = randsample('abcdef',1,true,[0.283 0.358 0.163 0.134 0.044 0.018]);  %Probability of Household size in UK
r2=R2;

if (r1 == 'x'  && r2 == 'a')        % 37m2  1 bed, 1 per
    A_roof = 37;
    A_floor = 37;
    A_wall = 35;
    A_door = 3;
    A_windows = 3;
elseif (r1 == 'x' && r2 == 'b')             % 50m2  1 bed, 2 per
    A_roof = 50;
    A_floor = 50;
    A_wall = 47;
    A_door = 6;
    A_windows = 6;
elseif (r1 == 'y' && r2 == 'c')             % 61m2     2 bed, 3 per
    A_roof = 61;
    A_floor = 61;
    A_wall = 42;
    A_door = 5;
    A_windows = 5;
elseif    (r1 == 'y'  && r2 == 'd')          % 70m2  2 bed, 4 per
    A_roof = 70;
    A_floor = 70;
    A_wall = 50;
    A_door = 5;
    A_windows = 5;
elseif   (r1 == 'y' && r2 == 'd')            % 74m2 3 bed, 4 per
    A_roof = 74;
    A_floor = 74;
    A_wall = 51;
    A_door = 6;
    A_windows = 6;
elseif   (r1 == 'z' && r2 == 'e')           % 86m2 3 bed, 5 per
    A_roof = 86;
    A_floor = 86;
    A_wall = 55;
    A_door = 6;
    A_windows = 6;
elseif   (r1 == 'z' && r2 == 'f')              % 95m2 3 bed, 6 per
    A_roof = 95;
    A_floor = 95;
    A_wall = 70;
    A_door = 7;
    A_windows = 7;
elseif   (r1 == 'q'  && r2 == 'e')            % 90m2 4 bed, 5 per
    A_roof = 90;
    A_floor = 90;
    A_wall = 68;
    A_door = 7;
    A_windows = 7;
elseif   (r1 == 'q' && r2 == 'f')             % 99m2 4 bed, 6 per
    A_roof = 99;
    A_floor = 99;
    A_wall = 74;
    A_door = 8;
    A_windows = 8;
elseif   (r1 == 'y' && r2 == 'd')            % 83m2 2 bed, 4 per
    A_roof = 40;
    A_floor = 83;
    A_wall = 105;
    A_door = 8;
    A_windows = 8;
elseif   (r1 == 'z') && (r2 == 'd')           % 87m2 3 bed, 4 per
    A_roof = 42;
    A_floor = 87;
    A_wall = 105;
    A_door = 8;
    A_windows = 8;
elseif   (r1 == 'z'  && r2 == 'e')           % 96m2 3 bed, 5 per
    A_roof = 46;
    A_floor = 96;
    A_wall = 150;
    A_door = 10;
    A_windows = 10;
elseif   (r1 == 'q' && r2 == 'e')            % 100m2 4 bed, 5 per

    A_roof = 50;
    A_floor = 100;
    A_wall = 180;
    A_door = 10;
    A_windows = 10;
elseif(r1 == 'q'  && r2 == 'f')           % 107m2 4 bed, 6 per
    A_roof = 55;
    A_floor = 107;
    A_wall = 125;
    A_door = 10;
    A_windows = 10;
elseif   (r1 == 'z' && r2 == 'e')            % 102m2 3 bed, 5 per
    A_roof = 50;
    A_floor = 102;
    A_wall = 200;
    A_door = 10;
    A_windows = 10;
elseif    (r1 == 'q' && r2 == 'e')           % 106m2 4 bed, 5 per
    A_roof = 55;
    A_floor = 106;
    A_wall = 200;
    A_door = 10;
    A_windows = 10;
elseif   (r1 == 'q' && r2 == 'f')            % 113m2 4 bed, 6 per
    A_roof = 60;
    A_floor = 113;
    A_wall = 200;
    A_door = 10;
    A_windows = 10;

end




Aucun commentaire:

Enregistrer un commentaire