Effacer les filtres
Effacer les filtres

Need half of my contour plot

5 vues (au cours des 30 derniers jours)
Maryam
Maryam le 18 Juil 2013
Hello I have a contour of the pressures over a surface. Basically, I had vectors x and y which were locations on the surface and on each location, I had a value for pressure. I have a rectangular plot. I was wondering if there is a way to split my plot from the diagonal and show just the results for either upper or lower triangles?

Réponse acceptée

Kye Taylor
Kye Taylor le 18 Juil 2013
Modifié(e) : Kye Taylor le 18 Juil 2013
Check out the tril and triu functions. For example if you have data similar to
[x,y]= meshgrid(-1:.05:1);
z = x.^2+y.^2;
contour(x,y,z)
Try something like
zLowerTri = tril(z);
contour(x,y,zLowerTri)
Since contour plots with the origin at lower left instead of upper right, you may prefer either
zLowerTri = tril(z);
contour(x,y,zLowerTri)
axis ij
or
contour(x,y,fliplr(tril(fliplr(z))))
  4 commentaires
Pourya Alinezhad
Pourya Alinezhad le 19 Juil 2013
use "nan" as i mentioned below to make that part invisible... functions you use {ex:tril(z)} replace the data values with zero,which itself could be a data!!!
Maryam
Maryam le 19 Juil 2013
Thank you very much. I now have what I wanted.

Connectez-vous pour commenter.

Plus de réponses (1)

Pourya Alinezhad
Pourya Alinezhad le 18 Juil 2013
Modifié(e) : Pourya Alinezhad le 18 Juil 2013
hello maryam, run following lines of code.
x=0:0.1:10;
y=x;
j=1;
z=meshgrid(x,y);
h=ones(length(x),length(x))*nan;
for i=1:length(x)
for j=1:length(y)
if i>j
h(i,j)=z(i,j);
end
end
end
surf(sin(h)./sqrt(h))
figure
contourf(sin(h)./sqrt(h))

Catégories

En savoir plus sur Contour 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!

Translated by