Filter löschen
Filter löschen

Extracting certain set of points from a 3D plot

8 Ansichten (letzte 30 Tage)
Abdul
Abdul am 26 Mär. 2024
Kommentiert: Star Strider am 1 Apr. 2024
Hi team,
I'm a novice in MATLAB. I've prepared a 3D plot using MATLAB script shown below with D1, D2 and total power values in the X, Y and Z - axes respectively.
Can a suggest a line of code or command where I give a range of power values and get a specific set of X and Y coordinate points (kinda like drawing an imaginary 3D plane in the plot and setting it at Z = some power and extracting all points that lie on that plane)? It would be really helpful.

Akzeptierte Antwort

Star Strider
Star Strider am 26 Mär. 2024
I would use the contour function for this.
Example —
[X,Y] = ndgrid(-3:0.1:3);
f = @(x,y) exp(-(x.^2+y.^2*3)*0.75);
Z = f(X,Y);
PowerVal = 0.41254;
figure
surf(X, Y, Z)
hold on
[c,h] = contour3(X, Y, Z, [1 1]*PowerVal, '-r', 'LineWidth',3);
hold off
colormap(turbo)
xv = c(1,2:end);
yv = c(2,2:end);
figure
plot(xv, yv)
grid
axis('equal')
axis('padded')
title("(X,Y) Coordinates At Power Value "+PowerVal)
I use contour3 here to draw the red line at the chosen level, to illustrate the idea. The contour functions only return the surface coordinates.
.
  5 Kommentare
Abdul
Abdul am 1 Apr. 2024
@Star Strider I've understood what you said. I will try implementing it. Thanks once again.
Star Strider
Star Strider am 1 Apr. 2024
As always, my pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by