2D contour plot with given matrix
27 views (last 30 days)
Show older comments
David Krouse
on 23 Nov 2021
Commented: Star Strider
on 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.
0 Comments
Accepted Answer
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
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.
.
More Answers (0)
See Also
Categories
Find more on Contour Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!