2D contour plot with given matrix

2 views (last 30 days)
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.

Accepted Answer

Star Strider
Star Strider on 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 Comments
Star Strider
Star Strider on 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.
.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!