Slice of a 3D plot and projection of that function in a plane.

7 Ansichten (letzte 30 Tage)
U B
U B am 5 Sep. 2024
Kommentiert: Star Strider am 5 Sep. 2024
I'm trying to plot the mesh-plot of a Gaussian beam and slice through the centre. With it I'm tring to project the 3D plot on a plane together too. I'm using-
x = linspace(-2,2,100); y = linspace(0,2,100);
[X,Y] = meshgrid(x,y);
Rho2 = X.*X + Y.*Y;
Z = exp(-Rho2);
figure,
mesh(X,Y,Z,'FaceAlpha',1); hold on
contourf(X,Y,Z,70,'edgecolor','none'),colormap cool
But now the 2D Gaussing is also cut at the centre. Is there any way I can get the sliced 3D Gaussin and full 2D Gaussian together.
I appreciate your help.

Akzeptierte Antwort

Matt J
Matt J am 5 Sep. 2024
Bearbeitet: Matt J am 5 Sep. 2024
[x,y,yhalf]=deal(linspace(-2,2,100));
yhalf(y<0)=nan;
Z = exp(-( x.^2 + y.^2'));
figure,
mesh(x,yhalf,Z,'FaceAlpha',1); hold on
contourf(x,y,Z,70,'edgecolor','none'),colormap cool

Weitere Antworten (1)

Star Strider
Star Strider am 5 Sep. 2024
II’m not certain what result you want.
Try this —
x = linspace(-2,2,100); y = linspace(0,2,100);
[X,Y] = meshgrid(x,y);
Rho2 = X.*X + Y.*Y;
Z = exp(-Rho2);
x2 = linspace(-2,2,100);
y2 = linspace(-2,2,100);
[X2,Y2] = meshgrid(x2,y2);
Rho22 = X2.*X2 + Y2.*Y2;
Z2 = exp(-(X.^2 + Y2.^2));
figure,
mesh(X,Y,Z,'FaceAlpha',1); hold on
contourf(X2,Y2,Z2,70,'edgecolor','none'),colormap cool
The approach here iis to define ‘y2’ over the full extent, and then recalculate ‘Z2’ using a slightly different function, and then reecalculate the contourf plot using them.
.

Kategorien

Mehr zu Language Fundamentals finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by