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

2 visualizaciones (últimos 30 días)
Leia
Leia el 12 de Mzo. de 2022
Respondida: Simon Chan el 12 de Mzo. de 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 comentario
DGM
DGM el 12 de Mzo. de 2022
How is the function defined? is it a MATAB function? Is this using symbolic tools? Or is it just a 2D numeric array?

Iniciar sesión para comentar.

Respuesta aceptada

Leia
Leia el 12 de Mzo. de 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)

Más respuestas (2)

Matt J
Matt J el 12 de Mzo. de 2022
Editada: Matt J el 12 de Mzo. de 2022
fcn=@(t) arrayfun(@(x) z(x,x), t);
fplot(fcn)
  1 comentario
Matt J
Matt J el 12 de Mzo. de 2022
Editada: Matt J el 12 de Mzo. de 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])

Iniciar sesión para comentar.


Simon Chan
Simon Chan el 12 de Mzo. de 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))

Categorías

Más información sobre Read, Write, and Modify Image en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by