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

合集下载

matlab文件和数据的导入与导出

matlab文件和数据的导入与导出
13
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文件和数据的导入与导出

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的数据导入与导出

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文件操作与数据导入导出

实验八 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文件和数据的导入与导出

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里面的数据导入与导出

MATLAB⾥⾯的数据导⼊与导出
-、导⼊数据
上⾯这张图,我们可以看到导⼊数据这⼀项,点击导⼊数据
上⾯是我从我电脑⾥⾯随便选的的⼀个excel⽂件,然后点击选择就成。

后⾯我们就进⼊了新的页⾯
这⾥我们需要注意的是选择输出类型,由于我们后⾯需要对矩阵内的数据进⾏运算,所以我们选择了数值矩阵,然后点击导⼊所选内容
在这⾥我们在⼯作区会发现⼀个example2,就是我们导⼊的数据。

后⾯我们就可以进⾏数据操作了。

⼆、写⼊数据
这是将数据写⼊txt⽂件内的代码。

这是将数据写⼊excel⽂件中的代码,注意,这个a.xls⽂件是可以先不新建的,它会⾃⼰新建,除此以外,我们必须明⽩的是,我们写代码的时候example和example2⽂件的数据类型不⼀样,如果不加注意的话,我们后⾯可能导⼊不进去数据,如我们将example的⽂件写⼊a.xlsx⽂件中就会出问题。

然后我们注意⼀下xlswrite和writetable两个的区别就好了,⼀个是写⼊excel⽂件,⼀个是写⼊⽂本中。

相关的语法直接help就成。

这个是导⼊数据之后的excel⽂件,在左边的当前⽂件夹可见。

MATLAB基础教程(第四版) 第12 章 文件和数据的导入与导出 -

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 基础教程

Matlab中的文件操作与数据导入导出方法

Matlab中的文件操作与数据导入导出方法

Matlab中的文件操作与数据导入导出方法概述Matlab是一种功能强大的数值计算与数据分析工具,广泛应用于科研、工程和金融等领域。

在Matlab中,文件操作和数据导入导出是常见且重要的操作。

本文将介绍Matlab中的文件操作方法以及数据的导入导出方法,以帮助读者更好地处理和管理数据。

一、文件操作1. 文件的新建和打开:在Matlab中,可以使用`fopen`函数来新建或打开一个文件,并返回文件标识符,用于后续操作。

例如,`fid = fopen('data.txt','w')`可以新建一个用于写入的文件。

2. 文件的写入和读取:可以使用`fprintf`函数向文件中写入数据,使用`fscanf`函数从文件中读取数据。

例如,`fprintf(fid,'%s','Hello, world!')`可以将字符串"Hello, world!"写入到文件中,而`str = fscanf(fid,'%s')`则可以读取文件中的字符串。

3. 文件的关闭和删除:在文件操作完成后,应使用`fclose`函数关闭文件,以释放系统资源。

同时,可以使用`delete`函数删除不再需要的文件。

二、数据导入导出1. 文本文件的导入和导出:Matlab支持导入导出各种格式的文本文件,如CSV、TXT等。

可以使用`readtable`函数导入数据表格,使用`writetable`函数将数据表格导出到文件中。

例如,`data = readtable('data.csv')`将CSV文件中的数据导入到名为`data`的数据表格中,而`writetable(data,'output.txt')`则将数据表格导出到TXT文件中。

2. Excel文件的导入和导出:Matlab还支持导入导出Excel文件,方便处理大量的数据。

Matlab中的文件输入输出操作详解

Matlab中的文件输入输出操作详解

Matlab中的文件输入输出操作详解引言在Matlab编程中,文件输入输出操作是非常常见且重要的一部分。

无论是读取数据还是将结果保存至文件中,文件输入输出都是连接Matlab与外部环境之间的桥梁。

本文将详解Matlab中的文件输入输出操作,包括文件读取、文件写入、文件追加等方面的内容。

一、文件读取1. 读取文本文件在Matlab中读取文本文件非常简单。

通过使用`fopen`函数,我们可以打开一个文本文件,返回一个文件描述符。

然后,我们可以使用`fscanf`、`fgets`等函数逐行或逐个字符读取文件内容。

最后使用`fclose`函数关闭文件。

示例代码:```fid = fopen('data.txt', 'r');while ~feof(fid)line = fgetl(fid);disp(line);endfclose(fid);```2. 读取二进制文件与读取文本文件类似,读取二进制文件也需要使用`fopen`函数打开文件。

不同之处在于,我们使用`fread`函数以指定的格式读取文件内容。

