matlab文件操作及读txt文件

合集下载

Matlab实现文件读写的几种方法

Matlab实现文件读写的几种方法

Matlab实现文件读写的几种方法Matlab有着强大的数据处理功能,经常需要从外部文件读取数据或将数据写到外部文件。

Matlab和外部文件进行数据交换相关的命令,个人目前了解到的有以下几种。

(1)Loadload 从Matlab的数据文件.mat中读取变量数据,也可以从.txt .dat等文件中读取数据。

使用load命令读取数据以后在Matlab 中数据变量和文件同名。

例如使用“load data.txt”后数据变量名即为data。

需要注意的是文件格式的不同,文件格式分为二进制格式和ASCII 格式两种。

如果是二进制格式的文件,可以使用load命令直接读取。

但如果是ASCII格式的文件,需要保证数据是整齐的(每一行数据个数要一致),否则会出错。

例:data.txt文件(ASCII格式)0 11 2 3使用“load data.txt”将会出错。

data1.txt文件0 1 21 2 32 3 4使用“load data1.txt”能顺利读入3*3矩阵。

和load相对应的写数据命令为save,一般存为.mat文件,save 保存的文件格式为二进制格式。

二进制和ASCII的区别从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。

例如,数5678的存储形式为:ASC码:00110101(5)00110110(6)00110111(7)00111000(8)共占用4个字节。

ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。

由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。

例如,数5678的存储形式为:00010110 00101110 (十进制5678转换成二进制)只占二个字节。

二进制文件虽然也可在屏幕上显示,但其内容无法读懂。

MATLAB操作txt总结

MATLAB操作txt总结

使用文本文件(.txt)进行数据存取的技巧总结(相当的经典)使用文本文件(.txt)进行数据存取的技巧总结由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢!特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。

除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。

一. 基本知识:--------------------------------------------------这是转载内容----------------------------------------------------1. 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。

这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。

如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。

譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。

从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。

MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)(转自matlab技术论坛)

MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)(转自matlab技术论坛)

MATLAB对于文本文件(txt)数据读取的技巧总结(经典中的经典)(转自matlab技术论坛)振动论坛原版主eight的经典贴MATLAB对于文本文件(txt)进行数据读取的技巧总结(经典中的经典)由于本帖内容较多,部分转自他人的心得,因此,凡转贴的地方仅用“----转----”标注,原作者略去,在此对所有原作者表示感谢!特别说明:由于大家在 I/O 存取上以 txt 文件为主,且读取比存储更麻烦(存储的话 fwrite, fprintf 基本够用),因此下面的讨论主要集中在“txt 文件的读取”上。

除了标注了“转”之外,其余心得均出于本人经验之结果,欢迎大家指正、补充。

一. 基本知识:--------------------------------------------------转----------------------------------------------------1. 二进制文件与文本文件的区别:将文件看作是由一个一个字节(byte) 组成的,那么文本文件中的每个字节的最高位都是0,也就是说文本文件使用了一个字节中的七位来表示所有的信息,而二进制文件则是将字节中的所有位都用上了。

这就是两者的区别;接着,第二个问题就是文件按照文本方式或者二进制方式打开,两者会有什么不同呢?其实不管是二进制文件也好,还是文本文件也好,都是一连串的0和1,但是打开方式不同,对于这些0和1的处理也就不同。

如果按照文本方式打开,在打开的时候会进行translate,将每个字节转换成ASCII码,而以按照二进制方式打开的话,则不会进行任何的translate;最后就是文本文件和二进制文件在编辑的时候,使用的方式也是不同的。

譬如,你在记事本中进行文本编辑的时候,你进行编辑的最小单位是字节(byte);而对二进制文件进行编辑的话,最小单位则是位(bit),当然我们都不会直接通过手工的方式对二进制文件进行编辑了。

matlab 中如何读取文本文件

matlab 中如何读取文本文件

matlab 中如何读取文本文件clca=load('2WD-G6_50kmh 003.txt','-ascii'); %读取数据a=textread('2.txt','%f')假定名为test.txt 的文件中以下为文件内容"你好,我的数据欢迎来到百思论坛1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555"这样的文件怎么读入数据呢?方法有多种,现举两个比较简单实用的。

