How do determine the maximum and minimum point form origin on a contour graph

10 次查看(过去 30 天)
I have created a contour graph from the folloing code, where C_100030_alt173 is my raw data. I will return a contour plot with points containing (x, y, level). How do I find the max. and min. point from the origin (0,0). ie. how do i extract xy values for all points and do a simple (x^2+y^2)^1/2 calculation and identify the max. and min.
Thank you so much
x=(-1:1/512:1);
C_100030_alt173
c1P5_alt173=reshape(CON,[1025,1025]);
a=[0,0];
v1=[0.5,0.5];
v2=[0.11,0.11];
contour(x,x,c1P5_alt173,v1,EdgeColor="black");
hold on
contour(x,x,c1P5_alt173,v2,EdgeColor="blue");

采纳的回答

Aquatris
Aquatris 2024-4-8
移动:Fangjun Jiang 2024-4-8
Not sure exactly what you want but contour function can give you interpolated x-y positions for a specific level. From there you can use a simple calculation to find the max distance to origin for that spefic level.
Z = peaks;
% get x-y locations of points corresponding to desiredLevel
desiredLevel = 1.949;
p = contourc(Z,desiredLevel*[1 1]);
% remove x y positions outside of [0 50] range
p(:,p(1,:)>50|p(2,:)>50) = [];
% get max distance
dist = sqrt(p(1,:).^2+p(2,:).^2);
maxDistIdx = find(dist==max(dist));
% draw contour graph
[M,c] = contourf(Z);xlim([0 50]);ylim([0 50])
hold on
% draw each point for the desiredLevel and the largest distance for that level
plot(p(1,:),p(2,:),'rx',...
[0 p(1,maxDistIdx)],[0 p(2,maxDistIdx)],'r-','LineWidth',2)
hold off
  7 个评论
Aquatris
Aquatris 2024-4-9
编辑:Aquatris 2024-4-9
Then still
p = contourc(x,x,c1P5_alt173,levelRange);
would work for you.
You can read more and see more examples on the countourc function here.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Contour Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by