同样,读取完毕后使用`fclose`函数关闭文件。

示例代码:```fid = fopen('data.bin', 'rb');data = fread(fid, 'double');fclose(fid);disp(data);```二、文件写入1. 写入文本文件想要将数据写入文本文件,我们可以通过`fopen`函数打开一个新的文件,并使用`fprintf`函数将数据进行格式化输出。

最后使用`fclose`函数关闭文件。

示例代码:```fid = fopen('result.txt', 'w');fprintf(fid, '%s\n', 'Hello, World!');fclose(fid);```2. 写入二进制文件与写入文本文件类似,写入二进制文件也需要使用`fopen`函数打开一个新的文件。

matlab数据导入和导出

matlab数据导入和导出

matlab数据导入和导出1. Xlsread读入数据[a3, h_lukou] = xlsread('ex1.xls','sheet3'); %指定工作表中数据,表头和字符数据存入h_lukou [a, h_lukou] = xlsread('2011B-data.xls', 'lukou'); %指定工作表中数据,表头和字符数据存入h_lukou [a, h_lukou] = xlsread('2011B-data.xls', 'A2:C3'); %读取指定区域的数据[g = xlsread('2011B-data.xls', 'A2:C300') %读取指定区域的数据2.文本数据1)a=textread('b-lukou.txt'); %这种读取的信息自动分隔,可带格式读整个文件,例见B2011_fig.m2)textscanfr = fopen('b-lukou.txt ', 'r'); txt数据空格分隔g1 = textscan(fr, '%d %d %d %f \n'); %读一行中指定格式的内容,指针移到未读处g1 = textscan(fr, '%d %d %d %f \n',N); %同一格式重复读N 次,(包括P87例2.10好像不执行)fr = fopen('ex2.txt ', 'r'); txt数据’,’分隔g1 = textscan(fr, '%d %d %d %f \n','delimiter',',');textscan更适合读入大文件;textscan可以从文件的任何位置开始读入,而textread 只能从文件开头开始读入;textscan也可以从上一次textscan结束的位置开始读入,而textread不能;textscan只返回一个数组,而textread要返回多个数组;textscan提供更多转换读入数据的选择;textscan提供给用户更多的配置参数。

matlab中的数据导入和导出

matlab中的数据导入和导出

matlab中的数据导入和导出Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存入磁盘文件(数据导出)的多种途径。

最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作。

Matlab支持的主要数据文件类型和对应函数如下:导入文本文件文本文件需要具备统一的行列模式,使用分隔符作为数据项间隔,这些分隔符包括空格、逗号、tab、分号或其它。

数据文件可能附带标题行和行列头标签。

数值数据对于数值数据可以直接使用load函数装载,例如my_data.txt中数据如下:1 2 3 4 56 7 8 9 10命令A = load('my_data.txt')装载该文本文件数据。

如果数值数据使用其它分隔符,可以使用dlmread读入,假设my_data.txt中数据如下:7.2;8.5;6.2;6.65.4;9.2;8.1;7.2命令A = dlmread('my_data.txt', ';')读入该数据。

包含行列标签的数值数据例如:Grade1 Grade2 Grade378.8 55.9 45.999.5 66.8 78.089.5 77.0 56.7fid = fopen('grades.dat', 'r');grades = textscan(fid, '%f %f %f', 3, 'headerlines', 1);fclose(fid);包含字符和数值的混合数据使用textread函数读入。

导出文本文件save函数A = [ 1 2 3 4 ; 5 6 7 8 ];save my_data.out A –ASCIIdlmwrite函数dlmwrite('my_data.out',A, ';')MS-Excel电子表格文件xlsinfo获得文件信息使用命令[type, sheets] = xlsfinfo(filename)返回文件类型type和工作表信息。

Matlab数据的导入与导出

Matlab数据的导入与导出

二、调用高级函数读取数据
数据的导入与导出
1. 调用importdata函数读取数据
调用格式:
importdata(filename) A = importdata(filename) A = importdata(filename,delimiter) A = importdata(filename,delimiter,headerline) [A D] = importdata(…) [A D H] = importdata(…) […] = importdata(‘-pastespecial’, …)
2020/2/7
© 谢中华, 天津科技大学数学系.
数据的导入与导出
【例2.1-4】调用dlmread函数读取文件examp02_01.txt至 examp02_11.txt中的数据
>> x = dlmread('examp02_03.txt') >> x = dlmread('examp02_03.txt', ',', 2, 3) >> x = dlmread('examp02_03.txt', ',', [1, 2, 2, 5]) >> x = dlmread('examp02_05.txt') >> x = dlmread('examp02_06.txt') >> x = dlmread('examp02_09.txt') ……
2020/2/7
© 谢中华, 天津科技大学数学系.
2. 调用load函数读取数据 调用格式: S = load(filename) S = load(filename, variables) S = load(filename, '-mat', variables) S = load(filename, '-ascii') load(...) load ...