方法一:在文件菜单中选择file/import data,按照提示进行操作至结束。

在command 窗口中输入>> whosName Size Bytes Classdata 5x4 160 double arraytextdata 4x1 300 cell arrayGrand total is 54 elements using 460 bytes>> datadata =1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555>> textdatatextdata ='你好''欢迎来到''百思论坛'''方法二:[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f 等。

这里%s的个数和[a1,a2,a3,a4]对应。

>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)a1 ='1''2''3''4''5'a2 ='11''22''33''44''55'a3 ='111''222''333''444''555'a4 ='1111''2222''3333''4444''5555'因以字符串的形式读入,所以有''。

转 matlab的各种数据读取(txt,dat,mat等格式)文件打开关闭

转 matlab的各种数据读取(txt,dat,mat等格式)文件打开关闭

Name
Size
Bytes Class Attributes
data
3x3
72 double
tex tdata
4x1
314 cell
2. 使用函数来读取文本数据
若要在命令行或在一个 M 文件中读取数据,必须使用 MATLAB 数据函数,函数的选择则是依据文本文件中数据的格式。
而且文本数据格式在行和列上必须采取一致的模式,并使用文本字符来分隔各个数据项,称该字符为分隔符或列分隔
0.3445 0.8433 0.7865 0.7562 0.4233 0
/blog-907194-688272.html
征。
/blog-907194-688272.html
2/12
2014年4月29日
表2-2 读取函数的比较 函数 数据类型 分隔符 返回值 c sv read 数值数据 仅cooma 1 dlmread 数值数据 任何字符 1 fscanf 字母和数值 任何字符 1 load 数值数据 仅space 1 tex tread 字母和数值 任何字符 多返回值
符。分隔符可以是space、comma、semicolon、ab或其他字符,单个的数据可以是字母、数值字符或它们的混合形式。
文本文件也可以包含称之为头行的一行或多行文本,或可以使用文本头来标志各列或各行。在了解要输入数据的格式之
后,便可以使用 MATLAB 函数来读取数据了。若对 MATLAB 函数不熟悉,可从表2-2中了解几个读取函数的一些使用特
图2-2 使用模板查看各变量数据 在默认情况下,导入模板将文件中所有的数值数据放在一个变量中;若文件包含文本数据,则模板将它们放在另外一个 变量中;若文件包含行或列,模板也将它们作为各自独立的变量分别称为行头和列头。 当所有导入模板创建好数据后,使用whos命令可以查看工作空间的变量。 >> whos

matlab进行文件读写操作

matlab进行文件读写操作
fclose(fid);
%关闭文件
另外有的txt文件还可以用load来打开
其语句为
f=load('fx.txt)
我个人觉得用第一种方式较好。因为有些时候,特别是fx.txt 的一行种有多个数据时用load
就比较麻烦了。
2)关闭文件
文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose函数,调用格式为:
sta=fclose(fid)
说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。
? ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。
? ‘a’:在打开的文件末端添加数据。文件不存在则创建。
? ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。
另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
说明:其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用则它的值可以是下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。precision用于控制所写数据的精度,其形式与fwrite函数相同。
2、二进制文件的读写操作
1)写二进制文件
fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:
COUNT=fwrite(fid,A,precision)

matlab读取.txt文件的方法

matlab读取.txt文件的方法

matlab读取.txt文件的方法如何使用MATLAB读取文本文件MATLAB是一种功能强大的数值计算和数据分析软件,也可以用于读取和处理文本文件。

读取文本文件是数据处理和分析中的常见任务,它能帮助我们获取和存储用于后续分析的重要数据。

在本文中,我们将提供一种详细的步骤,以通过MATLAB读取文本文件。

Step 1: 确定要读取的文本文件的路径和名称在使用MATLAB读取文本文件之前,首先需要知道要读取的文件的路径和名称。

可以使用以下两种方法之一来指定路径和文件名:方法一:使用相对路径相对路径是相对于MATLAB当前工作目录的路径。

MATLAB当前工作目录是指你当前正在使用的MATLAB文件所在的目录。

如果文本文件与当前工作目录中的MATLAB文件位于同一目录或其子目录中,则可以使用相对路径来指定文件路径。

