Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何在考虑延迟势的情况下,为点源添加随机相位产生的传播波设置动画?_Matlab - Fatal编程技术网

Matlab 如何在考虑延迟势的情况下,为点源添加随机相位产生的传播波设置动画?

Matlab 如何在考虑延迟势的情况下,为点源添加随机相位产生的传播波设置动画?,matlab,Matlab,如何演示由点源产生的传播波,考虑到延迟电势和随时间的相变? 我成功地创造了波,有延迟势,但是如果我改变相位,平面上的整个波都会改变。如何使相变只从点源传播而不改变已经传播出去的波? 我已经走了这么远了 v=1; lambda = 1; k = 2*pi/lambda; w = 2*pi*v/lambda; x=linspace(-10,10,500); y=x; [X,Y]=meshgrid(x,y); t_lens=100; t = linspace(0,2*pi,t_lens);

如何演示由点源产生的传播波,考虑到延迟电势和随时间的相变? 我成功地创造了波,有延迟势,但是如果我改变相位,平面上的整个波都会改变。如何使相变只从点源传播而不改变已经传播出去的波? 我已经走了这么远了

v=1;
lambda = 1;
k = 2*pi/lambda;
w = 2*pi*v/lambda;
x=linspace(-10,10,500);
y=x;
[X,Y]=meshgrid(x,y);
t_lens=100;   
t = linspace(0,2*pi,t_lens);   % time
an=0+(2*pi)*rand(1,t_lens);   % create random phase
E20=0;
for a=1:t_lens
    theta=an(1,a);
    r=sqrt(X.^2+Y.^2);
    u0=1./(1+exp(-2.*(10e4).*(t(a)-r./v)));  % step function u(t-r/v)
    
    E=u0.*exp(1i*(k.*r-w.*t(a)+theta));  % wave propagate from origin
    rE=real(E);
    pcolor(X,Y,rE); axis equal;shading flat;
    caxis([-5,5]);
    drawnow;
end

有人能帮我吗?谢谢。

所以,如果我读对了这篇文章,你想继续用前一个阶段传播已经存在的波峰和波谷,但你也想用不同的阶段创建新的波峰和波谷(并传播它们)?@MatteoV是的,没错。