Surface plot function with two variable

13 visualizaciones (últimos 30 días)
Matteo Tagliabue
Matteo Tagliabue el 12 de Abr. de 2022
Editada: Davide Masiello el 12 de Abr. de 2022
Hello, I am trying to reproduce the graph of the surface as shown in the image but I get only 'oscillation on one axis while the other remains constant. Does anyone have any advice?
Here my code
f= 0.5;
c = 3*10^8;
lambda = c/f
phi = 0
K = 2*pi/lambda
omega = 2*pi*f
E_0=1;
t = linspace(0,5,1000);
x =linspace(0,5,1000)';
E = E_0.*sin(K*x-omega*t);
E = rot90(E);
[X,Y] = meshgrid(1:length(E),1:length(E));
surf(X,Y,E,'EdgeColor','interp')
xlabel('X axis')
ylabel('time axis')

Respuesta aceptada

Davide Masiello
Davide Masiello el 12 de Abr. de 2022
Editada: Davide Masiello el 12 de Abr. de 2022
Your x and t spans are not convenient. Try this
f = 0.5;
tau = 1/f;
c = 3*10^8;
lambda = c/f;
phi = 0;
K = 2*pi/lambda;
omega = 2*pi*f;
E_0 = 1;
t = linspace(0,tau*3,1000);
x = linspace(0,lambda*3,1000);
[T,X] = meshgrid(t,x);
E = E_0*sin(K*X-omega*T);
surf(T,X,E,'EdgeColor','interp')
xlabel('Time axis')
ylabel('x axis')

Más respuestas (0)

Categorías

Más información sobre Surface and Mesh Plots 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