相对路径使用'./'表示当前目录和'../'表示上一级目录。

方法二:使用绝对路径绝对路径是完整指定文件路径的方式。

通过使用绝对路径,你可以直接指定文件所在的文件夹和文件名来读取文件。

绝对路径可以直接从文件浏览器中复制并粘贴到MATLAB中。

Step 2: 使用fopen函数打开文本文件MATLAB中的fopen函数用于打开文件。

要打开文本文件,需要使用'rt'选项将文件以只读文本文件方式打开。

这样,MATLAB就可以正确解释文件中的每个字符。

下面是打开文本文件的示例代码:matlabfileID = fopen('path_to_file/filename.txt', 'rt');请将'path_to_file/filename.txt'替换为要读取的文本文件的实际路径和名称。

使用此命令将返回一个文件标识符fileID,它用于后续读取文件的步骤。

Step 3: 使用fgetl函数逐行读取文本文件一旦文件打开成功,我们可以使用MATLAB中的fgetl函数按行读取文本文件。

matlab读文件

matlab读文件

matlab文件操作文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。

MATLAB提供了一系列低层输入输出函数,专门用于文件操作。

1、文件的打开与关闭1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。

fopen函数的调用格式为:fid=fopen(文件名,‘打开方式’)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。

文件名用字符串形式,表示待打开的数据文件。

常见的打开方式如下:λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。

λ‘r+’:读写方式打开文件,打开后先读后写。

该文件必须已存在。

λ‘w’:打开后写入数据。

该文件已存在则更新;不存在则创建。

λ‘w+’:读写方式打开文件。

先读后写。

该文件已存在则更新;不存在则创建。

λ‘a’:在打开的文件末端添加数据。

文件不存在则创建。

λ‘a+’:打开文件后,先读入数据再添加数据。

文件不存在则创建。

另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

2)关闭文件文件在进行完读、写等操作后,应及时关闭,以免数据丢失。

关闭文件用fclose函数,调用格式为:sta=fclose(fid)说明:该函数关闭fid所表示的文件。

sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。

如果要关闭所有已打开的文件用fclose(‘all’)。

2、二进制文件的读写操作1)写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。

其调用格式为:COUNT=fwrite(fid,A,precision)说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。

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中读取txt文件的几种方法

matlab中读取txt文件的几种方法

matlab中读取txt文件的几种方法嘿,朋友们!今天咱就来唠唠在 Matlab 里读取 txt 文件的那些门道儿。

你想想啊,txt 文件就像是一个藏着各种宝贝的小盒子,而 Matlab就是打开这个盒子的神奇钥匙。

那怎么用这把钥匙打开盒子呢?有一种方法就像是轻轻地敲开盒子盖儿,这就是使用 load 函数啦。

它能把 txt 文件里的数据一股脑儿地都给弄进来,简单直接,就像你口渴了直接拿起水杯就喝,爽快!还有呢,fopen 函数就像是找到盒子上的锁眼,然后用合适的工具去开锁。

通过它打开文件后,再用 fscanf 或者 fgetl 等函数来一点一点地把数据给“抠”出来,虽然稍微麻烦点,但能让你更精细地处理数据,就像雕刻一件艺术品一样。

再说说 textscan 函数吧,它就像是一个智能的分拣器,能把 txt 文件里的数据按照你设定的规则,整整齐齐地给分好类。

这可太方便啦,能让你快速地找到你想要的那部分数据,就好像在一堆杂物里一下子就找到了你心仪的那个小物件。

你说,这 Matlab 读取 txt 文件的方法是不是很有趣?就像在一个大宝藏里寻宝一样,不同的方法就是不同的寻宝路径。

咱再打个比方,这读取 txt 文件就像是去参加一场比赛,每种方法都是不同的战术。

有的战术简单粗暴,直接冲过去拿分;有的战术则需要精心布局,一点点地突破。

不管是哪种战术,只要能达到目的,那就是好战术,对吧?所以啊,当你在 Matlab 里遇到要读取 txt 文件的时候,可别犯愁,就想想咱说的这些方法,选一个最适合你的,然后大胆地去尝试。

就像那句话说的,“实践出真知”,只有自己试过了,才能真正体会到其中的乐趣和奥秘。

