文档详情

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

发布:2017-02-01约5.38千字共19页下载文档
文本预览下载声明
* * * 基于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(mov, 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);%录制 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.^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(w*t-k*y);%电场表达式
显示全部
相似文档