matlab外部数据导入详解

上传人:无*** 文档编号:106000665 上传时间:2022-06-13 格式:DOC 页数:22 大小:180KB
收藏 版权申诉 举报 下载
matlab外部数据导入详解_第1页
第1页 / 共22页
matlab外部数据导入详解_第2页
第2页 / 共22页
matlab外部数据导入详解_第3页
第3页 / 共22页
资源描述:

《matlab外部数据导入详解》由会员分享,可在线阅读,更多相关《matlab外部数据导入详解(22页珍藏版)》请在装配图网上搜索。

1、在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。13.1 数据基本操作本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。13.1.1 文件的存储MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。1. 保存整个工作区选择File菜单中的SaveWorkspaceAs命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。2. 保存工作区中的

2、变量在工作区浏览器中,右击需要保存的变量名,选择SaveAs,将该变量保存为MAT文件。3. 利用save命令保存该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 save(filename):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 save(filename,varl,var

3、2,.):保存指定的变量在filename指定的文件中。 save(filename,-struet,s):保存结构体s中全部域作为单独的变量。 save(filename,-struet,s,fl,f2,.):保存结构体s中的指定变量。 save(-regexp,exprl,expr2,.):通过正则表达式指定待保存的变量需满足的条件。 save(.,format),指定保存文件的格式,格式可以为MAT文件、ASCII文件等。13.1.2 数据导入MATLAB中导入数据通常由函数load实现,该函数的用法如下: load:如果matlab.mat文件存在,导入matlab.mat中的所有变量

4、,如果不存在,则返回error。 loadfilename:将filename中的全部变量导入到工作区中。 loadfilenameXYZ.:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符“*”。 loadfilename-regexpexprlexpr2.:通过正则表达式指定需要导入的变量。 load-aseiifilename:无论输入文件名是否包含有扩展名,将其以ASCII格式导入;如果指定的文件不是数字文本,则返回error。 load-matfilename:无论输入文件名是否包含有扩展名,将其以mat格式导入;如果指定的文件不是M

5、AT文件,则返回error。例13-1将文件matlab.map中的变量导入到工作区中。首先应用命令whos-file查看该文件中的内容:whos-filematlab.matNameSizeBytesClassA2x348doublearrayI_q415x552x3687240uint8arrayans1x324doublearraynum_of_cluster1x18doublearrayGrandtotalis687250elementsusing687320bytes将该文件中的变量导入到工作区中:loadmatlab.mat该命令执行后,可以在工作区浏览器中看见这些变量,如图13-

6、1所示。图13-1导入变量后的工作区视图接下来用户可以访问这些变量。num_of_clusternum_of_cluster=3MATLAB中,另一个导入数据的常用函数为importdata,该函数的用法如下: importdata(filename),将filename中的数据导入到工作区中; A=importdata(filename),将filename中的数据导入到工作区中,并保存为变量A; importdata(filename,delimiter),将filename中的数据导入到工作区中,以delimiter指定的符号作为分隔符;例13-2从文件中导入数据。imported_da

7、ta=importdata(matlab.mat)imported_data=ans:1.18131.09281.6534A:2x3doubleI_q:415x552x3uint8num_of_cluster:3与load函数不同,importdata将文件中的数据以结构体的方式导入到工作区中。13.1.3 文件的打开MATLAB中可以使用open命令打开各种格式的文件,MATLAB自动根据文件的扩展名选择相应的编辑器。需要注意的是open(filename.mat)和load(filename.mat)的不同,前者将filename.mat以结构体的方式打开在工作区中,后者将文件中的变量导入

8、到工作区中,如果需要访问其中的内容,需要以不同的格式进行。例13-3open与load的比较。clearA=magic(3);B=rand(3);saveSavingto:matlab.matclearload(matlab.mat)AA=816357492BB=0.95010.48600.45650.23110.89130.01850.60680.76210.8214clearopen(matlab.mat)ans=A:3x3doubleB:3x3doublestruc1=ans;struc1.Aans=816357492struc1.Bans=0.95010.48600.45650.231