总之呢,Matlab 中读取 txt 文件的这几种方法各有各的好,各有各的用武之地。

你可得好好掌握它们,让它们成为你在数据处理世界里的得力助手!怎么样,是不是迫不及待地想去试试啦?。

matlab加载txt文件的语句

matlab加载txt文件的语句

matlab加载txt文件的语句MATLAB是一种高级编程语言和交互式环境,主要用于算法开发、数据可视化、数据分析、科学计算和工程应用。

在MATLAB中,我们经常需要加载文本文件,对数据进行处理和分析。

本文将介绍MATLAB加载txt文件的语句及其中文说明。

data = load('filename.txt');其中,filename.txt是我们要加载的txt文件名,data是存储加载后数据的变量名。

这条语句仅适用于纯数值文本文件,数据之间用空格或制表符分隔,每行数据是一组完整的数据。

如果我们需要加载的文本文件数据不是规范的纯数值文本文件,还需要使用一些参数来指定其他的加载方式。

下面是常用参数的说明:data = load('filename', 'delimiter', ','):这个参数用来指定数据分隔符。

在这个例子中,分隔符是逗号,即数据之间是用逗号分隔的。

需要注意的是,如果txt文件中的数据类型不同,比如同时包含字符串和数值,那么load函数会将所有数据都转换成double类型。

如果我们需要保留其他类型的数据,可以使用textscan函数。

textscan函数的语法如下:fid = fopen('filename.txt'); % 打开文件C = textscan(fid, '%s %f %f', 'delimiter', ','); % 读取数据fclose(fid); % 关闭文件其中,%s代表字符串类型,%f代表浮点型数值类型。

需要注意的是,textscan函数读取数据后会返回一个cell数组,需要使用{}操作符提取数据。

综上所述,MATLAB加载txt文件的语句包括load和textscan两种方式。

在使用load 函数时,我们需要注意文件中数据的分隔符、注释形式、标题行数和编码格式等参数的设置。

Matlab中的文件读写操作方法与实例

Matlab中的文件读写操作方法与实例

Matlab中的文件读写操作方法与实例简介:在Matlab的开发环境中,文件读写是非常常见和重要的操作。

无论是读取外部文件的数据进行处理,还是将Matlab计算结果保存为外部文件,文件读写操作是必不可少的。

本文将详细介绍Matlab中的文件读写操作方法,并提供一些实例供读者参考。

一、文件读取操作方法1. readtable函数readtable函数可以用来读取以表格形式存储的数据文件,例如Excel文件或CSV文件。

该函数的基本用法如下:```data = readtable('filename');```其中,'filename'为待读取的文件名,以单引号括起来。

读取后的数据将存储在变量data中。

2. dlmread函数dlmread函数用于读取以定界符分隔的文本文件,例如由空格或逗号分隔的数据文件。

该函数的基本用法如下:```data = dlmread('filename');```其中,'filename'为待读取的文件名,同样需要用单引号括起来。

读取后的数据将存储在变量data中。

3. fopen和fscanf函数如果需要按照自定义的格式读取文件,可以使用fopen和fscanf函数。

fopen函数用于打开文件,fscanf函数用于按照指定格式读取文件中的内容。

示例代码如下:```fid = fopen('filename', 'r');data = fscanf(fid, 'format');fclose(fid);```其中,'filename'为待读取的文件名,'format'为读取的格式,可以根据实际情况进行设定。

读取后的数据将存储在变量data中。

二、文件写入操作方法1. writetable函数writetable函数可以将Matlab中的表格数据保存为外部文件,例如Excel文件或CSV文件。

matlab中读取txt数据文件(txt文本文档)

matlab中读取txt数据文件(txt文本文档)

matlab中读取txt数据⽂件(txt⽂本⽂档)根据txt⽂档不同种类介绍不同的读取数据⽅法⼀、纯数据⽂件(没有字母和中⽂,纯数字)对于这种txt⽂档,从matalb中读取就简单多了例如test.txt⽂件,内容为17.901 -1.1111 33.04517.891 -1.1286 33.04517.884 -1.1345 33.045可以在command window中输⼊load test.txt ,然后就会产⽣⼀个test的数据⽂件,内容跟test.txt中的数据⼀样;另⼀种⽅法是在file/import data....../next/finish 也可产⽣⼀个叫test的数据⽂件。

