十讲(数据处理)_第1页
十讲(数据处理)_第2页
十讲(数据处理)_第3页
十讲(数据处理)_第4页
十讲(数据处理)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十一讲文件和数据的导入和导出1、数据导入一般用于数据分析的数据规模较大,在分析数据之前,要把数据导入到Matlab工作区。单击File菜单下的ImportData子菜单,打开导入窗口,可以把数据导入到workspace中。2、数据保存(save命令)1)Savefilename%把工作区中所有变量列表2)Savefilenamevariable1variable2例如:clearx=0.5;y=4*x;savexyfile3)Savefilenamevariable1variable2-asciii使用save命令用于将活动交互环境中的变量保存到指定文件名的文件,前面两种形式创建二进制的.m

2、at文件,包含变量名,大小和存储在矩阵中的数据。.ascii格式的save命令用来创建纯文本文件,可以用文本编辑器打开.例如:x=0:5;y=5*x;xy=x,y;savexyvals.txtxy-ascii1/17它保存的只是矩阵中元素的值,.mat形式的文件写入的内容还包括变量名,变量大小等.当变量还要读入Matlab时,使用.mat形式,它创建的变量是结构体,当变量要输出到其他程序,如电子表格和文字处理时,使用ascii格式,它创建的变量是一个矩阵.3、文件的打开(1)open不同类型文件后缀名不同,如filename.m,filename.mat(数据文件),filename.pdf(

3、pdf文件),filename.fig(图形文件),使用格式:open(filename):%打开文件filename。打开当前路径上的文件,可以直接用open函数打开,例如:open学位论文评议书.pdf或open(学位论文评议书.pdf),open(图形.fig),open(论文答辩.ppt)。如果文件不在当前路径上,打开它需要指定路径名,例如:open(D:tempdata.mat)(2)loadload命令与save命令是成对的,load命令把数据读入matlab中。loadfilename%filename.mat被打开,其中的变量被载入工作区loadfilenamevar1var2

4、%filename.mat被打开,其中的变2/17量var1var2被载入工作区也可以使用:load(filename)这里filename可以是mat格式文件或纯文本文件(扩展名是.dat或.txt)。例:clearx=linspace(0,2*pi);y=cos(x);z=sin(x);savetrigvar%创建trigvar.mat文件clearwhosloadtrigvarwhosNameSizeBytesClassAttributesx1x100800doubley1x100800doublez1x100800doubleD=load(trigvar)%当文件是.mat格式,D是一

5、个结构体D=x:1x100double3/17y:1x100doublez:1x100doubleC=load(xyvals.txt)%当文件是纯文本文件时,C是包含文件中所有数据的矩阵C=0015210315420525练习:在记事本中建立一个数据文件,使用load导入到matlab中,注意路径。注:load命令的一个重要应用是从纯文本文件中读入数据进行分析和画图。此时,要求文件中各列等长,且各列中的数据都是数字。不可以包括文本,如列标题。例:实际应用例子在NMM工具箱中的data目录下的文件文件pdxTemp.dat是已有的一个文件,它包含俄勒冈州波特兰市的历史平均气温typepdxTem

6、p.dat4/17145.3633.8439.60%第一列为月份,第二列到第四列250.8735.9843.43分别是平均最高气温、平均最低气温、356.0538.5547.30和每月的平均温度。460.4941.3650.92567.1746.9257.05673.8252.8063.31779.7256.4368.07880.1456.7968.47974.5451.8363.181064.0844.9554.521152.6639.5446.101245.5934.7540.17在命令窗口中进行如下操作:D=load(pdxTemp.dat)D=1.000045.360033.84003

7、9.60002.000050.870035.980043.43003.000056.050038.550047.30004.000060.490041.360050.92005.000067.170046.920057.05006.000073.820052.800063.31007.000079.720056.430068.07005/178.000080.140056.790068.47009.000074.540051.830063.180010.000064.080044.950054.520011.000052.660039.540046.100012.000045.590034.7

8、50040.1700month=D(:,1);%拷贝第一列到monthT=D(:,2:4)%拷贝第二到四列到TT=45.360033.840039.600050.870035.980043.430056.050038.550047.300060.490041.360050.920067.170046.920057.050073.820052.800063.310079.720056.430068.070080.140056.790068.470074.540051.830063.180064.080044.950054.520052.660039.540046.100045.590034.75

