%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% %%% %%% GENESIS - Temperature Generation Prototypes, v0.9 (BETA) %%% %%% -------------------------------------------------------- %%% %%% Harris Georgiou - mailto:xgeorgiou@yahoo.com %%% %%% %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% clear all; disp('Temperature Generator, v0.9B - Harris Georgiou (c) 2001'); disp(' '); Ay = 10; % half-range of year-day curve By = 365; % days per year Cy = 240; % horizontal (day) offset of year-day curve Dy = 21; % vertical (temp) offset of year-day curve Ad = 7; % half range of day-hour curve Bd = 24; % hours per day Cd = -4; % horizontal (hour) offset of day-hour curve Dd = 0; % vertical (temp) offset of day-hour curve Ar = 0.5; % half-range of per-hour random temp factor yh = 1:By*Bd; Ty = Ay*sin(2*pi/By*(yh/Bd+Cy))+Dy; Td = Ad*sin(2*pi/Bd*(yh+Cd))+Dd; for i=1:By*Bd, Th(i) = Ar*randn; end; T=Ty+Td+Th; figure(1); plot(Ty); title('Temperature - year/day component curve'); axis([0 240 -10 30]); figure(2); plot(Td); title('Temperature - day/hour component curve'); axis([0 240 -20 20]); figure(3); plot(Th); title('Temperature - hour/random component curve'); axis([0 240 -20 20]); figure(4); plot(T); title('Temperature - combined curve'); axis([0 240 -10 30]); figure(5); plot(T); title('Temperature - full year analysis'); axis([0 9000 0 40]); disp('Temperature MIN value:'); min(T) disp('Temperature MAX value:'); max(T)