matlab程序设计文件和数据的导入导出
matlab文件和数据的导入与导出

gjy_just@
x = 0:.1:1; y = [x; exp(x)]; Fid = fopen('exp.txt','w+'); fprintf(Fid,'%6.2f %12.8f\n',y); fclose(Fid); Fid=fopen('exp.txt', 'r+'); %B=fread(Fid, [2,11],'long'); B=fscanf(Fid,'%f',[2,11]); fclose(Fid);
gjy_just@
8
precision 用于控制所读数据的精度格式。 缺省格式为uchar,即无符号字符格式。 例如:Fid=fopen('std.dat', 'r'); A=fread(Fid, [10,10], 'long'); fclose(Fid); A以读数据方式打开数据文件std.dat,并按长 整型数据格式读取文件的前100个数据放入 向量A,然后关闭文件。
gjy_just@
5
2、 fclose关闭文件 文件在进行完读、写等操作后,应及时 关闭,以保证文件的安全可靠。关闭文件 命令格式为: Sta=fclose(Fid) 关闭Fid所表示的文件 Sta表示关闭文件操作的返回代码,若关 闭成功,返回0,否则返回–1。
gjy_just@
江苏科技大学数理学院文件和数据的导入与导出gjyjustyahoocomcn11文件的打开与关闭matlab提供了对数据文件建立打开读写以及关闭等一系列函数数据文件一般存放在磁盘等介质上用文件名标识系统对文件名没有特殊要求
文件和数据的导入与导出
MATLAB文件和数据的导入与导出

练习:1画出曲面图:)(22y x e x z --⨯=,其中x 在[-2,2]等切分21个点,y 在[-1,1]等切分21个点。
2、三维曲线:,126622-++++=y x y xy x z ,1010,1010<<-<<-y x文件和数据的导入与导出1、 文件的打开、保存和关闭(1) 打开文件不同类型文件后缀名不同,如filename.m, filename.mat(数据文件), filename.pdf(pdf 文件), filename.fig(图形文件)。
使用格式:open('filename'): %打开文件filename 。
打开当前路径上的文件,可以直接用open 函数打开,例如: open 学位论文评议书.pdf 或open('学位论文评议书.pdf') 如果文件不在当前路径上,打开它需要指定路径名,例如: open('D:\temp\data.mat')(2)关闭文件status=fclose(fid) :%关闭打开的文件fid ,成功则返回0,否则返回-1。
status=fclose('all')关闭所有的已经打开的文件,成功则返回0,否则返回-1。
2、本机数据文件(1)文件的存储在命令窗口输入>>save这个命令将工作区中的变量存储在matlab.mat中,也可以使用命令:>>save var1 var2…%将var1,var2…保存为名为matlab.mat中。
>>save filename var1 var2…%将var1,var2…保存为名为filename.mat中。
(2)文件的打开使用命令:>>load %可以调用第一个matlab.mat中的所有变量。
>>load filename %filename.mat被打开,其中的变量被载入工作区>>load filename var1 var2 % %filename.mat被打开,其中的变量var1 var2被载入工作区可以使用file 中的Import Data 可以查看.mat文件。
MATLAB的数据导入与导出

MATLAB的数据导⼊与导出1 数据导⼊:%% ⾼层次读取数据。
importdata 函数是⼀个⾼层次的函数filename = 'weeklydata.txt';delimiterIn =''; %delimiter: n. 定界符。
将 delimiterIn 解释为 ASCII ⽂件、⽂件名或剪贴板数据中的列分隔符。
headerlinesIn = 1; % 从 lineheaderlinesIn+1开始读取数字数据。
A=importdata(filename,delimiterIn,headerlinesIn);% 开始预览数据for k =[1:7]disp(A.colheaders{1,k}) %展⽰每⼀列的题头disp(A.data(:,k)) %每⼀列的所有⾏disp('')end结果:Matlab低级别的⽂件 I/O:%% Matlab低级别的⽂件 I/Ofilename = 'myfile.txt';% myfile.txt保存在⼯作⽬录中。
此⽂件存放三个⽉的降⾬资料: 2012年6⽉,7⽉和8⽉降⾬量。
% myfile.txt中的数据在五个地⽅包含重复的时间,⽉份和降⾬量测量。
标题数据存储⽉数M; 所以有M个集合测量值。
rows = 7cols = 5%使⽤ fopen 函数打开⽂件并获得⽂件标识符。
fid = fopen(filename);%读取⽂件头,找到 M (⽉份数)% 使⽤格式说明符描述⽂件中的数据,例如字符串的%s,整数%d或浮点数%f。
% 要跳过⽂件中的⽂字,需将其包含在格式说明中。
要跳过数据字段,在说明符中使⽤星号(*)M=fscanf(fid,'%*s %*s\n %*s %*s %*s %*s\n M=%d',1); %要读取头⽂件,并返回单个的M值%读取 each set of measurementsfor n= 1:M% 默认情况下,fscanf会根据格式描述读取数据,直到找不到数据的匹配,或到达⽂件的末尾。
实验八MATLAB文件操作与数据导入导出

实验八 Matlab 文件操作与数据接口一、实验目的1、熟练掌握工作区变量的文件操作;2、熟练掌握文本文件的读写操作;3、熟练掌握格式化文本文件的输入输出语句的执行4、了解二进制文件、Mat文件的读写操作二、实验仪器与软件1. PC计算机2. Matlab软件三、实验原理1. 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。
这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。
如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII 码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。
譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bi t),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。
例如,数5678的存储形式为:ASCII码:00110101 00110110 00110111 00111000↓↓↓↓十进制码:5678共占用4个字节。
ASCII码文件可在屏幕上按字符显示,例如源程序文件就是A SCII文件,用DOS命令TYPE可显示文件的内容。
由于是按字符显示,因此能读懂文件内容。
二进制文件是按二进制的编码方式来存放文件的。
数据导入导出方法

