Asked by Maryam
on 18 Jul 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?

*No products are associated with this question.*

Answer by Kye Taylor
on 18 Jul 2013

Edited by Kye Taylor
on 18 Jul 2013

Accepted answer

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))))

Show 1 older comment

Pourya Alinezhad
on 19 Jul 2013

Answer by Pourya Alinezhad
on 18 Jul 2013

Edited by Pourya Alinezhad
on 18 Jul 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))

Opportunities for recent engineering grads.

## 0 Comments