MATLAB_SWPU第五章 数据显示及存取_第1页
MATLAB_SWPU第五章 数据显示及存取_第2页
MATLAB_SWPU第五章 数据显示及存取_第3页
MATLAB_SWPU第五章 数据显示及存取_第4页
MATLAB_SWPU第五章 数据显示及存取_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1、第五章 数据显示及存取n5.1 文件和数据的输入与输出n5.2基本绘图命令本机数据文件的输入与输出1)文件的存储 可以用save命令将工作区中的变量存储为本机格式,文件为二进制格式,存储在当前目录下,后缀名为.mat。savesave var1 var2 var3 save filename var1 var2 var3 filename=myfilesave(filename,var1,var2)Exporting Delimited ASCII Data Filessave -easy to use!例:例:To export the array A, A = 1 2 3 4 ; 5 6

2、7 8 ; save my_data.out A -ASCIIIf you view the created file in a text editor, it looks like this:1.0000000e+000 2.0000000e+000 3.0000000e+000 4.0000000e+0005.0000000e+000 6.0000000e+000 7.0000000e+000 8.0000000e+000 By default, save uses spaces as delimiters2)文件的打开 可以用load命令打开用save命令创建的数据文件或者打开适用于sa

3、ve命令的数据文件loadload file var1 var2 var3 load(filename,var1,var2)如果不想覆盖工作区中已有变量,可以将变量载入到结构变量中vnew= load(filename,var1,var2)取值是命令vnew.var1;vnew.var2;Importing Numeric Text Data 如果数据文件中只包含数字,根据分隔符的不同,可以选择很如果数据文件中只包含数字,根据分隔符的不同,可以选择很多多import function. Load -分隔符是分隔符是space ,最简单的命令!最简单的命令!例:有一个文件例:有一个文件 my_d

4、ata.txt ,只含数字,分隔符是只含数字,分隔符是space 1 2 3 4 5 6 7 8 9 10 load my_data.txt 在在workspace中产生一个变量,跟文件名一样(去掉扩展名)。中产生一个变量,跟文件名一样(去掉扩展名)。如果想产生一个和文件名不一样的变量名,应用:如果想产生一个和文件名不一样的变量名,应用: A=load (my_data.txt) load my_data.txt whos Name Size Bytes Classmy_data 2x5 80 double arrayGrand total is 10 elements using 80 by

5、tes my_datamy_data = 1 2 3 4 5 6 7 8 9 10 A=load (my_data.txt)A = 1 2 3 4 5 6 7 8 9 103)判断文件 可以用exist判断文件是否存在,如果不存在,返回值为0,存在,返回值为2exist(file.txt) whos命令看出文件中包含的变量 delete命令删除文件文件操作1) 文件的打开与关闭 1. 打开文件打开文件 fopen函数的调用格式为: fid= fopen(文件名文件名,使用文件方式使用文件方式) 2. 关闭文件关闭文件 调用格式为: sta=fclose(fid)filename = input

6、(Open file:,s);fid,message = fopen (filename,r);if fid=-1 disp ( message);end 2) 二进制文件读写操作 1. 读二进制文件读二进制文件 fread 函数可以读取二进制文件的数据,并将数据存入矩阵。其调用格式为: A,count=fread(fid,size)例:Fid,message = fopen(matrix.dat,r);If Fid=-1 disp (message) end;A = fread(Fid,100) 2. 写二进制文件写二进制文件 fwrite 函数按照指定的数据精度将矩阵中的元素写入到文件中,

7、并返回存入数据的个数。其调用格式为: count=fwrite (Fid, A) 例:File = fopen(magic.bina,w)Count = fwrite(File,magic(4),int32)Status = fclose(File) 3) 文本文件读写操作 1. 读文本文件读文本文件 fscanf 函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为: A,COUNT= fscanf (Fid, format, size) 2. 写文本文件写文本文件 fprintf 函数可以将数据按指定格式写入到文本文件中。其调用格式为: COUNT= fprintf(Fid, f

8、ormat, A) 例 从键盘输入5名学生的成绩,先建立一个数据文件,然后读出数据文件的内容,并在屏幕上输出学生信息。nfor i=1:5nA(i)=input(data is =);nendnFid,message = fopen(mydata.txt,w);nfprintf(Fid, %d %d %d %d %d, A);nfclose(Fid);nfid,message = fopen(mydata.txt,r);nif fid=-1 n disp (message) nend;ndata=fscanf(fid,%d %d %d %d %d,1,inf)%1表示输出数据1行,改成5表示输

9、出数据5行nfclose(fid); 4) 数据文件定位 fseek函数用于定位文件位置指针,其调用格式为: status = fseek(Fid, offset, origin)origin为给定的初始位置,为cof,bof,eof之一。 cof:表示文件中的当前位置:表示文件中的当前位置 bof:表示文件的开始位置:表示文件的开始位置 eof:表示文件的结束位置:表示文件的结束位置 ftell函数返回文件指针的当前位置,其调用格式为: position = ftell (Fid) 例 分析下列程序执行后,four、position和three三个变量的值。a=1:5;Fid=fopen(f

10、dat.bin, w); %以写方式打开文件fdat.binfwrite(Fid, a, int16 ); %将a的元素以双字节整型写入文件%fdat.binstatus=fclose(Fid); Fid=fopen(fdat.bin, r); %以读数据方式打开文件fdat.binstatus=fseek(Fid, 6, bof); %将文件指针从开始位置向尾部%移动6个字节four=fread(Fid, 1, int16); %读取第4个数据,并移动指针到%下一个数据position=ftell(Fid); %ftell的返回值为8 status=fseek(Fid, -4, cof);

