请问谁能将这个matlab仿真动画保存为gif或者是avi格式啊?主程序已经编好了。。

主程序如下clear,rm=2;r=0.01:0.02:rm;th=linspace(0,2*pi,300);[R,TH]=meshgrid(r,th);[X,Y]=po... 主程序如下
clear,rm=2;r=0.01:0.02:rm;
th=linspace(0,2*pi,300);
[R,TH]=meshgrid(r,th);
[X,Y]=pol2cart(TH,R);
eth=-3:0.3:3;
rh=0.5:0.1:rm;phi=(0:10:350)*pi/180;
[RH,PHI]=meshgrid(rh,phi);
[XH,YH]=pol2cart(PHI,RH);
figure,fs=16;t=0;
while 1
if get(gcf,'CurrentCharacter')==char(27)return;end
Eth=cos(TH).*cos(2*pi*(t-R))./R;
contour(X,Y,Eth,eth,'r','LineWidth',2)
HPHI=cos(PHI).*cos(2*pi*(t-RH))./RH;
L=HPHI>0;hold on
plot(XH(L),YH(L),'x','Markersize',9)
plot(XH(~L),YH(~L),'.','Markersize',12)
grid on,axis equal
xlabel('\itx/\lambda','FontSize',fs)
ylabel('\ity/\lambda','FontSize',fs)
title('电偶极子辐射电磁场的电场分量传播','FontSize',fs)
drawnow
if t==0 pause,end
t=t+0.02;hold off
end
谢谢各位了
展开
 我来答
dbb627
2015-01-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:2127
采纳率:88%
帮助的人:1365万
展开全部

function Electronic_field

clear,rm=2;r=0.01:0.02:rm;

th=linspace(0,2*pi,300);

[R,TH]=meshgrid(r,th);

[X,Y]=pol2cart(TH,R);

eth=-3:0.3:3;

rh=0.5:0.1:rm;phi=(0:10:350)*pi/180;

[RH,PHI]=meshgrid(rh,phi);

[XH,YH]=pol2cart(PHI,RH);

figure,fs=16;t=0;j=0;

filename='test.gif';

while 1

if get(gcf,'CurrentCharacter')==char(27)return;end

Eth=cos(TH).*cos(2*pi*(t-R))./R;

contour(X,Y,Eth,eth,'r','LineWidth',2)

HPHI=cos(PHI).*cos(2*pi*(t-RH))./RH;

L=HPHI>0;hold on

plot(XH(L),YH(L),'x','Markersize',9)

plot(XH(~L),YH(~L),'.','Markersize',12)

grid on,axis equal

xlabel('\itx/\lambda','FontSize',fs)

ylabel('\ity/\lambda','FontSize',fs)

title('电偶极子辐射电磁场的电场分量传播','FontSize',fs)

drawnow

if t==0

    pause,

end

t=t+0.02;

j=j+1

frame=getframe(gcf);

im = frame2im(frame);

[imind,cm] = rgb2ind(im,256);

if j == 1;

imwrite(imind,cm,filename,'gif', 'Loopcount',inf);

else

imwrite(imind,cm,filename,'gif','WriteMode','append');

end

hold off

end

fucshidam
推荐于2016-01-01 · TA获得超过536个赞
知道小有建树答主
回答量:393
采纳率:40%
帮助的人:341万
展开全部
可以先开一个视频写对象,
writerObj = VideoWriter('peaks.avi');
open(writerObj);
之后在循环里把每一帧加进去
frame = getframe;
writeVideo(writerObj,frame);
最后关闭
close(writerObj);
追问
这位大婶能否帮着做一下?感激不尽
追答

while的条件里其实是通过t控制视频的时间长短。不过时间上长短不太准确。

clear,rm=2;r=0.01:0.02:rm;

writerObj = VideoWriter('peaks.avi');

open(writerObj);

th=linspace(0,2*pi,300);

[R,TH]=meshgrid(r,th);

[X,Y]=pol2cart(TH,R);

eth=-3:0.3:3;

rh=0.5:0.1:rm;phi=(0:10:350)*pi/180;

[RH,PHI]=meshgrid(rh,phi);

[XH,YH]=pol2cart(PHI,RH);

figure,fs=16;t=0;

while t<10

    if get(gcf,'CurrentCharacter')==char(27)return;end

    Eth=cos(TH).*cos(2*pi*(t-R))./R;

    contour(X,Y,Eth,eth,'r','LineWidth',2)

    HPHI=cos(PHI).*cos(2*pi*(t-RH))./RH;

    L=HPHI>0;hold on

    plot(XH(L),YH(L),'x','Markersize',9)

    plot(XH(~L),YH(~L),'.','Markersize',12)

    grid on,axis equal

    xlabel('\itx/\lambda','FontSize',fs)

    ylabel('\ity/\lambda','FontSize',fs)

    title('电偶极子辐射电磁场的电场分量传播','FontSize',fs)

    drawnow

%     if t==0 pause,end

    t=t+0.02;

    frame = getframe;

    writeVideo(writerObj,frame);

    hold off

end


close(writerObj);


本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式