9、10.89130.01850.60680.76210.821413.2文本文件的读写在上一节中介绍的函数和命令主要用于读写mat文件,而在应用中,需要读写更多格式的文件,如文本文件、word文件、xml文件、xls文件、图像文件和音视频文件等。本节介绍文本文件(txt)的读写。其他文件的读写,用户可以参考MATLAB帮助文档。MATLAB中实现文本文件读写的函数如表13-1所示。表13-1MATLAB中文本文件读写函数函数功能csvread读入以逗号分隔的数据csvwrite将数据写入文件,数据间以逗号分隔dlmread将以ASCII码分隔的数值数据读入到矩阵中dlmwrite将矩阵数据写入到

10、文件中,以ASCII分隔textread从文本文件中读入数据,将结果分别保存textscan从文本文件中读入数据,将结果保存为单元数组下面详细介绍这些函数。1. csvread、csvwritecsvread函数的调用格式如下: M=csvread(filename),将文件filename中的数据读入,并且保存为M,filename中只能包含数字,并且数字之间以逗号分隔。M是一个数组,行数与filename的行数相同,列数为filename列的最大值,对于元素不足的行,以0补充。 M=csvread(filename,row,col),读取文件filename中的数据,起始行为row,起始列

11、为col,需要注意的是,此时的行列从0开始。 M=csvread(filename,row,col,range),读取文件filename中的数据,起始行为row,起始列为col,读取的数据由数组range指定,range的格式为:R1C1R2C2,其中Rl、C1为读取区域左上角的行和列,R2、C2为读取区域右下角的行和列。csvwrite函数的调用格式如下: csvwrite(filename,M),将数组M中的数据保存为文件filename,数据间以逗号分隔。 csvwrite(filename,M,row,col),将数组M中的指定数据保存在文件中,数据由参数row和col指定,保存ro

12、w和col右下角的数据。 csvwrite写入数据时每一行以换行符结束。另外,该函数不返回任何值。这两个函数的应用见下面的例子。例13-4函数csvread和csvwrite的应用。本例首先将MATLAB的图标转化为灰度图,将数据存储在文本文件中,再将其部分读出,显示为图形。编写M文件,命名为immatlab.m,内容为:%theexampleoffunctionscsvreadandcsvwriteI_MATLAB=imread(D:matlab.bmp);%readintheimageI_MATLAB=rgb2gray(I_matlab);%converttheimagetograyima

13、gefigure,imshow(I_matlab,InitialMagnification,100);%showtheimagecsvwrite(D:matlab.txt,I_matlab);%writethedataintoatextfilesub_MATLAB=csvread(D:matlab.txt,100,100);%readinpartofthedatasub_MATLAB=uint8(sub_matlab);%convertthedatatouint8figure,imshow(sub_matlab,InitialMagnification,100);%showthenewimag

14、e在命令窗口中运行该脚本,输出图形如图13-2所示。(a)(b)图13-2例13-3的运行结果该例中涉及到了少量的图像处理内容,超出本书的范围,感兴趣的读者可以查阅MATLAB帮助文档中关于ImageProcessingToolbox的介绍。2.dlmread、dlmwrite(个人觉得这个比较好用)dlmread函数用于从文档中读入数据,其功能强于csvread。dlmread的调用格式如下: M=dlmread(filename) M=dlmread(filename,delimiter) M=dlmread(filename,delimiter,R,C) M=dlmread(filena

15、me,delimiter,range)其中参数delimiter用于指定文件中的分隔符,其他参数的意义与csvread函数中参数的意义相同,这里不再赘述。dlmread函数与csvread函数的差别在于,dlmread函数在读入数据时可以指定分隔符,不指定时默认分隔符为逗号。dlmwrite函数用于向文档中写入数据,其功能强于csvwrite函数。dlmwrite函数的调用格式为: dlmwrite(filename,M),将矩阵M的数据写入文件filename中,以逗号分隔。 dlmwrite(filename,M,D),将矩阵M的数据写入文件filename中,采用指定的分隔符分隔数据,如

