如何保存用matlab的for循环生成的动图

作者&投稿:守嘉 (若有异议请与网页底部的电邮联系)
在线等!!!matlab如何把for循环生成的数据画在一张图上~

1. 请问你的图上最终要保留几组曲线?我理解是,对每组(Tc, Tm),都能解出两条曲线,这称为一组。
2. plot(t, X); 这一句话就可以同时绘制出同一组内的两条曲线,不必分开画。
3. 出于调试的方便,建议把legend那一段先去掉。
4. 如果没有特殊的必要,建议把所有曲线全部计算完毕后,再另起一个for循环画图。这样一边算一边画效率会比较低。

L=120; %长D=50; %宽,圆桌面直径d=2.5; %木板宽hL=L/2; %半长R=D/2; %圆桌面半径y=-R+d/2:d:R-d/2; %长条宽度方向中心位置x=sqrt(R^2-y.^2); %长条中心在圆上的位置H=hL-x(1); %最长腿长度,也就是最大桌子高度 Tx=[x -x;x -x];Ty=[y-d/2 fliplr(y)+d/2;y+d/2 fliplr(y)-d/2]; %桌面数据Tx=Tx(:);Ty=Ty(:);Tz=zeros(size(Tx));legx=[hL*ones(size(x));hL*ones(size(x));x;x]; %桌腿数据 legy=[y-d/2;y+d/2;y+d/2;y-d/2];legz=zeros(size(legx)); zhoux=[hL-H/2;hL-H/2];zhouy=[-R R];zhouz=[0;0]; %轴数据 figure(1),clf;h1=patch(Tx,Ty,Tz,'facecolor',[1 0.5 0],'edgecolor',[1 1 1]);h2=patch(legx,legy,legz,'facecolor',[1 0.5 0],'edgecolor',[1 1 1]);h3=patch(-legx,legy,legz,'facecolor',[1 0.5 0],'edgecolor',[1 1 1]);hold onh4=plot3(zhoux,zhouy,zhouz,'k-.');h5=plot3(-zhoux,zhouy,zhouz,'k-.');hold offview(3);axis equal;axis([-hL hL -R R 0 H]);axis off;ddeg=2; %角度增量f=getframe(gcf); imind=frame2im(f);[imind,cm] = rgb2ind(imind,256);imwrite(imind,cm,'1.gif','gif', 'Loopcount',inf,'DelayTime',0.1);for deg=0:ddeg:75 %最长条桌腿相对桌面折叠角度 zz=-H/2*sind(deg); %轴相对桌面高度 xx=x(1)+H/2*cosd(deg); %轴横坐标 alldeg=atan2(-zz*ones(size(x)),xx-x); %每个条腿折叠角度 allx=(hL-x).*cos(alldeg)+x; %每条腿末端x坐标 allz=-(hL-x).*sin(alldeg); %每条腿末端z坐标 minz=min(allz); %最小z坐标 legx=[allx;allx;x;x]; %腿x数据 legz=[allz;allz;zeros(size(allz));zeros(size(allz))]-minz;%t腿z数据 set(h1,'ZData',-minz*ones(size(Tz))); set(h2,'XData',legx,'ZData',legz); set(h3,'XData',-legx,'ZData',legz); set(h4,'XData',[xx;xx],'ZData',[zz;zz]-minz); set(h5,'XData',-[xx;xx],'ZData',[zz;zz]-minz); pause(0.1); drawnow; f=getframe(gcf); imind=frame2im(f); [imind,cm] = rgb2ind(imind,256); imwrite(imind,cm,'1.gif','gif','WriteMode','append','DelayTime',0.1);end
运行完之后会在matlab当前工作的文件夹生成一个1.gif的文件
用浏览器就可以看这个动画文件了

你可以在for循环里加入imwrite();例如imwrite(X,map,'your_hdf_file.hdf','Compression','none',...
'WriteMode','append');这样就可以保存每一个


Matlab中,如何保存,用view函数画的biograph图为一张图片?
Z=sin(r).\/r;surf(Z);生成了一幅静态的surf图片,XX,YY由meshgrid生成。2、下面输入theAxes=axis;,右侧可以看到,theAxes=[0,40,0,40,-0.5,1],这是surf函数生成的,因为上面绘制的surf没有使用surf(XX,YY,Z)所以坐标范围不同,但是无论什么坐标范围,这里都先取出来,存到一个变量中,...

matlab怎么保存工作文件
放在工作目录里或默认目录里,自己编的函数不建议放默认目录里。创建工作目录:matlab主窗口file->set path(窗口里显示的路径就是工作目录)将以前的文件全部remove掉后,在重新add floder,如果文件夹下面还包含其他的文件夹,则可以使用add with subfolders 按钮,非常的方便,不用一个一个文件夹添加。

matlab中,用image或plot或surf生成的图像显示在axes中,如何把axes中显...
点菜单栏里的 file → save as 可以打开保存窗口,选择你想要的格式保存即可

MATLAB产生的图形如何保存?
在figure窗口上file->save as->会弹出保存对话框.

matlab中的imwrite函数怎么用
2、保存到当前文件夹下的一个子文件result下:imwrite(I,'.\/result\/abc.png');3、保存到当前文件夹上一层的一个文件夹result下:imwrite(I,'..\/result\/abc.png');其中I为要保存图像,abc.png为文件名,保存为png格式也可以是其他格式(jpeg,bmp,tif...)。保存在matlab路径下的子文件夹中,...

