numProfiles = 300;    
numAltitudes = 101;   
altitude = 0:1:100;   
temperatures = zeros(numAltitudes, numProfiles);
baseTemperature = 200 + altitude' * 3;     
for i = 1:numProfiles
    variation = zeros(numAltitudes, 1);
    
    
    for j = 1:numAltitudes
        if altitude(j) < 20
            variation(j) = randn * 50;          
        elseif altitude(j) < 50
            variation(j) = randn * 10;          
        elseif altitude(j) < 70
            variation(j) = randn * 3;           
        else
            variation(j) = randn * 1;           
        end
    end
    
    temperatures(:, i) = baseTemperature + variation;
end
figure;
hold on;
meanTemperature = mean(temperatures, 2);
medianTemperature = median(temperatures, 2);
modeTemperature = mode(temperatures, 2);
colors = lines(numProfiles);  
for i = 1:numProfiles
plot(meanTemperature, altitude, 'k-', 'LineWidth', 2);
plot(medianTemperature, altitude, 'r-', 'LineWidth', 2);
plot(modeTemperature, altitude, 'b-', 'LineWidth', 2);
plot(temperatures(:, i),altitude, 'Color', colors(i, :)); 
end
ylabel('Altitude (km)');
xlabel('Temperature (K)');
legend({'Mean', 'Median', 'Mode'}); lineColors = {'k', 'r', 'b'}; lineStyles = {'-', '-', '-'};
grid on;