Matlab数据导入导出方法
• IMPORTDATA looks at the file extension to determine which helper • • • • • • • • • • • • • • • • • • •
function to use. If the extension is mentioned in FILEFORMATS, IMPORTDATA will call the appropriate helper function with the maximum number of output arguments. If the extension is not mentioned in FILEFORMATS, IMPORTDATA calls FINFO to determine which helper function to use. If no helper function is defined for this extension, IMPORTDATA treats the file as delimited text. Examples: s1= importdata('zhongguo1.wav') s1 = data: [57216x1 double] fs: 22050 s = importdata('flowers.tif'); size(s) ans =
362 500
3
Matlab数据导入导出方法
MATLAB中可以使用open命令打开各种格式 的文件,MATLAB自动根据文件的扩展名选 择相应的编辑器。 需要注意的是open('filename.mat')和 load('filename.mat')的不同,前者将 filename.mat以结构体的方式打开在工作区中, 后者将文件中的变量导入到工作区中,如果 需要访问其中的内容,需要以不同的格式进 行。
Matlab文件和数据的导入与导出

MATLAB中导入数据通常由函数load实现,该函数的用法如下:
2014年8月31日7时46分
回到章节目录
5
MATLAB中,另一个导入数据的常用函数为importdata,该 函数的用法如下: ● importdata(‘filename’),将filename中的数据导入到工作区中 ● A = importdata(‘filename’),将filename中的数据导入到工作区 中,并保存为变量A; ● importdata(‘filename’,‘delimiter’),将filename中的数据导入到 工作区中,以delimiter指定的符号作为分隔符; 例 从文件中导入数据。 >> imported_data = importdata('matlab.mat') imported_data = ans: [1.1813 1.0928 1.6534] A: [2x3 double] I_q: [415x552x3 uint8] num_of_cluster: 3 与load函数不同,importdata将文件中的数据以结构体的方 式导入到工作区中。 回到章节目录
2014年8月31日7时46分 回到章节目录 3
例如: a = [1 2 3; 4 5 6; 7 8 9]; b=[2 3 4]'; save 'c:\tst.txt ' a -ascii
则将a保存在c盘中的tst.txt文件中,文件内容:
1.0000000e+000 2.0000000e+000 3.0000000e+000 4.0000000e+000 5.0000000e+000 6.0000000e+000 7.0000000e+000 8.0000000e+000 9.0000000e+000
MATLAB里面的数据导入与导出