9、0040.1700Thigh_max=max(T(:,1)6/17Thigh_max=80.1400Tlow_min=min(T(:,2)Tlow_min=33.8400Tave_ave=mean(T(:,3)Tave_ave=53.5100whosNameSizeBytesClassAttributesD12x4384doubleT12x3288doubleTave_ave1x18doubleThigh_max1x18doubleTlow_min1x18double4、低级输入/输出函数load,save可以看成高级函数,用户只要输入简单的语句,系统就能接受或传送数据。但它不能控制操作的细节

10、。例如,当文件存放在纯文本文件中,有列标题时,不能使用load.例:7/17typeH2Odensity.datkx(k)11.0022.0033.0044.0055.00loadH2Odensity.dat?Errorusing=loadUnknowntextonlinenumber1ofASCIIfileD:MyDocumentsMATLABH2Odensity.datk.此时,要使用低级I/O函数。一般格式:fid=fopen(filename,permission)fid是文件标识符,当打开文件成功时,返回正数,否则返回-1。Permission是字符串,表示对文件许可的操作。rt:打

11、开文件进行读操作。wt:打开文件进行写操作,文件不存在时,先创建在写;已经存在时,将原来内容覆盖。a:打开文件进行追加操作,文件不存在时,先创建在追加,已经存在时,直接追加在文件末尾。line=fgetl(fid)%打开文件的一行8/17x=fscanf(fid,format)%从文件中读取格式化数据format是字符串,表示给变量x赋值的转换格式%s:格式化为字符串%d:格式化为整数%f:格式化为浮点数%e:格式化为科学记数法的浮点数%g:格式化为%e或%f简化格式n:换行t:插入制表符例:fid=fopen(pdxThead.dat,rt);%打开文件进行读headings=fgetl(f

12、id)%读取文件的第一行,如再调用一次,读第二行headings=monthhighlowaved=fscanf(fid,%f);fclose(fid)%关闭文件ans=0d=reshape(d,4,12)d=9/171.000045.360033.840039.60002.000050.870035.980043.43003.000056.050038.550047.30004.000060.490041.360050.92005.00006.00007.00008.00009.000010.000011.000012.000067.170073.820079.720080.140074.5

13、40064.080052.660045.590046.920057.050052.800063.310056.430068.070056.790068.470051.830063.180044.950054.520039.540046.100034.750040.1700m=d(:,1);T=d(:,2:4)T=45.360050.870056.050033.840035.980038.550039.600043.430047.300010/1760.490041.360050.920067.170046.920057.050073.820052.800063.310079.720056.43

14、0068.070080.140056.790068.470074.540051.830063.180064.080044.950054.520052.660039.540046.100045.590034.750040.1700例:x=12345;fout=fopen(myfile.dat,wt);%创建文件myfile.dat,下面是向文件中写入数据fprintf(fout,kx(k)n);fork=1:length(x)fprintf(fout,%4d%5.2fn,k,x(k);endfclose(fout)ans=0typemyfile.datkx(k)11/1711.0022.0033

15、.0044.0055.00练习:下图是从pdxTemp.dat中提取的数据,画出每个月的最高气温、最低气温、平均气温。例:将Excel格式文件保存到Matlab中选择当前路径,双击当前路径中的Excel数据文件,弹出ImportWizard,执行finish,工作窗口中会出现变量名Sheet1,可修改变量名,此时可以使用这个变量。例如在“我的文挡”中有文件book1.xls.将当前路径选为“我的文挡”,双击文件book1.xls。在窗口中出现变量名Sheet1,修改其为变量a,在窗口中输入a,则有:a=12433355512/175、打开(或保存成)Excel文件a=xlsread(filen

16、ame)xlswrite(filename.xls,a)6、Matlab与Word混合使用(1)notebook的安装notebook则得以下代码WelcometotheutilityforsettinguptheMATLABNotebookforinterfacingMATLABtoMicrosoftWord13/17ChooseyourversionofMicrosoftWord:1MicrosoftWord972MicrosoftWord20003MicrosoftWord2002(XP)4MicrosoftWord2003(XP)5Exit,makingnochangesMicroso

17、ftWordVersion:4输入4回车,则命令窗口出现:notebookNotebooksetupiscomplete.Warning:MATLABisnowanautomationserver14/17此时打开M-book.dot文件。在Notebook中输入命令布置如下:采用文本格式输入命令,如m=eye(4),不按回车和空格键;从Notebook菜单中选中”DefineInputCell选项;从Notebook菜单中选中”EvaluateCell”选项,或按Ctrl+Enter键,则文本格式输入的命令得以运行。注:Notebook文档即在word中输入的Matlab函数命令,故其指令与

18、标点必须在英文状态下输入;如果需要,使用Notebook中的BringMatlabtoFont,或使用Alt+M键,把Matlab命令窗口调到前台。7、Matlab与Excel混合使用(1)Excellink的安装启动Excel,单击工具菜单(tool),执行“加载宏”命令。在打开的“加载宏”对话框中单击“浏览“,选择matlabtoolboxexlink路径中的excllink.xla文件,单击确定。返回“加载宏”窗口,此时已经选中的”Excellink“选项,单击”确定“。此时打开Excel,excllink与Matlab自动运行。注:如不希望excllink与Matlab自动运行,则在Excel数据15/17表单元中输入“MLAutoStart(“no”)”函数;如想在Excel环境中终止excllink与Matlab,则B1单元表中输入“=MLClose()”例:一个Excellink实例启动Excel,Excellink,Matlab,打开示例文件exlisamp.xls.二、一些基本的统计函数max,min,mean,median(中位数),mode(数据中出现频率最高的数),var(方差,反映数据的离散程度)std(标准差,方差的算术平方根)三、图形界面的统计交互工具例:A=rand(20,3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论