16、果需要tab键,可以用“t”指定。 dlmwrite(filename,M,D,R,C),指定写入数据的起始位置。 dlmwrite(filename,M,attribute1,value1,attribute2,value2,.),指定任意数目的参数,可以指定的参数见下表。 dlmwrite(filename,M,-append),如果filename指定的文件存在,在文件后面写入数据,不指定时则覆盖原文件。 dlmwrite(filename,M,-append,attribute-valuelist),叙写文件,并指定参数。 dlmwrite函数的可用参数如表13-2所示。表13-2dl

17、mwrite函数的可用参数参数名功能delimiter用于指定分隔符newline用于指定换行符,可以选择“pc”或者“unix”roffset行偏差,指定文件第一行的位置,roffset的基数为0coffset列偏差,指定文件第一列的位置,coffset的基数为0precision指定精确度,可以指定精确维数,或者采用c语言的格式,如“10.5f”3.textread,textscan当文件的格式已知时,可以利用textread函数和textscan函数读入。这里只介绍这两个函数应用的实例。例13-5通过%读入文件,按照原有格式读取。文件的内容为:SallyLevel112.3445Yes在

18、命令窗口中输入:names,types,x,y,answer=textread(D:mat.txt,%s%s%f%d%s,1)得到结果为:names=Sallytypes=Level1x=12.3400y=45answer=Yes例13-6函数csvread和csvwrite的应用SallyLevel112.34451.23e10infNaNYesJoeLevel223.54609e19-inf0.001NoBillLevel334.90122e510100Nofid=fopen(D:mat.txt);C=textscan(fid,%s%s%f32%d8%u%f%f%s);fclose(fid

19、);13.3低级文件I/O本节介绍一些基本的文件操作,这些操作如表13-3所示。表13-3MATLAB的基本文件操作函数功能fclose关闭打开的文件feof判断是否为文件结尾ferror文件输入输出中的错误查找fgetl读入一行,忽略换行符fgets读入一行,直到换行符fopen打开文件,或者获取打开文件的信息fprintf格式化输入数据到文件fread从文件中读取二进制数据frewind将文件的位置指针移至文件开头位置fscanf格式化读入fseek设置文件位置指针ftell文件位置指针fwrite向文件中写入数据下面重点介绍函数fprintf。该函数的调用格式如下:count=fprin

20、tf(fid,format,A,.)该语句将矩阵A及后面其他参数中数字的实部以format指定的格式写入到fid指定的文件中,返回写入数据的字节数。上面语句中,参数format由开头,共可由4个部分组成,分别如下:标记(flag),为可选部分。 宽度和精度指示,为可选部分。 类型标志符,为可选部分。 转换字符,为必需部分。1. 标记标记用于控制输出的对齐方式,可以选择的内容如表13-4所示。表13-4标记的可选内容函数功能示例负号(-)在参数左侧进行判别%-5.2d加号(+)在数字前添加符号%+5.2d空格在数字前插入空格%5.2d0在数字前插入0%05.2d2. 宽度和精度指示用户可以通过数

21、字指定输出数字的宽度及精度,格式如下: %6f,指定数字的宽度; %6.2f,指定数字的宽度及精度; %.2f,指定数字的精度。例13-6fprintf函数宽度和精度指示符示例。在命令窗口中输入如下命令:file_type=fopen(D:type.txt,w);fprintf(file_h,%6.2f%12.8fn,1.2,-43.3);fprintf(file_h,%6f%12fn,1.2,-43.3);fprintf(file_h,%.2f%.8fn,1.2,-43.3);fclose(file_h)ans=0打开该文件,其内容为:1.20-43.300000001.200000-43.

22、3000001.20-43.30000000从上述结果可以看出宽度和精度控制的效果。3. 转换字符转换字符用于指定输出的符号,可以选择的内容如表13-5所示表13-5格式化输出的标志符及意义标志符意义%c输出单个字符%d输出有符号十进制数%e采用指数格式输出,采用小写字母e,如:3.1415e+00(续表)标志符意义%E采用指数格式输出,采用大写字母E,如:3.1415E+00%f以定点数的格式输出%g%0及%f的更紧凑的格式,不显示数字中无效的0%G与%g相同,但是使用大写字母E%i有符号十进制数%o无符号八进制数%s输出字符串%u无符号十进制数%x十六进制数(使用小写字母af)%X十六进制

