基于MATLAB的电磁场动画仿真.ppt_第1页
基于MATLAB的电磁场动画仿真.ppt_第2页
基于MATLAB的电磁场动画仿真.ppt_第3页
基于MATLAB的电磁场动画仿真.ppt_第4页
基于MATLAB的电磁场动画仿真.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于MATLAB的电磁场动画仿真,目录,1 、编程思路,2 、基本函数介绍,3 实例演示,目录 结构,4 心得与总结,编程思路,编程思路,动画的原理,通过循环,不断增加时间变量, ,不断作画,保持一定时间,擦除,重新作画 ,并且在一定时间内连续演示,这样就形成了动画。,编程思路,时间、空间变量的定义,确定函数式(比如圆极化),设置循环,作图,延时,擦除再作图,基本函数介绍,基本函数介绍,pause,quiver,movie2avi,quiver(x,y,u,v,size) quiver(u,v) quiver3(X,Y,Z,U,V,W),pause(n)n对应暂停多少秒,movie2avi(m

2、ov, myPeaks.avi); 前面必须搭配录制图像的循环 mov(k) = getframe(gcf);,gradient,求梯度 画等高(势)线,contour,pause movie2avi的简单举例,clear all;close all;clc;%清除变量,关闭图像,清屏 w=2*pi; t=0; %设置时间 x=0:0.01:9; for i=1:300 y=sin(w*t-x); plot(x,y); title(正弦波传播); xlabel(x);ylabel(y); axis(0 9 -1 1); grid on; hold on; mov(i)=getframe(gcf

3、);%录制 pause(0.1); %延时 t=t+0.1;hold off; end movie2avi(mov,正弦波传播);%生成avi视频文件,quiver gradient contour,clear all;clc;close all; 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.

4、2+Ey.2);,xlabel(x,fontsize,15); ylabel(y,fontsize,15); title(负电荷电场); hold on grid on; axis(-5,5,-5,5); hold on; plot(3,0,O,MarkerSize,15); contour(X,Y,u,n,r.); quiver(X,Y,Ex,Ey);,实例演示,实例演示,clear;clc;close all;%清除历史变量和操作 t=0;%设置初始时间 k=2; w=10; y=(0:0.1:30);l=zeros(size(y); for i=1:300 grid on; E=cos(

5、w*t-k*y);%电场表达式 H=0.3.*cos(w*t-k*y);%磁场表达式式 view(i,i); quiver3(l,y,l,E,l,l,r); hold on; 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; %设置时间仿真步长 end hold off;movie2avi(mov,电磁波传播动画.avi);%生成avi视频文件,实例演示,%左旋圆极化波

6、 clear all;clc;close all; x=(0:0.3:30); %初始位置 l=zeros(size(x); t=0; %时间变量 for i=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(

7、0.01); %延时 mov(i)=getframe(gcf); %录制 t=t+0.01; end; hold off; 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); %零向

8、量 t=0; for i=1:250 %帧数 if i101; %波已经到达界面 Ei=cos(20*pi*t-0.35*(x1-z1); %电场 if i=202; Er(1:i-101)=-cos(20*pi*t-0.35*(x2(1:i-101)+z2(1:i-101); end;,实例演示,if i202; Er=-cos(20*pi*t-0.35*(x2+z2); end quiver3(x1,l,z1,l,Ei,l); %画图 hold on; %图形保持 quiver3(x2,l,z2,l,Er,l); %画图 end; title(垂直极化波,FontSize,15); %标题

9、 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); %时间增加 hold off; end; movie2avi(mov,垂直极化波.avi),实例演示,心得与总结,心得与总结,1、要结合所学知识构建模型,形成自己的编程思路。 2、在编程中,应多留意细节,比如时间的步进应该与所给的频率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论