MATLAB⾥⾯的数据导⼊与导出
-、导⼊数据
上⾯这张图,我们可以看到导⼊数据这⼀项,点击导⼊数据
上⾯是我从我电脑⾥⾯随便选的的⼀个excel⽂件,然后点击选择就成。
后⾯我们就进⼊了新的页⾯
这⾥我们需要注意的是选择输出类型,由于我们后⾯需要对矩阵内的数据进⾏运算,所以我们选择了数值矩阵,然后点击导⼊所选内容
在这⾥我们在⼯作区会发现⼀个example2,就是我们导⼊的数据。
后⾯我们就可以进⾏数据操作了。
⼆、写⼊数据
这是将数据写⼊txt⽂件内的代码。
这是将数据写⼊excel⽂件中的代码,注意,这个a.xls⽂件是可以先不新建的,它会⾃⼰新建,除此以外,我们必须明⽩的是,我们写代码的时候example和example2⽂件的数据类型不⼀样,如果不加注意的话,我们后⾯可能导⼊不进去数据,如我们将example的⽂件写⼊a.xlsx⽂件中就会出问题。
然后我们注意⼀下xlswrite和writetable两个的区别就好了,⼀个是写⼊excel⽂件,⼀个是写⼊⽂本中。
相关的语法直接help就成。
这个是导⼊数据之后的excel⽂件,在左边的当前⽂件夹可见。
MATLAB基础教程(第四版) 第12 章 文件和数据的导入与导出 -