⼆、中英⽂和数据如test1.txt你好欢迎来到论坛1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555这样的⽂件怎么读⼊数据呢?⽅法有多种,现举两个⽐较简单实⽤的。

⽅法⼀:file/import data....../next/finish>> whosName Size Bytes Classdata 5x4 160 double arraytextdata 4x1 300 cell arrayGrand total is 54 elements using 460 bytes>> datadata =1 11 111 11112 22 222 22223 33 333 33334 44 444 44445 55 555 5555>> textdatatextdata ='你好''欢迎来到''论坛'''⽅法⼆:[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)说明:%s可以是其他形式,跟读⼊的数据类型有关,⽐如这⾥也可以⽤%n,%f等。

matlab文件操作

matlab文件操作

Matlab有着强大的数据处理功能,经常需要从外部文件读取数据或将数据写到外部文件。

Matlab和外部文件进行数据交换相关的命令,个人目前了解到的有以下几种。

(1)Loadload 从Matlab的数据文件.mat中读取变量数据,也可以从.txt .dat 等文件中读取数据。

使用load命令读取数据以后在Matlab中数据变量和文件同名。

例如使用“load data.txt”后数据变量名即为data。

需要注意的是文件格式的不同,文件格式分为二进制格式和ASCII 格式两种。

如果是二进制格式的文件,可以使用load命令直接读取。

但如果是ASCII格式的文件,需要保证数据是整齐的(每一行数据个数要一致),否则会出错。

例:data.txt文件(ASCII格式)0 11 2 3使用“load data.txt”将会出错。

data1.txt文件0 1 21 2 32 3 4使用“load data1.txt”能顺利读入3*3矩阵。

和load相对应的写数据命令为save,一般存为.mat文件,save保存的文件格式为二进制格式。

二进制和ASCII的区别从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。

ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。

例如,数5678的存储形式为:ASC码:00110101(5)00110110(6)00110111(7)00111000(8)共占用4个字节。

ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。

由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。

例如,数5678的存储形式为:00010110 00101110 (十进制5678转换成二进制)只占二个字节。

二进制文件虽然也可在屏幕上显示,但其内容无法读懂。

C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。

Matlab的数据读取操作

Matlab的数据读取操作

Matlab的数据读取操作Matlab的数据读取操作[转]2012-08-10 22:47:08Matlab网站用两个例子非常详尽地介绍了各个命令的基本用法,实际中,面对手头上的数据,如何选用合适的命令呢?以下结合几个示例给出一些总结,大家举一反三就可以了:1. 纯数据(列数相同):源文件:CODE:0 3866.162 2198.938 141.1401 3741.139 2208.475 141.2522 3866.200 2198.936 141.1563 3678.048 2199.191 141.2304 3685.453 2213.726 141.2615 3728.769 2212.433 141.2776 3738.785 2214.381 141.2567 3728.759 2214.261 141.2288 3748.886 2214.299 141.2439 3748.935 2212.417 141.25310 3733.612 2226.653 141.23611 3733.583 2229.248 141.22312 3729.229 2229.118 141.186解答:对于这个txt文件,由于各行列数相同,故简单地使用load,importdata均可。

2.字段名(中、英文字段均可)+数据:源文件:CODE:CH0 CH1 CH2 CH30.000123 0.000325 0.000378 0.0005980.000986 0.000256 0.000245 0.000698解答:由于是记录的形式,因此各行列数必相同(缺少部分列时请自行在文件中补上 Inf 或 NaN),故直接使用 importdata 便可。

3.注释(含有独立的数字串)+数据(列数相同):问题:这个文件有4列,但前6行是文字说明,4列数字是从第8行开始的.现在我想把这个文件的前2列和文字说明提出来组成一个新的dat文件源文件:CODE:Group 2 12.02.2006 LimeiSamples of datas: 50000CH0 CH1 CH2 CH30.000123 0.000325 0.000378 0.0005980.000986 0.000256 0.000245 0.000698目标文件:CODE:Group 2 12.02.2006 LimeiSamples of datas: 50000CH0 CH10.000123 0.0003250.000986 0.000256解答:由于注释中含有独立的数字串,且注释部分没有明显的格式,这时候用importdata, load等高级命令直接读取会失败,用textread, dlmwrite 等格式化命令也不太合适,因此只能使用低级命令进行读取。