23、数(使用大写字母AF)其中o、u、x、乂支持使用子类型,具体情况这里不再赘述。格式化输出标志符的效果见下面的例子。例13-7fprintf格式化输出示例。x=0:.1:1;y=x;exp(x);fid=fopen(exp.txt,wt);fprintf(fid,%6.2f%12.8fn,y);fclose(fid)ans=0显示该文件:typeexp.txt0.001.000000000.101.105170920.902.459603111.002.71828183例13-9利用fprintf函数在显示器上输出字符串fprintf(1,ItsFriday.n)ItsFriday.在该例中,利

24、用1表示显示器,并且用两个单引号显示单引号,使用n进行换行。在格式化输出中,这类符号称为转义符。MATLAB中的常用转义符如表13-6所示。表13-6MATLAB中的常用转义符转义符功能b退格f表格填充n换行符r在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。13.1 数据基本操作本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。13.1.1 文件的存储MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以

25、通过菜单进行,也可以通过命令窗口进行。1. 保存整个工作区选择File菜单中的SaveWorkspaceAs命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。2. 保存工作区中的变量在工作区浏览器中,右击需要保存的变量名,选择SaveAs,将该变量保存为MAT文件。3. 利用save命令保存该命令可以保存工作区,或工作区中任何指定文件。该命令的调用格式如下: save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。 save

26、(filename):将工作区中的所有变量保存为文件,文件名由filename指定。如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。 save(filename,varl,var2,.):保存指定的变量在filename指定的文件中。 save(filename,-struet,s):保存结构体s中全部域作为单独的变量。 save(filename,-struet,s,fl,f2,.):保存结构体s中的指定变量。 save(-regexp,exprl,expr2,.):通过正则表达式指定待保存的变量需满足的条件。 save(.,format),指定保存文件的格

27、式,格式可以为MAT文件、ASCII文件等。13.1.2 数据导入MATLAB中导入数据通常由函数load实现,该函数的用法如下: load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存在,则返回error。loadfilename:将filename中的全部变量导入到工作区中。loadfilenameXYZ.:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符“*”。 loadfilename-regexpexpr1expr2.:通过正则表达式指定需要导入的变量。 load-asciifilename:无论输

28、入文件名是否包含有扩展名,将其以ASCII格式导入;如果指定的文件不是数字文本,则返回error。 load-matfilename:无论输入文件名是否包含有扩展名,将其以mat格式导入;如果指定的文件不是MAT文件,则返回error。例13-1将文件matlab.map中的变量导入到工作区中。首先应用命令whos-file查看该文件中的内容:whos-filematlab.matNameSizeBytesClassA2x348doublearrayI_q415x552x3687240uint8arrayans1x324doublearraynum_of_cluster1x18doublear

29、rayGrandtotalis687250elementsusing687320bytes将该文件中的变量导入到工作区中:loadmatlab.mat该命令执行后,可以在工作区浏览器中看见这些变量,如图13-1所示。图13-1导入变量后的工作区视图接下来用户可以访问这些变量。num_of_clusternum_of_cluster=3MATLAB中,另一个导入数据的常用函数为importdata,该函数的用法如下: importdata(filename),将filename中的数据导入到工作区中; A=importdata(filename),将filename中的数据导入到工作区中,并保存

30、为变量A; importdata(filename,delimiter),将filename中的数据导入到工作区中,以delimiter指定的符号作为分隔符;例13-2从文件中导入数据。imported_data=importdata(matlab.mat)imported_data=ans:1.18131.09281.6534A:2x3doubleI_q:415x552x3uint8num_of_cluster:3与load函数不同,importdata将文件中的数据以结构体的方式导入到工作区中。13.1.3 文件的打开MATLAB中可以使用open命令打开各种格式的文件,MATLAB自动根

31、据文件的扩展名选择相应的编辑器。需要注意的是open(filename.mat)和load(filename.mat)的不同,前者将filename.mat以结构体的方式打开在工作区中,后者将文件中的变量导入到工作区中,如果需要访问其中的内容,需要以不同的格式进行。例13-3open与load的比较。clearA=magic(3);B=rand(3);saveSavingto:matlab.matclearload(matlab.mat)AA=8163 574 92BB=0.95010.48600.45650.23110.89130.01850.60680.76210.8214clearope

