Surface plot function with two variable

13 ビュー (過去 30 日間)
Matteo Tagliabue
Matteo Tagliabue 2022 年 4 月 12 日
編集済み: Davide Masiello 2022 年 4 月 12 日
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')

採用された回答

Davide Masiello
Davide Masiello 2022 年 4 月 12 日
編集済み: Davide Masiello 2022 年 4 月 12 日
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 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by