数据基本操作 文本文件的读写 低级文件I/O 利用界面工具导入数据
2019年9月27日
第4页
MATLAB R2018b 基础教程
数据基本操作(1/3)
文件的存储 1. 保存整个工作区 2. 保存工作区中的变量 3. 利用save命令保存
2019年9月27日
第5页
MATLAB R2018b 基础教程
将数据写入文件,数据间以逗号分隔
dlmread
将以 ASCII 码分隔的数值数据读入到矩阵中
dlmwrite
将矩阵数据写入到文件中,以 ASCII 分隔
textread
从文本文件中读入数据,将结果分别保存
2019年9月27日
textscan
从文本文件中读入数据,将结果保存为单元数组
第8页
MATLAB R2018b 基础教程
在该窗口中选择分隔符,设置导入数据的范围、起始行和导入方式、导入的变 量等。设置完成后,单击右上角的对号 ,完成数据的导入。另外,还可进行 导入预览的视图设置。
2019年9月27日
第10页
数据基本操作(2/3)
数据导入
MATLAB中导入数据通常由函数load实现。 例12-1 将文件matlab.mat中的变量导入到工作区中。 例12-2 从文件中导入数据。
2019年9月27日
第6页
MATLAB R2018b 基础教程
数据基本操作(3/3)
文件的打开
MATLAB中可以使用open命令打开各种格式的文件,MATLAB自动 根据文件的扩展名选择相应的编辑器。
例12-3 open与load的比较。
2019年9月27日
第7页
MATLAB R2018b 基础教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章
图形处理
与数值计算和符号计算相比,图形的可视化技术是数 学计算人员所追求的更高级的一种技术,图形处理技术 则给人们提供了一种更直接的表达方式,可以使人们更 直接、更清楚的了解实物的结果和本质。本章主要介绍 MATLAB的图形处理功能,包括基本的绘图指令、图形的 简单控制和图形窗口的编辑等。
图形处理
5 使用坐标轴标签,图例和文本对图形进 行注释
6 输出打印
图形处理
(二) 绘制二维曲线图 如果将X轴和Y轴的数据分别保存在两个向量中,同 时向量的长度完全相等,那么可以直接调用函数进行二 维图形的绘制。 plot(y) y是实向量,以该向量原始的下标为横坐标,元素值为 纵坐标画出一条连续曲线 y是实矩阵,按列绘制每列元素值相对其下标的曲线,图 中曲线数等于y阵列数。
图形处理
函数
annotation
功能描述
创建线、箭头、文本箭头、双箭头、文本框、 矩形和椭圆
Xlabel,ylabel,zlabel
title
给相应的坐标轴增添标签
给图形增添标题
colorbar
legend
给图形增添颜色条
给图形增添图例
图形处理
1.图题标注 title(‘text’):命令将内容增加到当前图形的顶边部分; 2.坐标轴的标签:用于解释各坐标轴的单位信息。 xlabel(‘text’):命令将text增加到当前x轴的旁边; ylabel(‘text’):命令将text增加到当前y轴的旁边; zlabel(‘text’):命令将text增加到当前z轴的旁边; 3.文本标注 text(x,y,‘string’):在坐标(x,y)的位置上添加文本标注 string.
图形处理
(六) 对数比例坐标轴和双Y轴 当进行数理统计能操作时,习惯使用对数坐标系来绘 制图形。 loglog:对X轴和Y轴均采用对数坐标。 semilogx:对X轴采用对数坐标。 semilogy:对Y轴采用对数坐标。 在进行数值比较时,会遇到必须使用双纵坐标的情况, 函数plotyy绘制的图形左右两端都有显示Y坐标轴。
Figure(1) Subplot(2,3,1)
图形处理
3 调用基本的绘图函数 (1)调用绘图函数 (2)指定线型、色彩和数据点型 4 设置坐标轴的极限值、标记符号和网格 线 plot(t,y,’b-’)
axis([0,pi,-1,1]) grid on title(‘调制图形’) xlabel(‘t’);ylabel(‘y’) legend(‘sin(t)’,’sin(9*t)’) text(2,0.5,’y=sin(t)*sin(9*t)’) print
第一节 基本的绘图指令和图像的简单控制 一 基本的绘图指令 函数名 功能描述 plot Plot3 Loglog Semilogx semilogy
在x轴和y轴都按线性比例绘制二维图形 在x轴和y轴和z轴都按线性比例绘制三维图形 在x轴和y轴都按对数比例绘制二维图形 在x轴按对数比例,y轴按线性比例绘制二维图形 在y轴按对数比例,x轴按线性比一节 文件和数据的导入与导出 一 文件的存储 Save 这条命令将MATLAB工作区间的所有变量保存指定的 filename中 Save filename var1 var2 var3 (Save(‘filename’,’var1’,’var2’,’var3’)) 保存指定的变量在指定的文件filename中。
plotyy
绘制双y轴图形
图形处理
(一)绘图步骤
步骤
1 准备绘图数据 (1)选定所要表现的范围 (2)产生自变量采样向量 (3)计算相应的函数值向量 2 选择一个窗口并在窗口中给图形定位 (1)缺省时,打开figure 1,或当前窗,当 前子图 (2)可用指令指定图形窗号和子图号
典型指令
t=pi*(0:100)/100; Y=sin(t)*sin(9*t);
图形处理
(五) 图形的多次叠放 适用于需要绘制分段函数的图形,或在一张图纸上需 要绘制多条曲线。 Hold on : 命令保持当前图形,并且将此后绘制的所有图 形添加到当前的图形窗口,系统自动调整坐 标极限值。 Hold off: 返回plot命令所默认的形式,并且在绘图之前 重新设置坐标系的属性。 Hold: 上述两个指令之间的切换。
图形处理
plotyy(x1,y1,x2,y2):命令将x1和y1所对应的图形的纵坐 标标注在图形的左边,将x2和y2所对应的图形的纵坐标 标注在图形的右边。 plotyy(x1,y1,x2,y2,fun):命令可以选择绘制图形所使用的 形式,fun可以是@plot,@semilogx,@semilogy,@loglog 等。注意@符号不能省略。 plotyy(x1,y1,x2,y2,fun1,fun2):命令使用fun1(x1,y1)来给 左边的坐标轴绘制图形,使用fun2(x2,y2)来给右边的坐 标轴绘制图形。
图形处理
(七)多子图 将多个图形在同一窗口中显示出来,不是简单的叠 加。 subplot(m,n,s):图形窗口将有(m*n)副子图,s是子图 的编号。序号编排原则是:左上方是第一副,向右向 下依次排号。
图形处理
二 图形注释 (1):图形注释工具栏的图标;view-plot edit toolbar (2):图形调色板的注释工具;view-figure palette (3):从insert菜单增添注释; insert (4):使用命令增添注释;
图形处理
Plot(x,y,s)命令可以用来绘制不同线型、标识和颜色的图 形。其中s的具体意义如下。 Plot(x1,y1,s1,x2,y2,s2,x3,y3,s3…)将多个图形放在一个 图形框里面
图形处理
(三)曲线的色彩、线型和数据点型
颜色符号 b g r 含义 蓝色 数据点型 . x + 含义 点 X符号 线型 - 含义 实线
绿色
: -.
点线
红色
+号
点划线
c
蓝绿色
h
六角星型
--
虚线
图形处理
m 紫红色 * 星号
y
k
黄色
黑色
s
d v ^ < > p o
方形
菱形 下三角 上三角 左三角 右三角 正五边形 圆圈
图形处理
(四)定义线的颜色和宽度 可通过指定曲线各个特性的值来控制曲线的样式。主要 特征有: LineWidth:以点为单位的宽度。 MarkerEdgeColor:数据点型或是其边界的颜色(圆,菱 形,六角星形和星号)。 MarkerFaceColor:数据点型的填充色
图形处理
y是复数矩阵,按列分别以元素实部和虚部为横、纵 坐标绘制多条曲线。 Plot(x,y) x,y是同维向量,绘制以x,y元素为横纵坐标的曲线。 x,y是同维矩阵,则以x,y对应列元素为横纵坐标分别绘 制曲线。 x是向量,y是有一维与x等维的矩阵时,则绘出多根不 同色彩的曲线,曲线数等于y阵的另一维数,x作为这 些曲线的共同横坐标。
图形处理
Legend(…,pos)命令将legend函数所生成的图例标注放置 在指定的位置,其中pos的取值和意义如下: 0=系统自动定位,使得图形与标注重复最少。 1=置于图形的右上角(系统默认值) 2=置于图形的左上角 3=置于图形的左下角 4=置于图形的右下角 -1=置于图形的右外侧 如果还想移动图例标注,只需在图例标注上按下鼠标左 键并拖动可以将其移动到需要的位置。
文件和数据的导入与导出
Load filename.txt 用于打开ASCII文本文件,将数据载入到名字为filename 的双精度数据组中。 Exist(‘matlab.mat’,’file’) 存在数据文件返回2,不存在返回0 Whos(‘file’,’matlab.mat’) Delete filename.mat 删除数据文件
图形处理
gtext(‘string’):命令将在图形窗口中显示一个“十字”交 叉 线,用户可以通过移动鼠标或者键盘来选择文本标注的 位置,选定后,单击鼠标,系统将把指定的文本显示到 所选择的位置上。 4.箭头和直线 5.图例的添加 Legend(string1,string2,string3):命令在当前图形中输入 标注语句string1等,标注的顺序对应绘图过程中按绘制 先后顺序所生成的曲线,标注文本的大小和形式与相应 坐标系的形式对应。
文件和数据的导入与导出
二 文件的打开 Load 载入当前目录下,或者搜索路径下的第一个matlab.mat 中的所有变量。 Load filename var1 var2 var3 (load(‘filename’,’var1’,’var2’,’var3’)) 用于载入特定的变量,那么需要输入文件名和变量名。 Venw=load(‘filename’,’var1’,’var2’) 将变量var1和var2载入到一个名为vnew的结构体变量 中,这个结构变量有两个域,一个是var1,一个是var2
图形处理
6.坐标网格的添加 为了精确知道图形上某点的坐标,需要绘制坐标网格 来定位,很大程度提高了图形的显示效果。 Grid on :命令打开坐标网格; Grid off:命令关闭坐标网格; Grid minor:命令使用更细化的网格
图形处理
7.使用矩形或者椭圆在图形中圈出重要部分 主要从图形编辑工具栏或者从insert菜单中选出。