Temperature distribution contour plot
Mostra commenti meno recenti

I want to create a contour plot,like above, of a plate with temperatures at specific points on the plate. The data should be interpolated bicubical. Now i have just a few points on my plate but wanted the contour and so the interpolated data over the full size of the plate is this possible?
Below you can find some example data with x- and y-coordinates and also some temperatures corresponding to the coordinates.
X_Plate=200; % length mm
Y_Plate=400; % heigth mm
x=[-80 -50 0 50 60]; % x-coordinates
y=[-150 -100 0 100 130]; % y-coordinates
T=[15 20 30 10 5]; % Temperature °C
% the coordinate system has its origin in the center of the plate
I would be very pleased if someone could help me.
Risposta accettata
Più risposte (1)
Ameer Hamza
il 30 Ott 2020
Modificato: Ameer Hamza
il 30 Ott 2020
You first need to use scatteredInterpolant to convert the data to a grid format and then call contourf(). Since you have very few data points, so the variation will also be small
x=[-80 -50 0 50 60]; % x-coordinates
y=[-150 -100 0 100 130]; % y-coordinates
T=[15 20 30 10 5]; % Temperature °C
% the coordinate system has its origin in the center of the plate
mdl = scatteredInterpolant(x(:), y(:), T(:), 'natural');
xg = linspace(min(x), max(x), 20);
yg = linspace(min(x), max(x), 20);
[Xg, Yg] = meshgrid(xg, yg);
Zg = mdl(Xg, Yg);
contourf(Xg, Yg, Zg, 10);

1 Commento
Bavi John
il 30 Ott 2020
Categorie
Scopri di più su Contour Plots in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