11、%将文件指针从当前位置往前移%动4个字节three=fread(Fid, 1, int16); %读取第3个数据status=fclose(Fid); 5.2.1 5.2.1 二维图形二维图形 5.2.2 5.2.2 三维图形三维图形 5.2.3 5.2.3 三维图形的精细处理三维图形的精细处理5.2基本绘图命令 5.2.1 5.2.1 二维图形二维图形5.2.1.1 5.2.1.1 绘制二维曲线的最基本函数绘制二维曲线的最基本函数1. plot函数的基本用法函数的基本用法plot函数的基本调用格式为:函数的基本调用格式为: plot(x,y) 其中其中x和和y为长度相同的向量,分别用于存储为

12、长度相同的向量,分别用于存储x坐坐标和标和y坐标数据。坐标数据。 例例 在在0X2 区间内,绘制曲线区间内,绘制曲线: x = 0 : pi/100 : 2*pi;y = 2*exp(-0.5*x).*sin(2*pi*x);plot (x,y);0.52sin(2)xyex 说明:说明:(1)当当x,y是同维矩阵时,则以是同维矩阵时,则以x,y对应列元素为对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。的列数。(2)当)当x是向量,是向量,y是有一维与是有一维与x同维的矩阵时,同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数等于则绘制出多

13、根不同色彩的曲线。曲线条数等于y矩阵的另一维数,矩阵的另一维数,x被作为这些曲线共同的横被作为这些曲线共同的横坐标。坐标。(3)plot函数最简单的调用格式是只包含一个函数最简单的调用格式是只包含一个输入参数:输入参数:plot(x)。 例例 某工厂某工厂2000年各月总产值(单位:万元)年各月总产值(单位:万元)分别为分别为22、60、88、95、56、23、9、10、14、81、56、23,试绘制折线图以,试绘制折线图以显示出该厂总产值的变化情况。显示出该厂总产值的变化情况。 程序如下:程序如下: p=22,60,88,95,56,23,9,10,14,81,56,23; plot(p)

14、2含多个输入参数的含多个输入参数的plot函数函数含多个输入参数的含多个输入参数的plot函数调用格式为:函数调用格式为: plot(x1, y1, x2, y2, , xn, yn)3含选项的含选项的plot函数函数含选项的含选项的plot函数调用格式为:函数调用格式为: plot(x1, y1, 选项选项1, x2, y2, 选项选项2, , xn, yn, 选项选项n) plot (x, y, color_linestyle_marker)例 : plot (x, y, y:square)color_linestyle_markernColor strings are c, m, y,

15、r, g, b, w, and k. These correspond to cyan, magenta, yellow, red, green, blue, white, and black.nLine style strings are - for solid, - for dashed, : for dotted, and -. for dash-dot. Omit the line style for no linenThe marker types are +, o, *, and x, and the filled marker types are s for square, d

16、for diamond, for up triangle, v for down triangle, for right triangle, X,Y = meshgrid(x,y)X = 1 2 3 1 2 3 1 2 3 1 2 3Y = 4 4 4 5 5 5 6 6 6 7 7 7 例例 已知已知6x30,15y36,求不定方程,求不定方程2x+5y=126的整数解。的整数解。x = 7:29; y = 16:35;x,y = meshgrid(x,y); %在在7,2916,35区域生成网格区域生成网格 %坐标坐标z = 2*x+5*y;k = find(z=126); %找出解的位置

17、找出解的位置 x(k),y(k) %输出对应位置的输出对应位置的x,y即方程的解即方程的解 2. 绘制三维曲面的函数(网线图和网面图)绘制三维曲面的函数(网线图和网面图) surf函数和mesh函数的调用格式为: mesh(x,y,z,c) surf(x,y,z,c)例例 用三维曲面图表现函数用三维曲面图表现函数z=sin(y)cos(x)。 程序程序1: x=0:0.1:2*pi; x,y=meshgrid(x); z=sin(y).*cos(x); mesh(x,y,z); xlabel(x-axis), ylabel(y-axis), zlabel(z-axis); title(mesh

18、); 程序程序2: x=0:0.1:2*pi; x,y=meshgrid(x); z=sin(y).*cos(x); surf(x,y,z); xlabel(x-axis), ylabel(y-axis), zlabel(z-axis); title(surf); 程序程序3: x=0:0.1:2*pi; x,y=meshgrid(x); z=sin(y).*cos(x); plot3(x,y,z); xlabel(x-axis), ylabel(y-axis), zlabel(z-axis); title(plot3-1);grid; 例例 分析由函数分析由函数z=x2-2y2构成的曲面形状及与平面构成的曲面形状及与平面z=a的交线。的交线。 x,y = meshgrid(-10:0.2:10); z1 = (x.2 - 2*y.2) + eps; %第第1个曲面个曲面 a = input(a=?); z2 = a*ones(size(x); %第第2个曲面个

温馨提示

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

最新文档

评论

0/150

提交评论