matlab-另存为代码
1,matlab保存的文件格式是自身的".mat"workspace格式,很不巧的跟microsoft access table shortcut是同一个后缀,所以显示出同样的图标,这个可以忽略,只需要保证在matlab里处理就不会有问题。2,matlab不能保存".xls"文件,那是excel的格式,而matlab任何save命令都产生自己的matlab格式,除非用低级io...

用matlab处理bmp的图像,处理完之后怎么保存到电脑里面?
aaa.bmp”\\x0d\\x0a>> a=imread('aaa.bmp')\\x0d\\x0a%中间处理略...\\x0d\\x0a...\\x0d\\x0a%输出图片至“AAA.bmp”\\x0d\\x0a>> imwrite(a,'AAA.bmp','bmp')\\x0d\\x0a\\x0d\\x0a基本是这样,imwrite的其他用法有兴趣请查看matlab的帮助文档吧..

matlAB如何保存变量?
用save可以保存变量。save data1 表示保存工作空间所有的变量到data1.mat中 save data2 m 表将工作空间的m变量保存到data2.mat中,如果工作空间没有m会报错。save data3 m n p v 表示将工作空间中的 m n p v 四个变量保存到data3.mat中,如果工作空间没有这四个变量中的一个也会报错。例如...

我用matlab编的函数文件应保存在哪个目录下啊调用时一老说没定一_百 ...
放在Matlab的work目录下,或者放在你自己建的任意文件夹下,然后在File菜单中的Set Path中把你自己的文件夹加到Matlab工作文件夹中。

matlab中如何将uitable中的数据保存在指定路径下
要将MATLAB uitable中的数据保存很简单 1、使用get获取数据并存到指定的变量中 data=get(handles.uitable1,'data');2、选择你要保存的文件夹目录和文件名字使 用uiputfile,运行时会弹出一个选择框让你选择保存地址和文件名,目录会存到变量 path中 文件名保存到变量filename [filename,path]=...

义马市13276761602: 怎么把matlab中FOR循环得到的值保存到矩阵中 -
强诞蝎毒: D1(t*10+1)=T*d1; F1(t*10+1)=Tr*f1;

义马市13276761602: matlab里如何把for循环中的数据存入到数组中 -
强诞蝎毒: 两种方法: 1. for i=1:12 x(i)=i^2; %把每一个结果x(i)存到数组x中 end x2. a0=[]; for i=1:12 x=i^2; A=[a0,x]; %把结果x存到数组A中 a0=A; end A你可以自己运行一下这两种方式,看看结果.

义马市13276761602: matlab矩阵循环的保存 -
强诞蝎毒: 可以建一个excel文件,然后把每次的结果写入文件里 例如函数:xlswrite(filename, M):将矩阵M的数据写入名为filename的Excel文件中 也可以用命令: fid=fopen('point.txt','a'); fprintf(fid,i); fclose(fid)

义马市13276761602: matlab循环保存每次循环的结果该怎么保存 -
强诞蝎毒: 你每次循环生成的值是什么形式——标量,向量,矩阵,或是不定?标量的情况最简单,如果是向量和矩阵,就要考虑你打算用什么样的形式存储了.通常采用两种方法(以标量为例):1、把新的结果存在下标为end+1的位置,数组会自动扩...

义马市13276761602: 用Matlab做for循环,如何存储每一次循环结果? -
强诞蝎毒: 把mdl 设成632行的矩阵,每一行对应y每列的线性回归结果.mdl(i,:)=fitlm(a,y)

义马市13276761602: 怎样把matlab中for循环的每次结果同存入一个矩阵的不同列,程序如下: -
强诞蝎毒: for t1=rand(1,4) a=2*t1; b=3*t1; x0=a+b y0=a-b z0=a*b k=[x0,y0,z0]; k=k' end 是源程序吧可以这样 k=zeros(3,4); for ii=1:4 t1=rand(1,4) a=2*t1; b=3*t1; x0=a+b y0=a-b z0=a*b k(:,ii)=[x0;y0;z0]; end

义马市13276761602: matlab for 循环 结果输出为
强诞蝎毒: for i=1:3 m=numstr(i); n=strcat('a',m,'.txt'); imwrite(i,n); end

义马市13276761602: MATLAB 如何用数组存 for循环 每次的结果? -
强诞蝎毒: matlab下标是用括号表示的L=4;%L划分层数fori=1:L-1;b_latitude=pi/L;%L划分层数latitude(i)=i*b_latitude;%第i层时的纬度latitude(i)=pi-i*b_latitude;%计算天顶距b_longitude(i)=acos((cos(b_latitude)-(cos(latitude(i)))^2)/(sin(latitude(i)))^2);%每层上的经度差ni=floor(2*pi/b_longitude(i));%每条纬线上的格网点数forj=1:ni;longitude(i,j)=(j-0.5)*2*pi/ni;%经度endend

义马市13276761602: matlab中双重for循环得到一组数据,如何存储到一个向量中 -
强诞蝎毒: 例子:1 2 3fori=1:100 %for循环,循环100次x(i)=randn(); %获得一个随机数存入x数组 end %结束循环

义马市13276761602: 求matlab程序for循环中怎么保存中间变量 -
强诞蝎毒: 先预置三个空矩阵,然后把每次循环的结果分别逐个加入这三个空矩阵.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网