lundi 1 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;    
else if   (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