收藏 分销(赏)

MATLAB-SWPU数据显示及存取.ppt

上传人:人****来 文档编号:10243598 上传时间:2025-04-29 格式:PPT 页数:58 大小:1.36MB
下载 相关 举报
MATLAB-SWPU数据显示及存取.ppt_第1页
第1页 / 共58页
MATLAB-SWPU数据显示及存取.ppt_第2页
第2页 / 共58页
MATLAB-SWPU数据显示及存取.ppt_第3页
第3页 / 共58页
MATLAB-SWPU数据显示及存取.ppt_第4页
第4页 / 共58页
MATLAB-SWPU数据显示及存取.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第五章 数据显示及存取,5.1 文件和数据的输入与输出,5.2基本绘图命令,1,本机数据文件的输入与输出,1)文件的存储,可以用save命令将工作区中的变量存储为本机格式,文件为二进制格式,存储在当前目录下,后缀名为.mat。,save,save var1 var2 var3,2,save filename var1 var2 var3,filename=myfile,save(filename,var1,var2),3,Exporting Delimited ASCII Data Files,save,

2、easy to use!,例:,To export the array A,A=1 2 3 4;5 6 7 8;,save my_data.out A-ASCII,If you view the created file in a text editor,it looks like this:,1.0000000e+000 2.0000000e+000 3.0000000e+000 4.0000000e+000,5.0000000e+000 6.0000000e+000 7.0000000e+000 8.0000000e+000,By default,save,uses,spaces,as

3、 delimiters,4,2)文件的打开,可以用load命令打开用save命令创建的数据文件或者打开适用于save命令的数据文件,load,load file var1 var2 var3,5,load(filename,var1,var2),如果不想覆盖工作区中已有变量,可以将变量载入到结构变量中,vnew=load(filename,var1,var2),取值是命令,vnew.var1;,vnew.var2;,6,Importing Numeric Text Data,如果数据文件中只包含数字,根据分隔符的不同,可以选择很多import function.,Load,-分隔符是space

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

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

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

7、n(magic.bina,w),Count=fwrite(File,magic(4),int32),Status=fclose(File),13,3)文本文件读写操作,1.,读文本文件,fscanf,函数可以读取文本文件的内容,并按指定格式存入矩阵。其调用格式为:,A,COUNT=fscanf(Fid,format,size),2.,写文本文件,fprintf,函数可以将数据按指定格式写入到文本文件中。其调用格式为:,COUNT=fprintf(Fid,format,A),例 从键盘输入5名学生的成绩,先建立一个数据文件,然后读出数据文件的内容,并在屏幕上输出学生信息,。,14,for i=1

8、5,A(i)=input(data is=);,end,Fid,message=fopen(mydata.txt,w);,fprintf(Fid,%d%d%d%d%d,A);,fclose(Fid);,fid,message=fopen(mydata.txt,r);,if fid=-1,disp(message),end;,data=fscanf(fid,%d%d%d%d%d,1,inf)%1表示输出数据1行,改成5表示输出数据5行,fclose(fid);,15,4)数据文件定位,fseek,函数用于定位文件位置指针,其调用格式为:,status=fseek(Fid,offset,orig

9、in),origin为给定的初始位置,为cof,bof,eof之一。,cof:表示文件中的当前位置,bof:表示文件的开始位置,eof:表示文件的结束位置,ftell,函数返回文件指针的当前位置,其调用格式为:,position=ftell(Fid),16,例 分析下列程序执行后,four、position和three三个变量的值。,a=1:5;,Fid=fopen(fdat.bin,w);%以写方式打开文件fdat.bin,fwrite(Fid,a,int16);%将a的元素以双字节整型写入文件%fdat.bin,status=fclose(Fid);,Fid=fopen(fdat.bin,

10、r);%以读数据方式打开文件fdat.bin,status=fseek(Fid,6,bof);%将文件指针从开始位置向尾部%移动6个字节,four=fread(Fid,1,int16);%读取第4个数据,并移动指针到%下一个数据,position=ftell(Fid);%ftell的返回值为8,status=fseek(Fid,-4,cof);%将文件指针从当前位置往前移%动4个字节,three=fread(Fid,1,int16);%读取第3个数据,status=fclose(Fid);,17,5.2.1 二维图形,5.2.2 三维图形,5.2.3 三维图形的精细处理,5.2基本绘图命令,1

11、8,5.2.1 二维图形,5.2.1.1 绘制二维曲线的最基本函数,1.plot,函数的基本用法,plot,函数的基本调用格式为:,plot(x,y),其中,x,和,y,为长度相同的向量,分别用于存储,x,坐标和,y,坐标数据。,19,例 在0X2,区间内,绘制曲线:,x=0:pi/100:2*pi;,y=2*exp(-0.5*x).*sin(2*pi*x);,plot(x,y);,20,说明:,(1),当,x,y,是同维矩阵时,则以,x,y,对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。,(2)当,x,是向量,,y,是有一维与x同维的矩阵时,则绘制出多根不同色彩的曲线。曲线条数

12、等于,y,矩阵的另一维数,,x,被作为这些曲线共同的横坐标。,(3),plot,函数最简单的调用格式是只包含一个输入参数:,plot(x),。,21,例 某工厂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),22,2含多个输入参数的plot函数,含多个输入参数的plot函数调用格式为:,plot(x1,y1,x2,y2,xn,yn),3含选项的plot函数,含选项的plot函数调用格式为

13、plot(x1,y1,选项1,x2,y2,选项2,xn,yn,选项n),plot(x,y,color_linestyle_marker),例:,plot(x,y,y:square),23,color_linestyle_marker,Color strings are,c,m,y,r,g,b,w,and,k,.These correspond to cyan,magenta,yellow,red,green,blue,white,and black.,Line style strings are,-,for solid,-,for dashed,:,for dotted,and,-.,fo

14、r dash-dot.Omit the line style for no line,The marker types are,+,o,*,and,x,and the filled marker types are,s,for square,d,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 3,Y=,4 4 4,5 5 5,6 6 6,7 7 7,51,例 已知6x30,15y36,求不定方程2x+5y=126的整数解。,

15、x=7:29;y=16:35;,x,y=meshgrid(x,y);,%在7,2916,35区域生成网格%坐标,z=2*x+5*y;,k=find(z=126);,%找出解的位置,x(k),y(k),%输出对应位置的x,y即方程的解,52,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),

16、ylabel(y-axis),zlabel(z-axis);title(mesh);,程序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;,53,5

17、4,例 分析由函数z=x,2,-2y,2,构成的曲面形状及与平面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个曲面,subplot(1,2,1);,mesh(x,y,z1);hold on;mesh(x,y,z2);%分别画出两个曲面,v=-10,10,-10,10,-100,100;axis(v);grid;%第1子图的坐标设置,hold off;,r0=abs(z1-z2)X,Y,Z=peaks(30);,subplot(1,2,1);surfc(X,Y,Z),subplot(1,2,2);surf(X,Y,Z),57,surfl(X,Y,Z),带照明的曲面图,X,Y,Z=peaks(30);surfl(X,Y,Z),58,

展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服