用MATLAB读取txt文件并绘图

用MATLAB读取txt文件并绘图

用MATLAB读取txt文件并绘图幅值为5、频率为10Hz的正弦信号,并写入数据文件MySin.txt,并读取文本文件MySin.txt 中的数据文件,进行绘图.% Applying the Mysin function to generate a sine waveform ...with amplitude and frequency are 5 and 10 respectively,and then...writing the sine wave data to the text file-Mysin.txtclear;clc;A = 5; % The amplitude of sinusoid.fre = 10; % The frequency of sinusoid.N = 1024; % The number of sampling points.Fs = 1024; % Sampling frequency.dt = 1/Fs; % Time interval.t = (0:(N-1))*dt; % Time vector.Xt = A*sin(2*pi*f*t + 3*pi/4); % Generating a sine function.file_type = fopen('D:\MySin.txt','w'); % open text file-MySin.txt....(Creat a text file unless this text file is exist) fprintf(file_type,'%12f\n',Xt); % Formatting the input data,and the to the text file. fclose(file_type); % close the text file-Mysin.txt.% Reading the data in the text file-Mysin.txt,and then ploting the sinusoid.B = load('D:\MySin.txt'); % Loading the data of sinusoid.plot(t,B); % ploting the sinusoid.ylim([-max(B)-max(B)/4 max(B)+max(B)/4]); % Set the range of Y axis.title('正弦信号X=5*sin(20*\pi*t+3*\pi/4)','FontName','黑体','FontSize',10); % Add the title.xlabel('Time/(s)','FontName','黑体','FontSize',10); % Add thelabelof X axis.ylabel('X(t)','FontName','New Times Roman','FontSize',10); % Add the label of Y axis.。

Matlab 中如何读取TXT数据文件中指定行的数据甄选范文

Matlab 中如何读取TXT数据文件中指定行的数据甄选范文

Matlab 中如何读取TXT数据文件中指定行的数据matlab中如何读取TXT数据文件中指定行的数据?matlab中如何读取TXT数据文件中指定行的数据?下面这个函数是取filein中的第line行写入fileout中的程序,如果想实现取特定几行,只要稍微修改一下就可以。

function dataout=dataread(filein,fileout,line)fidin=fopen(filein,'r');fidout=fopen(fileout,'w');nline=0;while ~feof(fidin) % 判断是否为文件末尾tline=fgetl(fidin); % 从文件读行nline=nline+1;if nline==linefprintf(fidout,'%s\n',tline);dataout=tline;endendfclose(fidin);fclose(fidout);%%%%%%%%%%%%%%%%%%%%%%%%%%调用格式:dataout=dataread(filein,fileout,line)如果你的txt文件数据是矩阵形式的,而没有其它的文字,用下面的程序就可以读任意行任意列的数据a=textread('ll.txt');t=a(1:43,4:10);1:43是1到43行,4:10是4到10列的数据,当然也可以只读一个数据,如果你的matlab没有textread 函数,直接从mathworks网站下载就行。

a=textread('result2.txt','','headerlines', N);N就是读数据的起始行数感谢您使用本店文档您的满意是我们的永恒的追求!(本句可删)------------------------------------------------------------------------------------------------------------1 / 1doc格式可编辑。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab文件操作及读txt文件
matlab文件操作
文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。

MATLAB提供了一系列低层输入输出函数,专门用于文件操作。

1、文件的打开与关闭
1)打开文件
在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。

fopen函数的调用格式为:
fid=fopen(文件名,‘打开方式’)
说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。

文件名用字符串形式,表示待打开的数据文件。

常见的打开方式如下:
λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。

‘r+’:读写方式打开文件,打开后先读后写。

该文件必须已存在。

λλ‘w’:打开后写入数据。

该文件已存在则更新;不存在则创建。

‘w+’:读写方式打开文件。

先读后写。

该文件已存在则更新;不存在则创建。

