Surface plot function with two variable
22 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Matteo Tagliabue
am 12 Apr. 2022
Bearbeitet: Davide Masiello
am 12 Apr. 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')
0 Kommentare
Akzeptierte Antwort
Davide Masiello
am 12 Apr. 2022
Bearbeitet: Davide Masiello
am 12 Apr. 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')
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 2-D and 3-D Plots 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!
