Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2009-04-23
年龄: 38
帖子: 5
声望力: 0 ![]() |
![]()
具体是将下面两段程序仿真出的图形在上,下两个窗口中显示,上面显示程序1的图,下面显示程序2的图,用一个“开始”和一个“停止”命令控制其播放
程序1:Rh=2; I=10*sin(pi/2); mu0=4*pi*1e-7; C=mu0/(4*pi)*I; x=linspace(-3,3,20); y=x; Nh=20; theta0=linspace(0,2*pi,Nh+1); theta1=theta0(1:Nh); y1=Rh*cos(theta1); z1=Rh*sin(theta1); theta2=theta0(2:Nh+1); y2=Rh*cos(theta2); z2=Rh*sin(theta2); dlx=0; dly=y2-y1; dlz=z2-z1; xc=0; yc=(y2+y1)/2; zc=(z2+z1)/2; NGx=20;NGy=20; m=moviein(180); for C=1:180 for i=1:NGy for j=1:NGx rx=x(j)-xc; ry=y(i)-yc; rz=0-zc; r3=sqrt(rx.^2+ry.^2+rz.^2).^3; dlXr_x=dly.*rz-dlz.*ry; dlXr_y=dlz.*rx-dlx.*rz; Bx(i,j)=sum(C*dlXr_x./r3); By(i,j)=sum(C*dlXr_y./r3); end end clf;plot(y,By); m(:,C)=getframe pause(0.2) end movie(m,1) 程序2:s=0.2; x1=0; % 确定起始点横坐标x1及其增量 nframes = 180; % 确定动画总帧数 for k = 1:180 x1=x1+s; % 确定画图时横坐标终止值x1 x2=0:0.01:x1; y2=sin(x2); plot(x2,y2); % 在x=[0 x1]作y=sin(x)曲线 axis([0 2*pi -1 1]) % 定义坐标轴范围 grid off % 不显示网格线 M(k)=getframe; % 将当前图形存入矩阵M(k) end pause(0.02) movie(M,3) % 重复3次播放动画M |
![]() |
![]() |