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); % 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
谁能帮我?谢谢。
解决方案
推荐阅读
- javascript - chrome 扩展,如何从 contextMenus 选项显示模式
- botframework - Microsoft Bot - MemoryStorage - 错误 - Etag 冲突
- node.js - 一个 VM 上的多个 nodejs 应用程序
- r - Blogdown 外部 URL
- tooltip - toollip在基础框架中的默认定位
- python - 会话后弹出 django 自动调查
- javascript - 在另一个函数中使用对象项
- java - android - 找不到符号类 ActivityRegisterBindingImpl
- python - 为什么这会打印 if 和 else?
- mysql - 从数据库中的所有表中删除 X