Get values of the particular line from surf plot

2 views (last 30 days)
I'm intersted to get all the values of the line 2- curve - marked in figure
load('jj.mat');
A1 = jj;
figure
A1(A1>0.05) = NaN;
surf(A1);shading interp;view(2);
figure
contour(A1); shading interp; view(2)
figure
v = [0.045 0.055];
contour3(A1,v); shading interp; view(2)
How Shall I get only this lower curve in a separate figure and then get all the Y values ?

Accepted Answer

Konrad
Konrad on 3 Sep 2021
Hi Ramesh,
the contour3() function returns the contour matrix (see help) containing x- and y-coordinates of the contour. You can use these to extract the desired part of the contour:
figure
v = [0.045 0.055];
contMat = contour3(A1,v); shading interp; view(2)
idx = contMat(1,:)>60 & contMat(2,:) < 850;
contSubset = contMat(:,idx);
Now contSubset contains x coordinates of the marked part in the first row and y coordinates in the second row.
Best, Konrad
  3 Comments
Konrad
Konrad on 3 Sep 2021
Edited: Konrad on 3 Sep 2021
Try
figure;
plot(contSubset(1,:),contSubset(2,:),'.'); % 1st row of contSubset is used as x-coordinates and 2nd row as y-ccordinates
set(gca,'Xlim',[1 234],'YLim',[1 2643])
this should look like the region marked in your figure.
Ramesh Bala
Ramesh Bala on 3 Sep 2021
Thank you so much Konrad .The lines made was so user friendly and quick.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!