I have a big gridded dataset Z and I want to create a contour matrix C from it. I need contours at many levels, -100:2:100. I can do this:
C = contour(Z,100:2:100);
Unfortunately, computation time is slow, it takes several minutes because my Z is large and I am trying to get a lot of countour lines out of it. How can I speed this up? I was hoping I could get C without plotting, but I don't know how to do that. I tried turning the figure visibility off but that had only a quarter of a second improvement out of several minutes computation time.
Ideas?

 채택된 답변

Moritz
Moritz 2013년 9월 20일

4 개 추천

Have you tried contourc instead of contour ? It gives you the contour lines without any plots.
[cline]=contour(Z,[1 1]); gives you one contour line at level 1 Of course you can do many levels.
With one level: cline(1,2:end) contains your x values cline(1,1) contains the level cline(2,1) contains the numer of data poinst cline(2,2:end) contains your corresponding y values
with multiple values it just adds the new level at the end of the array, you can find it by the entry of it´s level

댓글 수: 2

Chad Greene
Chad Greene 2013년 9월 20일
This is exactly what I was seeking. Thank you so much!
Chad Greene
Chad Greene 2014년 5월 22일
I have uploaded the solution to FEX:

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Contour Plots에 대해 자세히 알아보기

태그

질문:

2013년 9월 13일

댓글:

2014년 5월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by