您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > MATLAB保存数据方法
如果你想保存为.mat的格式,就是用save函数如果想保存成excel格式,就是用xlswrite函数如果想保存成text格式,就是用textwrite函数其他格式还可以使用fwrite函数在循环当中用eval(['savedate',num2str(i)'])完成存储,根据i值存入不同的文件Matlab保存for循环下的数据(2015-01-1205:34:23)转载▼fori=1:10a=i%%加分号后有误,WHY??eval(['savedata',num2str(i)])end使用eval若i不为整数,改换i即可上述为保存至分开的mat数据当中如果要一次保存至一个mat当中,可以直接使用savesave('filename','data1','data2','-ascii','-append')save('filename.mat','data1','data2','-append')save(['file_',num2str(i),'.mat'],myvar)fori=1:10%%%succeeda=i;F12=['FILE_',num2str(i),'.dat'];save(F12,'a');endValueoffmtFileFormatValueoffmtFileFormat'-mat'BinaryMAT-fileformat.'-ascii'Textformatwith8digitsofprecision.'-ascii','-tabs'Tab-delimitedtextformatwith8digitsofprecision.'-ascii','-double'Textformatwith16digitsofprecision.'-ascii','-double','-tabs'Tab-delimitedtextformatwith16digitsofprecision.Ref:=save#bt0xgur-6比如:A=[123456]fid=fopen('D1.txt','wt');fprintf(fid,'%d%d%d'\n',A');fclose(fid);一:存txt文件,用dlmwrite()dlmwrite将一个矩阵写到由分隔符分割的文件中。在保存整数到文件时使用save存为ascii文件时,常常是文件里都是实型格式的数据(有小数点,和后面很多的0,看着很不方便)。于是要保存此类数据时,我们可以使用此dlmwrite命令。使用方法:dlmwrite('filename',M)使用默认分隔符“,”将矩阵M写入文本文件filename中;dlmwrite('filename',M,'D')使用分隔符D分割数据,“\t”表示tab分割,“,”为默认分割符;dlmwrite('filename',M,'D',R,C)从矩阵M的第R行、第C列开始,作为要写矩阵块的左上角,将数据用D分割写入文件。其他用法有:dlmwrite('filename',M,'attrib1',value1,'attrib2',value2,...)dlmwrite('filename',M,'-append')dlmwrite('filename',M,'-append',attribute-valuelist)例如:a=[123;456;789];dlmwrite('test.txt',a);则test.txt中的内容为:1,2,34,5,67,8,9而使用save保存为TXT文件类型:a=[123;456;789];save'tst.txt'a-ascii;文本文件里的内容为:1.0000000e+0002.0000000e+0003.0000000e+0004.0000000e+0005.0000000e+0006.0000000e+0007.0000000e+0008.0000000e+0009.0000000e+000而使用save保存为dat文件类型:a=[123;456;789];save11.data-ascii;11.dat文件里的内容为:1.0000000e+0002.0000000e+0003.0000000e+0004.0000000e+0005.0000000e+0006.0000000e+0007.0000000e+0008.0000000e+0009.0000000e+000在循环结构中可利用以下代码:fori=1:3%%%%succeed;a=[123;456;789];filename=['phi_',num2str(i),'.txt'];dlmwrite(filename,a);endresult:1.txt,2.txt,3.txt;利用cswrite函数保存成dat类型。m=[3691215;510152025;714212835;1122334455];csvwrite('csvlist.dat',m);3,6,9,12,155,10,15,20,257,14,21,28,3511,22,33,44,55二.利用xlswrite函数,保存为excel文件类型;xlswrite(filename,M)xlswrite(filename,M,sheet)xlswrite(filename,M,range)xlswrite(filename,M,sheet,range)status=xlswrite(filename,...)[status,message]=xlswrite(filename,...)xlswritefilenameMsheetrangeDescriptionxlswrite(filename,M)writesmatrixMtotheExcel?filefilename.Thefilenameinputisastringenclosedinsinglequotes.TheinputmatrixMisanm-by-nnumeric,character,orcellarray,wherem65536andn256.Thematrixdataiswrittentothefirstworksheetinthefile,startingatcellA1.example:Example1—WritingNumericDatatotheDefaultWorksheetWritea7-elementvectortoMicrosoftExcelfiletestdata.xls.Bydefault,thedataiswrittentocellsA1throughG1inthefirstworksheetinthefile:xlswrite('testdata',[12.75.02-9863.90-.256])Example2—WritingMixedDatatoaSpecificWorksheetThisexamplewritesthefollowingmixedtextandnumericdatatothefiletempdata.xls:d={'Time','Temp';1298;1399;1497};Callxlswrite,specifyingtheworksheetlabeledTemperatures,andtheregionwithintheworksheettowritethedatato.The4-by-2matrixwillbewrittentotherectangularregionthatstartsatcellE1initsupperleftcorner:s=xlswrite('tempdata.xls',d,'Temperatures','E1')s=1Theoutputstatussshowsthatthewriteoperationsucceeded.Thedataappearsasshownhereintheoutputfile:TimeTemp129813991497Example3—AppendingaNewWorksheettotheFileNowwritethesamedatatoaworksheetthatdoesn'tyetexistintempdata.xls.Inthiscase,MATLABappendsanewsheettotheworkbook,callingitbythenameyousuppliedinthesheetsinputargument,'NewTemp'.MATLABdisplaysawarningindicatingthatithasaddedanewworksheettothefile:xlswrite('tempdata.xls',d,'NewTemp','E1')Warning:Addedspecifiedworksheet.Ifyoudon'twanttoseethesewarnings,youcanturnthemoffusingthecommandindicatedinthemessageabove:warningoffMATLAB:xlswrite:AddSheetNowtrythecommandagain,thistimecreatinganothernewworksheet,NewTemp2.Althoughthemessageisnotdisplayedthistime,youcanstillretrieveitanditsidentifierfromthesecondoutputargument,m:[statmsg]=xlswrite('tempdata.xls',d,'NewTemp2','E1');msgmsg=message:'Addedspecifiedworksheet.'identifier:'MATLAB:xlswrite:AddSheet'在循环结构中;fori=1:3%%%%succeed;a=[123;456;789];filename=[num2str(i),'.xls'];xlswrite(filename,a);end13.1数据基本操作二:本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。13.1.1文件的存储MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。1.保存整个工作区选择File菜单中的SaveWorkspaceAs…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。2.保存工作区中的变量在工作区浏览器中,右击需要保存的变量名,选择SaveAs…,将该变量保存为MAT文件。3.利用save命令保存该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下:●save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。●save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。●save('filename','var1','var2',...):保存指定的变量在filename指定的文件中。●save('filename','-struct','s'):保存结构体s中全部域作为单独的变量。●save('filename','-struct','s','f1','f2',...):保存结构体s中的指定变量。●save('-regexp',expr1,expr2,...):通过正则表达式指定待保存的变量需满足的条件。●sa
本文标题:MATLAB保存数据方法
链接地址:https://www.777doc.com/doc-2887152 .html