λ
λ‘a’:在打开的文件末端添加数据。

文件不存在则创建。

λ‘a+’:打开文件后,先读入数据再添加数据。

文件不存在则创建。

另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

2)关闭文件
文件在进行完读、写等操作后,应及时关闭,以免数据丢失。

关闭文件用fclose函数,调用格式为:
sta=fclose(fid)
说明:该函数关闭fid所表示的文件。

sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。

如果要关闭所有已打开的文件用fclose(‘all’)。

2、二进制文件的读写操作
1)写二进制文件
fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。

其调用格式为:
COUNT=fwrite(fid,A,precision)
说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。

缺省数据精度为uchar,即无符号字符格式。

例6.8 将一个二进制矩阵存入磁盘文件中。

>> a=[1 2 3 4 5 6 7 8 9];
>> fid=fopen('d:test.bin','wb') %以二进制数据写入方式打开文件
fid =
3 %其值大于0,表示打开成功
>> fwrite(fid,a,'double')
ans =
9 %表示写入了9个数据
>> fclose(fid)
ans =
0 %表示关闭成功
2)读二进制文件
fread函数可以读取二进制文件的数据,并将数据存入矩阵。

其调用格式为:
[A,COUNT]=fread(fid,size,precision)
说明:其中A是用于存放读取数据的矩阵、COUNT是返回所读取的数据元素个数、fid为文件句柄、size为可选项,若不选用则读取整个文件内容;若选用则它的值可以是下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。

precision用于控制所写数据的精度,其形式与fwrite函数相同。

3、文本文件的读写操作
1)读文本文件
fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。

其调用格式为:
[A,COUNT]=fscanf(fid,format,size)
说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。

size为可选项,决定矩阵A中数据的排列形式,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[M,N](读数据到M×N的矩阵中,数据按列存放)。

2)写文本文件
fprintf函数可以将数据按指定格式写入到文本文件中。

其调用格式为:fprintf(fid,format,A)
说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。

例6.9 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。

>> a='string';
>> fid=fopen('d:char1.txt','w');
>> fprintf(fid,'%s',a);
>> fclose(fid);
>> fid1=fopen('d:char1.txt','rt');
>> fid1=fopen('d:char1.txt','rt');
>> b=fscanf(fid1,'%s')
b =
string
matlab读txt文件
fid=fopen('fx.txt','r');
%得到文件号
[f,count]=fscanf(fid,'%f %f',[12,90]);
%把文件号1的数据读到f中。

其中f是[12 90]的矩阵
%这里'%f %f'表示读取数据的形势,他是按原始数据型读出
fclose(fid);
%关闭文件
另外有的txt文件还可以用load来打开
其语句为
f=load('fx.txt)
我个人觉得用第一种方式较好。

因为有些时候,特别是fx.txt 的一行种有多个数据时用load
就比较麻烦了。

数据文件定位
MATLAB提供了与文件定位操作有关的函数fseek和ftell。

fseek函数用于定位文件位置指针,其调用格式为:
status=fseek(fid, offset, origin)
其中fid为文件句柄,offset表示位置指针相对移动的字节数,OFFSET values are interpreted as follows:
> 0 Move toward the end of the file.
= 0 Do not change position.
< 0 Move toward the beginning of the file.
origin表示位置指针移动的参照位置,ORIGIN values are interpreted as follows:
'bof' or -1 Beginning of file
'cof' or 0 Current position in file
'eof' or 1 End of file。

若定位成功,status返回值为0,否则返回值为–1。

ftell函数返回文件指针的当前位置,其调用格式为:
position=ftell (fid)
返回值为从文件开始到指针当前位置的字节数。

若返回值为–1表示获取文件当前位置失败。

例:
FID=fopen('sw.m','r')
fseek(FID,10,-1)
ans =
>> ftell(FID)
ans =
10
>> fseek(FID,-10,1)
ans =
>> ftell(FID)
ans =
2180
文件指针可以移动到当前文件末尾的后面,但不能移动到开头的前面;当把指针移动到文件末尾后面时,若关闭文件则文件大小会自动增长到文件指针所指的大小,用这种方法可以很容易创建一个很大的文件,当然新增加的文件内容是随机的。

相关文档
最新文档