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;