波函数的3d图

时间:2016-05-09 10:03:28

标签: matlab 3d surf

如何使用模拟在3D中绘制Matlab中的波函数 OData.read({ requestUri: this.getODataUrl() + '$metadata' }, ? 我使用的代码是:

n=a*cos(k*x-w*t)

2 个答案:

答案 0 :(得分:2)

要绘制曲面,您需要一个数据网格。您创建的x,t只是一行,每t只有一个x,但每个t表面都有多个x。< / p>

如果您将xt的定义更改为:

[x,t]=meshgrid(-5:1:5,0:2:20);

您的代码运行并绘制:

enter image description here

答案 1 :(得分:0)

在此示例中,我通过向xt添加点来提高分辨率。在动画中,我更改了k的值,您也可以更改F。

示例

f=100;
w=2*pi*f;
a=1;
x=linspace(-5,5,50);
t=linspace(0,2,50);


for k = 0.05:0.01:2         % Change values of e.g. k
    n = a.*cos(k.*x-w.*t);  % Re-calculate n
    pause(0.02)             % pause to control animation speed
    s = surf(x,t,repmat(n,[length(t),1])); % Use repmat to make Z 2D
    title(['k = ',num2str(k)])

    % Just some nice settings for surf plot
    shading interp
    lighting phong
    camlight left; camlight right; camlight left; camlight right;
    colormap copper
    alpha(.8)
end