资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,数学软件,Matlab,文件操作,数学软件 Matlab,1,Matlab,数据类型,Matlab,数据类型的最大特点是每一种类型都是以数组为基础,,Matlab,事实上把每种类型的数据都作为数组来处理。,Matlab,常用的数据类型有:,numeric,(数值型),char,(字符型),logical,(逻辑型),cell,(单元型),struct,(结构),Matlab数据类型 Matlab 数据类型的最大特点是,2,Matlab,数据类型,数组,Matlab7.1,中的数据类型,表,逻辑型,字符型,单元型,函数句柄,Matlab数据类型数组Matlab7.1中的数据类型表逻辑,3,函数句柄,语法结构,handle=functionname,函数句柄定义f(x)=x2,可以写为f=(x)(x.2),;,f(100),f1=(x,y)(x.2+y.2),;,则f1(2,3),Matlab,内置的funm函数其实类似函数句柄格式,A=1,2;3 4;,funm=(A,sin),函数句柄语法结构,4,数值(,numeric,),数值型数据包括整数(带符号和无符号)和浮点数(单精度和双精度)。,在缺省(默认)状态下,,Matlab,将所有的数都看作是双精度的浮点数。,Matlab,数据类型,使用整型变量和单精度变量可以节约内存空间。,数值(numeric)数值型数据包括整数(带符号和无,5,整数,Matlab,提供四种带符号整型和四种无符号整型数据类型。,Matlab,数据类型,数据类型,取值范围,转换函数,Signed 8-bit integer,-2,7,to 2,7,1,int8,Signed 16-bit integer,-2,15,to 2,15,1,int16,Signed 32-bit integer,-2,31,to 2,31,1,int32,Signed 64-bit integer,-2,63,to 2,63,1,int64,Unsigned 8-bit integer,0,to 2,8,1,uint8,Unsigned 16-bit integer,0,to 2,16,1,uint16,Unsigned 32-bit integer,0,to 2,32,1,uint32,Unsigned 64-bit integer,0,to 2,64,1,uint64,整数Matlab提供四种带符号整型和四种无符号整型数据类,6,例:,A=input,(,Please input A:),数据的输入:,input,A=input,(,提示信息,),其中,提示信息,为字符串,,该命令要求用户输入,A,的值,(,可以是数或字符串,),input,name=input,(,What,s your name?,),例:,输入字符串时必须带单引号,单引号的输出:两个连续的单引号,例:A=input(Please input A:),7,disp,(X),输出变量,X,的值,,X,可以是数值矩阵或字符串,一次只能输出一个变量,B=,1 2 3;4 5 6;7 8 9,;,disp,(B),disp,数据的输出:,disp,A=,Hello,Tom!,;,disp,(A),例:,disp(X)输出变量 X 的值,X 可以是数值矩阵或字符,8,fprintf,fprintf,(fid,format,variables),数据的格式化输出:,fprintf,按,指定的格式,将变量的值输出到屏幕或指定的,文件,fid,为文件句柄,若缺省,则输出到屏幕上,format,用来指定数据输出时采用的格式,包含:,普通字符串、格式字符串、转义字符,%d,(,整数,),%e,(,实数:科学计数法形式,),%f,(,实数:小数形式,),%g,(,由系统自动选取上述两种格式之一,),%s,(,输出字符串,),n,(,换行,),t,(,制表符,),b,(,退格,),(,反斜杆,),%,(,百分号,),fprintffprintf(fid,format,vari,9,fprintf,a=,Hello,;,b=2.4;,c=100*pi;,fprintf,(,a=,%,s,b=,%f,c=,%e,n,a,b,c),例:,format,中的,格式字符串,要与输出变量一一对应,可以没有输出变量,fprintf,(,Today is Mondayn,),例:,fprintf a=Hello;例:format,10,11,输出格式,Matlab 的输出格式,Matlab,以双精度执行所有的运算,运算结果可以,在屏幕上输出,,同时,赋给指定变量,;若无指定变量,则系统会自动将结果赋给变量,“,ans,”,在屏幕上输出运算结果时,可以,通过,format,命令指定输出格式,format,只改变输出格式,不会改变变量的值!,11 输出格式Matlab 的输出格式 Matlab 以双精,11,12,12,各种 format,格式,解释,例,format,短格式(缺省格式),同,short,3.1416,format short,短格式(缺省格式),小数点后,4,位,3.1416,format long,长格式,双精度,15,位,单精度 7位,3.14159265358979,format shortE,短,E,格式(科学计数格式,),3.1416,e+000,format longE,长,E,格式,3.141592653589793,e+000,format shortG,短,G,格式,3.1416,format longG,长,G,格式,3.14159265358979,format rat,分数形式,355/113,format compact,紧凑格式,format loose,宽松格式,format+,,,format bank,,,format hex,(,详情查看联机帮助),1212各种 format格式解释例format短格式(缺省,12,13,13,变量的存储,将变量保存到,mat,文件中,save,将,所有变量,保存到文件,matlab.mat,中,save fname,save fname.mat,将,所有变量,保存到文件,fname.mat,中,save fname,变量,将,指定变量,保存到文件,fname.mat,中,可同时保存多个变量,各变量之间用,空格,隔开,例,:,x=2:5;A=magic(3);a=2.4;,save mydata A x;,从,mat,文件中读取变量,load fname,读取,fname.mat,中的,所有变量,load fname,变量,从,fname.mat,中读取,指定的变量,1313变量的存储 将变量保存到 mat 文件中save将所,13,文件操作是一种重要的输入输出方式,,Matlab,提供了一系列输入输出函数,专门用于文件操作。,Matlab,文件操作主要有三个步骤:首先,打开,文件,然后对文件进行,读写,操作,最后要,关闭,文件。,Matlab,中的输入输出函数是以,C,语言标准库函数中的输入输出函数为基础开发的,所以这些函数与,C,语言的输入输出函数相类似。,Matlab,文件操作介绍,文件操作是一种重要的输入输出方式,Matlab 提供了一,14,常见的打开方式有:,fid,=fopen,(,文件名,打开方式),r,只读,文件必须存在(缺省的打开方式),w,写文件,若文件已存在则原内容将被覆盖;若文件不存在则新建一个,a,在文件末尾添加,文件若不存在则新建一个,r+,可读可写,文件必须存在,w+,可读可写,若文件已存在则原内容将被覆盖;若文件不存在则新建一个,a+,可读可写可添加,文件若不存在则新建一个,文件的打开,其中文件名用字符串形式表示(可以带路径名),常见的打开方式有:fid=fopen(文件名,打开方式),15,fid,为文件句柄,其它函数可以用它对该文件进行操作。如果句柄值大于,0,,则表示文件打开成功;若打开失败,,fid,的返回值为,-1,。,有两个标准代码文件,不需打开就可以直接使用,分别为:,fid=1,标准输出文件,,fid=2,标准错误文件。,文件的打开,fid,=fopen,(,output.txt,,,wt+,);,%t,文本,fprintf,(fid,Hello world!n);,fclose,(fid);,fprintf,(1,Hello world!n);,fprintf,(2,Hello world!n);,fid 为文件句柄,其它函数可以用它对该文件进行操作。如果,16,文件有两种格式:,二进制,文件(,b,),和,文本,文件(,t,),。,在,Windows,下,打开文件的默认是二进制格式,如果要以文本方式打开,则必须在打方式中加上字符,t,。,若不指定打开方式,则表示只读。,文件的打开,fid,=fopen,(,output.txt,,,wt+,);,文件有两种格式:二进制文件(b)和文本文件(t)。若不指,17,其中,fid,为所要关闭的文件的句柄,,status,为关闭文件的返回代码,若关闭成功则为,0,,否则为,-1,。,status=,fclose,(,fid,);,文件的关闭,其中 fid 为所要关闭的文件的句柄,status 为关闭,18,A,用来存放读取的数据,count,返回读取数据的个数,为可选项,fid,为文件句柄,size,为可选项,缺省为读取整个文件,若给出,则取值可以是:,A,count=,fscanf,(fid,format,size,),文本文件的读取,N,读取,N,个数据到一个列向量,Inf,读取整个文件,m,n,读取,m,n,个数据到一个,m,n,矩阵中,按列存放,A 用来存放读取的数据A,count=fscanf(,19,c,字符型,g,浮点数(自动),d,十进制整数,o,八进制,e,浮点数(科学计数法),s,字符串,f,浮点数(小数形式),x,十六进制,文本文件的读取,format,用来控制读取的数据格式,由,%,加上格式符组成,下表中是常见的格式符,在,%,之后可以加上数据宽度,如,%12,d,c字符型g浮点数(自动)d十进制整数o八进制e浮点数(科学计,20,将,输出变量,按指定的格式写入文件中,若省略,fid,,则表示在屏幕上输出,count,返回所写入的数据元素个数(可省),format,以,%,开头,通常由以下几个部分组成:,count=,fprintf,(fid,format,输出变量列表,),flags,(optional),Width,and,precision,fields,(optional),Conversion,character,(required),文本文件的写入,将输出变量按指定的格式写入文件中count=fprintf,21,fprintf,举例,fprintf,(a=,%,-,12,.,5,f,n,123.456),format,以,%,开头,flag,field width,precision,格式说明符,-,:,左对齐,+,:,输出符号,0,:,空白处添,0,空格,:,前面加一空格,字段宽度,小数点后输出位数,fprintf 举例fprintf(a=%-12.5f,22,文本文件的写入,fprintf,命令的格式说明符,c,字符型,g,浮点数(自动),d,十进制整数,o,八进制,e,浮点数(科学计数法),s,字符串,f,浮点数(小数形式),x/X,十六进制,format,中还可以使用的特殊字符,b,退后一格,t,水平制表符,f,换页,反斜杠,n,换行,单引号,r,回车,%,百分号,文本文件的写入 fprintf 命令的格式说明符c字符型g浮,23,x=0:0.1:1;,y=x;exp(x);,fid=,fopen,(,output.dat,wt,);,fpr
展开阅读全文