2D PostProcessing plot in MATLAB

3 vues (au cours des 30 derniers jours)
Pranay Suhas Chinthapandu
Pranay Suhas Chinthapandu le 19 Mar 2018
I want to plot my thermal analysis results on a 2D mesh. I have a 2xN matrix named "coord", which basically has the X and Y coordinates of the nodes of my mesh. At each node, I have a temperature value which is saved as a 1xN matrix. How do I plot a heatmap or a contour plot for my results? I've tried Surf fucntion, which expects a matrix of minimum size 2x2.. Where as my temperatures are saved as "nodeDisp" which is a 1xN vector leading to "Error using surf (line 71) Z must be a matrix, not a scalar or vector." I tried scatteredInterpolant, with which I could plot my mesh but no signs of the colored plot of displacements I wanted.

Réponses (1)

Venkata Siva Krishna Madala
Hello Pranay,
Its better if you convert the coord to a Nx2 matrix and temperature values to a Nx1 matrix by transposing it. Then you can use the surf command as given below
surf(coord(:,1),coord(:,2),temperature_values)
This should remove the surf plot error and generate the plot as you need.
Regards,
Krishna Madala
  1 commentaire
Pranay Suhas Chinthapandu
Pranay Suhas Chinthapandu le 22 Mar 2018
Hello Krishna,
Temperature values are still a vector, irrespective of the fact that its a column or a row vector. I have the same error. I have tried scatteredInterpolant, fill3, mesh and everything, and the problem still pertains. I have attached a picture of what exactly I desire and following are the details of my data: 'coord' is a 2xN matrix where coord(1,:) is X coordinates and coord(2,:) is the Y coordinate at which the respective temperature value is nodeDisp(1,:). How do I build a correlation between these values and generate an interpolated graphical result as in the picture?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by