matlab中不同文件的数据导入和输出的实例

matlab中不同文件的数据导入和输出的实例

matlab中不同文件的数据导入和输出的实例如下:在一个matlab的学习群里,有人提出了这么一个问题:在matlab里如何读取多信文件的数据,例如,有许多数据,存放在不同的txt文件里。

我的办法是把这些文件的文件名按一定的规律命名,假如有一百个数据文件,则可以把这些文件分别命名为:filename1.txt,filename2.txt,...,fielname100.txt,在读取的时候则可以使用循环:for i = 1:100fileName = ['filename', num2str(i), '.txt'];x = load(filiName);end但另一位朋友给出了另一个解决的办法,无需对数据文件的文件名进行修改,就是文件名无须有规律,他的办法是:A = dir(fullfile('d:\datafile','*.txt'));这个语句是把存放数据文件的目录d:\datafile下的所有txt文件列出来,并把这些文件名的信息存放到一个变量A中,A是一个结构体变量,只要对A进行循环就可以读取到所有文件的数据了。

所谓人外有人,山外有山,我真是受教了,特写此文以记录此法。

附:help fullfilehelp fullfileFULLFILE Build full filename from parts.FULLFILE(D1,D2, ... ,FILE) builds a full file name from thedirectories D1,D2, etc and filename FILE specified. This isconceptually equivalent toF = [D1 filesep D2 filesep ... filesep FILE]except that care is taken to handle the cases where the directory parts D1, D2, etc. may begin or end in a filesep. Specify FILE = '' to build a pathname from parts.ExamplesTo build platform dependent paths to files:fullfile(matlabroot,'toolbox','matlab','general','Contents.m')To build platform dependent paths to a directory:addpath(fullfile(matlabroot,'toolbox','matlab',''))See also filesep, pathsep, fileparts.Reference page in Help browserdoc fullfile。

MATLAB的数据导入与导出

MATLAB的数据导入与导出
• FOPEN 打开文件 • FILENAME 可以是一个相对路径,如果文件
不在当前目录,系统将会在其他路径进行 搜索。 • FID = FOPEN(FILENAME,PERMISSION) FID 称为文件标识符,如果错误,返回-1
MATLAB的文件操作
• • • • • •
• •
'r' 'w' 'a' 'r+' 'w+' read write (create if necessary) append (create if necessary) read and write (do not create) truncate or create for read and
available and need not be • opened. They are FID=1 (standard output) and FID=2 (standard error). • FID, MESSAGE] = FOPEN(FILENAME,PERMISSION) • returns a system dependent error message if the open is not successful.
write
'a+' read and append (create if necessary) 'W' write without automatic flushing 'A' append without automatic flushing
MATLAB的文件操作
• Two file identifiers are automatically

Matlab学习系列-011.数据的读写、导入及导出

Matlab学习系列-011.数据的读写、导入及导出

Matlab学习系列-011.数据的读写、导⼊及导出011. 数据的读写、导⼊及导出在编写⼀个程序时,经常需要从外部导⼊数据,或者将程序运⾏的结果保存为⽂件。

