Creating vertical temperature profile over complex terrain with animation

5 ビュー (過去 30 日間)
Jamie
Jamie 2014 年 3 月 25 日
回答済み: Prateekshya 2024 年 9 月 4 日
Is it possible to plot temperature between two points separated by (e.g., 5000 feet) over complex terrain (mountains) in order to create an animation of temperature change over elevation and time? In other words, my goal is an animation (3D contour plot) e.g., [x=time, y=temperature, z=elevation] that combines vertical distribution of temperature over mountains (elevation) with data-sets I have from two (or more) weather stations to animate a thermal regime over a period of time, i.e., winter.

回答 (1 件)

Prateekshya
Prateekshya 2024 年 9 月 4 日
Hello Jamie,
Creating animation of temperature data can be done by using the 3D contour plot. Here is a sample code for the same:
% Example data (replace with your actual data)
time = linspace(0, 24, 100); % Time in hours
elevation = linspace(0, 5000, 50); % Elevation in feet
[TimeGrid, ElevationGrid] = meshgrid(time, elevation);
% Simulated temperature data (replace with interpolated data)
TemperatureData = 20 - 0.005 * ElevationGrid + 5 * sin(2 * pi * TimeGrid / 24);
% Create a figure for the animation
figure;
hold on;
% Loop through each time step to create the animation
for t = 1:length(time)
clf; % Clear current figure
% Extract the temperature profile at the current time
tempProfile = TemperatureData(:, t);
% Create a 3D contour plot
plot3(time(t) * ones(size(elevation)), tempProfile, elevation, 'b-', 'LineWidth', 2);
% Set plot limits and labels
xlim([min(time) max(time)]);
ylim([min(TemperatureData(:)) max(TemperatureData(:))]);
zlim([min(elevation) max(elevation)]);
xlabel('Time (hours)');
ylabel('Temperature (°C)');
zlabel('Elevation (feet)');
title('Temperature Change Over Elevation and Time');
% Pause and update the plot
pause(0.1);
drawnow;
end
hold off;
It successfully plots the graph and performs the animation. You can also save it in .mp4 format.
I hope it helps!

カテゴリ

Help Center および File ExchangeAnimation についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by