Diagonal cross section of function z(x,y) for x=y

2 views (last 30 days)
Leia
Leia on 12 Mar 2022
Answered: Simon Chan on 12 Mar 2022
I have a function as z(x,y) and I want to plot z(x,y) vs x=y. How can I plot it? Cross section of function z(x,y) for x=y
I will be glad if you help
  1 Comment
DGM
DGM on 12 Mar 2022
How is the function defined? is it a MATAB function? Is this using symbolic tools? Or is it just a 2D numeric array?

Sign in to comment.

Accepted Answer

Leia
Leia on 12 Mar 2022
t = X-Y;
er = 1e-10;
mask = abs(t) < er;
X2 = X(mask);
Y2 = Y(mask);
Z2 = V(mask);
plot(X2,Y2,Z2)
plot(X2,Z2)

More Answers (2)

Matt J
Matt J on 12 Mar 2022
Edited: Matt J on 12 Mar 2022
fcn=@(t) arrayfun(@(x) z(x,x), t);
fplot(fcn)
  1 Comment
Matt J
Matt J on 12 Mar 2022
As an example,
z=@(x,y) x.^2+2*x*y + y.^2;
fcn=@(t) arrayfun(@(x) z(x,x), t);
fplot(fcn,[-1,1])

Sign in to comment.


Simon Chan
Simon Chan on 12 Mar 2022
Easier to assign some values where x=y in function meshgrid as follows:
If the assigned values for x and y are different, then the following does not work.
x = -10:0.1:10;
y = -10:0.1:10;
A = 1; % Assume A=1
[X, Y] = meshgrid(x, y);
D = 4; T = 0; K=1;
for p = 0:(D-1)
alpha = 2*pi*p/D;
T= T + exp(1i*K*(cos(alpha)*X+sin(alpha)*Y));
end
Z = A*abs(T/D).^2;
plot(X(X==Y),Z(X==Y))

Tags

Community Treasure Hunt

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

Start Hunting!