Plotting a surface with scatter data
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have density which is a 310x1 matrix. I have pressure which is a 310x41 matrix. Each column corresponds to a different temperature and each row from 1 to 310 just corresponds to the pressure at a given density in the density matrix.
The temperature is stored in temperature variable as a 1x41 matrix that goes from 100 to 300 in increments of 5 K. How can I plot this data as a surface?
If I try:
surfc(density,temperature,pressure)
I get that the data dimensions must agree.
I have my x-data, density as 310x1.
I have my y-data, temperature as 1x41
Then my z-data, pressure, is 310x41.
Why do the dimensions not agree?
I think I know the issue, but can I just tell MATLAB that x and y values do not change for each matrix? If I manually create every column with all the repetitive data it works. I am not sure if I am being clear here or not, but I imagine the way I am going about doing it is not the most efficient.
0 commentaires
Réponse acceptée
Matt J
le 5 Nov 2018
[D,T]=meshgrid(density,temperature);
surf(D,T,pressure);
1 commentaire
Walter Roberson
le 6 Nov 2018
Alternately,
surfc(density, temperature, pressure.')
The difference is in the implicit grid ordering. Remember that MATLAB normally treats the first dimension of a 2D array as corresponding to y coordinates.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Surface and Mesh Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!