%
%  Beispiel solaris
%  Matlabkurs WS 2011
%
%  R. Unger 12/2011
%
clear
close all

% Zustaende 
%   0 ... Regentag nach Regentag, d.h. Batterie leer - Auto steht
%   1 ... Regentag nach Sonnentag, .d.h Auto faeht mit Batterie
%   2 ... Sonnentag, Auto faehrt mit Sonne

% Wetter
%  0  ... Regen
%  1  ... Sonne


state    = 2
weather  = 1
day=0

drive=0


while (day<5000000)
  day=day+1;
  r=rand;

  % Wetterwechsel
  % nach einem Sonnentag folgt mit Wkt 1/3 ein Regentag
  % nach einem Regentag  folgt mit Wkt 3/4 ein Sonnentag
  if (weather==1 ) 
     if ( r< 1/3) 
       weather=0;
     else
       weather=1;
     end
   else
     if ( r< 3/4) 
       weather=1;
     else
       weather=0;
     end
   end;

   % Zustandswechsel
   if (weather==1) 
     state = 2;
   else
     state = max (state-1 , 0);
   end
  
   if (state ~= 0) 
     drive=drive+1;
   end

   if (mod(day,100)==0)
     fprintf('Day: %d weather: %d state: %d  prob(drive)= %f \n',day, weather, state, drive/day);
   end;
 
end % while     