32、n(matlab.mat)ans=A:3x3doubleB:3x3doublestruc1=ans;struc1.Aans=8163 574 92struc1.Bans=0.95010.48600.45650.23110.89130.01850.60680.76210.821413.2文本文件的读写在上一节中介绍的函数和命令主要用于读写mat文件,而在应用中,需要读写更多格式的文件,如文本文件、word文件、xml文件、xls文件、图像文件和音视频文件等。本节介绍文本文件(txt)的读写。其他文件的读写,用户可以参考MATLAB帮助文档。MATLAB中实现文本文件读写的函数如表13-1所示。表

33、13-1MATLAB中文本文件读写函数函数功能csvread读入以逗号分隔的数据csvwrite将数据写入文件,数据间以逗号分隔dlmread将以ASCII码分隔的数值数据读入到矩阵中dlmwrite将矩阵数据写入到文件中,以ASCII分隔textread从文本文件中读入数据,将结果分别保存textscan从文本文件中读入数据,将结果保存为单元数组下面详细介绍这些函数。1.csvread、csvwritecsvread函数的调用格式如下: M=csvread(filename),将文件filename中的数据读入,并且保存为M,filename中只能包含数字,并且数字之间以逗号分隔。M是一个数

34、组,行数与filename的行数相同,列数为filename列的最大值,对于元素不足的行,以0补充。 M=csvread(filename,row,col),读取文件filename中的数据,起始行为row,起始列为col,需要注意的是,此时的行列从0开始。 M=csvread(filename,row,col,range),读取文件filename中的数据,起始行为row,起始列为col,读取的数据由数组range指定,range的格式为:R1C1R2C2,其中R1、C1为读取区域左上角的行和列,R2、C2为读取区域右下角的行和列。csvwrite函数的调用格式如下: csvwrite(fi

35、lename,M),将数组M中的数据保存为文件filename,数据间以逗号分隔。 csvwrite(filename,M,row,col),将数组M中的指定数据保存在文件中,数据由参数row和col指定,保存row和col右下角的数据。 csvwrite写入数据时每一行以换行符结束。另外,该函数不返回任何值。这两个函数的应用见下面的例子。例13-4函数csvread和csvwrite的应用。本例首先将MATLAB的图标转化为灰度图,将数据存储在文本文件中,再将其部分读出,显示为图形。编写M文件,命名为immatlab.m,内容为:%theexampleoffunctionscsvreadan

36、dcsvwriteI_MATLAB=imread(D:matlab.bmp);%readintheimageI_MATLAB=rgb2gray(I_matlab);%converttheimagetograyimagefigure,imshow(I_matlab,InitialMagnification,100);%showtheimagecsvwrite(D:matlab.txt,I_matlab);%writethedataintoatextfilesub_MATLAB=csvread(D:matlab.txt,100,100);%readinpartofthedatasub_MATLAB

37、=uint8(sub_matlab);%convertthedatatouint8figure,imshow(sub_matlab,InitialMagnification,100);%showthenewimage在命令窗口中运行该脚本,输出图形如图13-2所示。(a)(b)图13-2例13-3的运行结果该例中涉及到了少量的图像处理内容,超出本书的范围,感兴趣的读者可以查阅MATLAB帮助文档中关于ImageProcessingToolbox的介绍。2. dlmread、dlmwrite(个人觉得这个比较好用)dlmread函数用于从文档中读入数据,其功能强于csvread。dlmread的

38、调用格式如下: M=dlmread(filename) M=dlmread(filename,delimiter) M=dlmread(filename,delimiter,R,C) M=dlmread(filename,delimiter,range)其中参数delimiter用于指定文件中的分隔符,其他参数的意义与csvread函数中参数的意义相同,这里不再赘述。dlmread函数与csvread函数的差别在于,dlmread函数在读入数据时可以指定分隔符,不指定时默认分隔符为逗号。dlmwrite函数用于向文档中写入数据,其功能强于csvwrite函数。dlmwrite函数的调用格式为:

