2D contour plot with given matrix

18 visualizzazioni (ultimi 30 giorni)
David Krouse
David Krouse il 23 Nov 2021
Commentato: Star Strider il 24 Nov 2021
I would like to create a contour plot for a heat transfer application, where the values of the matrix are nodal temperature values over the 2d domain of (x 0 to 0.5) and (y 0 to 1). Using the following values
25, 25, 25
111.5, 137.8, 245.1
146.3, 178.3, 296.4
111.5, 137.8, 245.1
25, 25, 25
Where, nodes are seperated by 0.25 (i.e the value at (0.5,0.5) is 296.4).
Please provide the generated plot to ensure the generated codes is functioning.

Risposta accettata

Star Strider
Star Strider il 23 Nov 2021
Two possibilities —
M = [25, 25, 25
111.5, 137.8, 245.1
146.3, 178.3, 296.4
111.5, 137.8, 245.1
25, 25, 25];
figure
contour(M)
figure
contourf(M)
.
  4 Commenti
David Krouse
David Krouse il 24 Nov 2021
A 2d rectangular solid of dimension 0.5 by 1
Star Strider
Star Strider il 24 Nov 2021
That would be relatively straightforward.
M = [25, 25, 25
111.5, 137.8, 245.1
146.3, 178.3, 296.4
111.5, 137.8, 245.1
25, 25, 25];
xv = linspace(0, 0.5, size(M,2));
yv = linspace(0, 1.0, size(M,1));
figure
contour(xv,yv,M)
axis('equal') % Optional
figure
contourf(xv,yv,M)
axis('equal') % Optional
Since I’m not certain how the ‘xv’ and ‘yv’ vectors correspond to the ‘M’ matrix, it might be necessary to re-define them in terms of the dimeensions of ‘M’ if I guessed wrong. However, re-scaling them is straightforward.
Also, with axis('equal') there seems to be a bug in the x-axis ticks here, although it could just be a problem with the online Run feature, since it doesn’t appear when I run the same code offline on my computer (although the tick label at 0.5 still fails to plot). That can be fixed manually if necessary.
.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Contour Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by