Plot cross section at particular value of x for mesh(x,y,z).
6 views (last 30 days)
Show older comments
I have a mesh plot mesh(x,y,z) where x,y and z are having 100 by 100 values. Now I want a cross section plot at a particular value of x. How to do this?
0 Comments
Accepted Answer
Star Strider
on 12 Apr 2016
You can easily adapt this to your data. I chose different lengths of the ‘x’ and ‘y’ vectors to demonstrate and trace the indexing of the matrices:
x = linspace(5, 10, 80); % Create Data
y = linspace(1, 5, 50); % Create Data
[X,Y] = meshgrid(x,y); % Create Data
Z = sin(X.^2) - cos(Y.^2); % Create Data
figure(1)
surf(X, Y, Z) % Surface Plot
grid on
X_idx = find(x >= 7.5, 1, 'first'); % Find Desired ‘X’ Value
figure(2)
plot(Y(:,X_idx), Z(:,X_idx)) % Plot At Desired ‘X’ Value
grid
2 Comments
Denise Janer
on 9 Jan 2021
Hi may I ask why you defined Z using that formula?
What if I have a mesh (x, y, z) where z is depth data? How can I make a cross section at any other points in the x and y axis?
Thanks.
More Answers (0)
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!