⼀、*.txt或*.dat数据的导⼊与导出1.load函数——数值数据(格式⼀致)导⼊注:load函数可以导⼊.mat⽂件,也可以导⼊变量Load(‘1.mat’,’y’)例1.‘examp01.txt’⽂件如下:1.6218e-005 6.0198e-005 4.5054e-005 8.2582e-005 1.0665e-005 8.6869e-0057.9428e-005 2.6297e-005 8.3821e-006 5.3834e-005 9.6190e-005 8.4436e-0063.1122e-005 6.5408e-005 2.2898e-005 9.9613e-0054.6342e-007 3.9978e-0055.2853e-0056.8921e-005 9.1334e-0057.8176e-006 7.7491e-005 2.5987e-0051.6565e-005 7.4815e-005 1.5238e-005 4.4268e-005 8.1730e-005 8.0007e-005代码:x1 = load('examp01.txt') ;% ⽤load函数载⼊⽂件examp01.txt中的数据x1 = load('examp01.txt', '-ascii');% ⽤-ascii选项强制以⽂本⽂件⽅式读取数据load('examp01.txt'); %载⼊数据给变量examp01运⾏结果:x1 = 1.0e-004 *0.1622 0.6020 0.4505 0.8258 0.1066 0.86870.7943 0.2630 0.0838 0.5383 0.9619 0.08440.3112 0.6541 0.2290 0.9961 0.0046 0.39980.5285 0.6892 0.9133 0.0782 0.7749 0.25990.1657 0.7481 0.1524 0.4427 0.8173 0.8001例2.‘examp02.txt’⽂件如下:9.5550 2.7027, 8.6014; 5.6154* 3.45320.9223 0.9284, 1.4644; 3.6703* 2.21345.5557 7.2288, 4.3811;6.4703* 4.78564.7271 9.9686, 6.1993; 9.6416* 0.6866代码:x1 = load('examp02.txt')% ⽤load函数载⼊⽂件examp02.txt中的数据x1 = load('examp02.txt', '-ascii');% ⽤-ascii选项强制以⽂本⽂件⽅式读取数据运⾏结果:x =9.5550 2.7027 8.6014 5.6154 3.45320.9223 0.9284 1.4644 3.6703 2.21345.5557 7.2288 4.38116.4703 4.78564.7271 9.9686 6.1993 9.6416 0.68662.dlmread函数——有统⼀分隔符的数值数据导⼊语法:M = dlmread(‘⽂件名’, ‘分隔符’,‘读取范围’)例3.(带标题⾏)‘examp03.txt’⽂件如下:这是2⾏头⽂件,你可以选择跳过,读取后⾯的数据。

matlab中的数据导入和导出

matlab中的数据导入和导出

matlab中的数据导入和导出Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存入磁盘文件(数据导出)的多种途径。

最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作。

Matlab支持的主要数据文件类型和对应函数如下:导入文本文件文本文件需要具备统一的行列模式,使用分隔符作为数据项间隔,这些分隔符包括空格、逗号、tab、分号或其它。

数据文件可能附带标题行和行列头标签。

数值数据对于数值数据可以直接使用load函数装载,例如my_data.txt中数据如下:1 2 3 4 56 7 8 9 10命令A = load('my_data.txt')装载该文本文件数据。

如果数值数据使用其它分隔符,可以使用dlmread读入,假设my_data.txt中数据如下:7.2;8.5;6.2;6.65.4;9.2;8.1;7.2命令A = dlmread('my_data.txt', ';')读入该数据。

包含行列标签的数值数据例如:Grade1 Grade2 Grade378.8 55.9 45.999.5 66.8 78.089.5 77.0 56.7fid = fopen('grades.dat', 'r');grades = textscan(fid, '%f %f %f', 3, 'headerlines', 1);fclose(fid);包含字符和数值的混合数据使用textread函数读入。

导出文本文件save函数A = [ 1 2 3 4 ; 5 6 7 8 ];save my_data.out A –ASCIIdlmwrite函数dlmwrite('my_data.out',A, ';')MS-Excel电子表格文件xlsinfo获得文件信息使用命令[type, sheets] = xlsfinfo(filename)返回文件类型type和工作表信息。

matlab中的数据导入和导出

matlab中的数据导入和导出

Matlab文件和数据的导入与导出Matlab文件和数据的导入与导出在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。

MATLAB使用多种格式打开和保存数据。

本章将要介绍MATLAB中文件的读写和数据的导入导出。

13.1 数据基本操作本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。

13.1.1 文件的存储MATLAB支持工作区的保存。

用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。

保存工作区可以通过菜单进行,也可以通过命令窗口进行。

1. 保存整个工作区选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。

2. 保存工作区中的变量在工作区浏览器中,右击需要保存的变量名,选择Save As…,将该变量保存为MAT文件。

3. 利用save命令保存该命令可以保存工作区,或工作区中任何指定文件。

该命令的调用格式如下:● save:将工作区中的所有变量保存在当前工作区中的文件中,文件名为matlab.mat,MAT文件可以通过load函数再次导入工作区,MAT函数可以被不同的机器导入,甚至可以通过其他的程序调用。

● save('filename'):将工作区中的所有变量保存为文件,文件名由filename指定。

如果filename中包含路径,则将文件保存在相应目录下,否则默认路径为当前路径。

● save('filename', 'var1', 'var2', ...):保存指定的变量在filename 指定的文件中。

● save('filename', '-struct', 's'):保存结构体s中全部域作为单独的变量。

● save('filename', '-struct', 's', 'f1', 'f2', ...):保存结构体s中的指定变量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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菜单中选出。
相关文档
最新文档