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

2 vues (au cours des 30 derniers jours)
Leia
Leia le 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 commentaire
DGM
DGM le 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?

Connectez-vous pour commenter.

Réponse acceptée

Leia
Leia le 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)

Plus de réponses (2)

Matt J
Matt J le 12 Mar 2022
Modifié(e) : Matt J le 12 Mar 2022
fcn=@(t) arrayfun(@(x) z(x,x), t);
fplot(fcn)
  1 commentaire
Matt J
Matt J le 12 Mar 2022
Modifié(e) : Matt J le 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])

Connectez-vous pour commenter.


Simon Chan
Simon Chan le 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))

Catégories

En savoir plus sur Read, Write, and Modify Image dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by