39、 dlmwrite(filename,M),将矩阵M的数据写入文件filename中,以逗号分隔。 dlmwrite(filename,M,D),将矩阵M的数据写入文件filename中,采用指定的分隔符分隔数据,如果需要tab键,可以用“t”指定。 dlmwrite(filename,M,D,R,C),指定写入数据的起始位置。 dlmwrite(filename,M,attribute1,value1,attribute2,value2,.),指定任意数目的参数,可以指定的参数见下表。 dlmwrite(filename,M,-append),如果filename指定的文件存在,在文件后面写

40、入数据,不指定时则覆盖原文件。 dlmwrite(filename,M,-append,attribute-valuelist),叙写文件,并指定参数。 dlmwrite函数的可用参数如表13-2所示。表13-2dlmwrite函数的可用参数参数名功能delimiter用于指定分隔符newline用于指定换行符,可以选择“PC”或者“unix”roffset行偏差,指定文件第一行的位置,roffset的基数为0Coffset列偏差,指定文件第一列的位置,coffset的基数为0PreCision指定精确度,可以指定精确维数,或者采用c语言的格式,如“10.5f”3. textread,text

41、scan当文件的格式已知时,可以利用textread函数和textscan函数读入。这里只介绍这两个函数应用的实例。例13-5通过%读入文件,按照原有格式读取。文件的内容为:SallyLevel112.3445Yes在命令窗口中输入:names,tyPes,x,y,answer=textread(D:mat.txt,%s%s%f%d%s,1)得到结果为:names=SallytyPes=Level1x=12.3400y=45answer=Yes例13-6函数csvread和csvwrite的应用SallyLevel112.34451.23e10infNaNYesJoeLevel223.5460

42、9e19-inf0.001NoBillLevel334.90122e510100Nofid=fopen(D:mat.txt);C=textscan(fid,%s%s%f32%d8%u%f%f%s);fclose(fid);13.3低级文件I/O本节介绍一些基本的文件操作,这些操作如表13-3所示。表13-3MATLAB的基本文件操作函数功能fclose关闭打开的文件feof判断是否为文件结尾ferror文件输入输出中的错误查找fgetl读入一行,忽略换行符fgets读入一行,直到换行符fopen打开文件,或者获取打开文件的信息fprintf格式化输入数据到文件fread从文件中读取二进制数据f

43、rewind将文件的位置指针移至文件开头位置fscanf格式化读入fseek设置文件位置指针ftell文件位置指针fwrite向文件中写入数据下面重点介绍函数fprintf。该函数的调用格式如下:count=fprintf(fid,format,A,.),该语句将矩阵A及后面其他参数中数字的实部以format指定的格式写入到fid指定的文件中,返回写入数据的字节数。上面语句中,参数format由开头,共可由4个部分组成,分别如下:标记(flag),为可选部分。 宽度和精度指示,为可选部分。 类型标志符,为可选部分。 转换字符,为必需部分。1. 标记标记用于控制输出的对齐方式,可以选择的内容如表

44、13-4所示。表13-4标记的可选内容函数功能示例负号(-)在参数左侧进行判别%-5.2d加号(+)在数字前添加符号%+5.2d空格在数字前插入空格%5.2d0在数字前插入0%05.2d2. 宽度和精度指示用户可以通过数字指定输出数字的宽度及精度,格式如下:%6f,指定数字的宽度;%6.2f,指定数字的宽度及精度;%.2f,指定数字的精度。例13-6fprintf函数宽度和精度指示符示例。在命令窗口中输入如下命令:file_type=fopen(D:type.txt,w);fprintf(file_h,%6.2f%12.8fn,1.2,-43.3);fprintf(file_h,%6f%12fn,1.2,-43.3);fprintf(file_h,%.2f%.8fn,1.2,-43.3);fclose(file_h)ans=0打开该文件,其内容为:1.20-43.300000001.200000-43.3000001.20-43.30000000从上述结果可以看出宽度和精度控制的效果。3.转换字符转换字符用于指定输出的符号,可以选择的内容如表13-5所示表13-5格式化输出的标志符及意义标志符意义%c输出单个字符%d输出有符号十进制数%e

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!