基于MATLAB的电磁场动画仿真.ppt

上传人:b****2 文档编号:2645335 上传时间:2022-11-05 格式:PPT 页数:19 大小:2.82MB
下载 相关 举报
基于MATLAB的电磁场动画仿真.ppt_第1页
第1页 / 共19页
基于MATLAB的电磁场动画仿真.ppt_第2页
第2页 / 共19页
基于MATLAB的电磁场动画仿真.ppt_第3页
第3页 / 共19页
基于MATLAB的电磁场动画仿真.ppt_第4页
第4页 / 共19页
基于MATLAB的电磁场动画仿真.ppt_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于MATLAB的电磁场动画仿真.ppt

《基于MATLAB的电磁场动画仿真.ppt》由会员分享,可在线阅读,更多相关《基于MATLAB的电磁场动画仿真.ppt(19页珍藏版)》请在冰豆网上搜索。

基于MATLAB的电磁场动画仿真.ppt

基于基于MATLABMATLAB的电磁场动画仿真的电磁场动画仿真目录1、编程思路2、基本函数介绍3实例演示目录目录目录目录结构结构结构结构4心得与总结编程思路编程思路编程思路编程思路动画的原理动画的原理通过循环,不断增加时间变量,不断作画,保持一定时间,擦除,重新作画,并且在一定时间内连续演示,这样就形成了动画。

编程思路编程思路时间、空间变量的定义时间、空间变量的定义确定函数式(比如圆极化)确定函数式(比如圆极化)设置循环设置循环作图作图延时,擦除再作图延时,擦除再作图基本函数介绍基本函数介绍pausequivermovie2aviquiver(x,y,u,v,size)quiver(u,v)quiver3(X,Y,Z,U,V,W)pause(n)n对应暂停多少秒对应暂停多少秒movie2avi(mov,myPeaks.avi);前面必须搭配录制图像的循环mov(k)=getframe(gcf);gradient求梯度求梯度画等高(势)线画等高(势)线contourpausemovie2avipausemovie2avi的简单举例的简单举例clearall;closeall;clc;%清除变量,关闭图像,清屏w=2*pi;t=0;%设置时间x=0:

0.01:

9;fori=1:

300y=sin(w*t-x);plot(x,y);title(正弦波传播);xlabel(x);ylabel(y);axis(09-11);gridon;holdon;mov(i)=getframe(gcf);%录制pause(0.1);%延时t=t+0.1;holdoff;endmovie2avi(mov,正弦波传播);%生成avi视频文件quivergradientcontourclearall;clc;closeall;q1=-2*10.-9;k=9*10.9;x=(-5:

0.5:

5);y=(-5:

0.5:

5);X,Y=meshgrid(x,y);r1=sqrt(X-3).2+Y.2);u=k*q1./r1;n=(-5:

.5:

5);Ex,Ey=gradient(-u);Ex=Ex./sqrt(Ex.2+Ey.2);Ey=Ey./sqrt(Ex.2+Ey.2);xlabel(x,fontsize,15);ylabel(y,fontsize,15);title(负电荷电场);holdongridon;axis(-5,5,-5,5);holdon;plot(3,0,O,MarkerSize,15);contour(X,Y,u,n,r.);quiver(X,Y,Ex,Ey);实例演示实例演示实例演示实例演示clear;clc;closeall;%清除历史变量和操作t=0;%设置初始时间k=2;w=10;y=(0:

0.1:

30);l=zeros(size(y);fori=1:

300gridon;E=cos(w*t-k*y);%电场表达式H=0.3.*cos(w*t-k*y);%磁场表达式式view(i,i);quiver3(l,y,l,E,l,l,r);holdon;quiver3(l,y,l,l,l,H,b);title(电磁波传播动画);xlabel(H(蓝色),x);ylabel(y);zlabel(E(红色),z);pause(0.1);%设置视觉残留时间mov(i)=getframe(gcf);%录制t=t+0.01;%设置时间仿真步长endholdoff;movie2avi(mov,电磁波传播动画.avi);%生成avi视频文件实例演示实例演示%左旋圆极化波clearall;clc;closeall;x=(0:

0.3:

30);%初始位置l=zeros(size(x);t=0;%时间变量fori=1:

1500%帧数ey=cos(2*pi*t-0.8*x);%电场横向分量ez=cos(2*pi*t-0.8*x+pi/2);%电场纵向分量quiver3(x,l,l,l,ey,ez);%画矢量图title(左旋园极化波);%标题xlabel(x);%x标签ylabel(y);%y标签zlabel(z);%z标签axis(0,30,-4,4,-4,4);view(20,40);%观察范围pause(0.01);%延时mov(i)=getframe(gcf);%录制t=t+0.01;end;holdoff;movie2avi(mov,左旋园极化波.avi);%生成avi视频文件实例演示实例演示实例演示实例演示%垂直极化线极化波入射理想导体clear;%清除变量x1=(0:

0.3:

30);%初始位置z1=(30:

-0.3:

0);%初始位置x2=(30:

0.3:

60);%初始位置z2=(0:

0.3:

30);%初始位置Ei=zeros(size(x1);%初始入射电场Er=zeros(size(x1);%初始反射电场l=zeros(size(x1);%零向量t=0;fori=1:

250%帧数ifi101;%波已经到达界面Ei=cos(20*pi*t-0.35*(x1-z1);%电场ifi202;Er=-cos(20*pi*t-0.35*(x2+z2);endquiver3(x1,l,z1,l,Ei,l);%画图holdon;%图形保持quiver3(x2,l,z2,l,Er,l);%画图end;title(垂直极化波,FontSize,15);%标题xlabel(x,FontSize,15);%x标签ylabel(y,FontSize,15);%y标签zlabel(z,FontSize,15);%z标签axis(0,60,-10,10,0,30);%观察范围view(20+i,40);%视角pause(0.0001)%延时t=t+0.00334;mov(i)=getframe(gcf);%时间增加holdoff;end;movie2avi(mov,垂直极化波.avi)实例演示实例演示心得与总结心得与总结心得与总结心得与总结1、要结合所学知识构建模型,形成自己的编程思、要结合所学知识构建模型,形成自己的编程思路。

路。

2、在编程中,应多留意细节,比如时间的步进应、在编程中,应多留意细节,比如时间的步进应该与所给的频率匹配,即满足该与所给的频率匹配,即满足tT,否则将观察,否则将观察不到相位连续变化的图像,甚至有可能看起来波在不到相位连续变化的图像,甚至有可能看起来波在向与预期相反的方向传播。

向与预期相反的方向传播。

3、针对不同类型的电磁波,改变、针对不同类型的电磁波,改变view的角度以及的角度以及作图方式可以方便我们观察出我们想要观察的特点。

作图方式可以方便我们观察出我们想要观察的特点。

4、编程都是由简到繁逐渐丰富自己的程序,逐步、编程都是由简到繁逐渐丰富自己的程序,逐步调试,逐渐实现自己想要的功能,不能一蹴而就!

调试,逐渐实现自己想要的功能,不能一蹴而就!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1