matlab如何生成数据dat文件

matlab如何生成数据dat文件
matlab如何生成数据dat文件

第一种方法:save(最简单基本的)

具体的命令是:用save *.txt -ascii x

x为变量

*.txt为文件名,该文件存储于当前工作目录下,再打开就可以打开后,数据有可能是以指数形式保存的.

例子:

a =[17 24 1 8 15;23 5 7 14 16 ;4 6 13 20 22 ;10 12 19 21 3 ;11 18 25 2 9 ];

save afile.txt -ascii a

afile.txt打开之后,是这样的:

1.7000000e+001

2.4000000e+001 1.0000000e+000 8.0000000e+000 1.5000000e+001

2.3000000e+001 5.0000000e+000 7.0000000e+000 1.4000000e+001 1.6000000e+001

4.0000000e+000 6.0000000e+000 1.3000000e+001 2.0000000e+001 2.2000000e+001

1.0000000e+001 1.2000000e+001 1.9000000e+001

2.1000000e+001

3.0000000e+000

1.1000000e+001 1.8000000e+001

2.5000000e+001 2.0000000e+000 9.0000000e+000

第二种方法:dlmwrite

dlmwrite('a.txt',a,'precision','%10.0f')

或者是dlmwrite('a.txt',a,'delimiter', '\t')

对于只有一行或者一列的数据,很适用,但是多行的,就乱了

网上有很多这一类似的问题,但是都不是很理想

第三种方法:fopen+fprintf

下面主要介绍这种方法,可以解决以上问题:用fprintf命令:以上面的例子为例:

第一种情况:

>> a=[17 24 1 8 15;23 5 7 14 16 ;4 6 13 20 22 ;10 12 19 21 3 ;11 18 25 2 9 ];

>> fid = fopen('b.txt','wt');

fprintf(fid,'%g\n',a); # \n 换行

fclose(fid);

然后用写字板打开b.txt,内容如下:为列向量

17

23

4

10

11

24

5

6

12

18

1

7

13

19

25

8

14

20

21

2

15

16

22

3

9

第二种情况:

对上面的命令做一下改动:# \n 换行改为\t,table键

>> fid = fopen('b.txt','w');

fprintf(fid,'%g\t',a);

fclose(fid);

然后用写字板打开b.txt,内容如下:为行向量:

17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

第三种情况:

综合上面的两个结果,我们编写以下命令:

matlab导出数据(fprintf,dlmwrite,xlswrite)

matlab导出数据(fprintf,dlmwrite,xlswrite) 1.用fprintf 函数写数据到txt,xls Example: x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'w'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid) tip:执行上述代码执行,肯定不会换行的,换行的问题试一下下面的代码 x = 0:.1:1; y = [x; exp(x)]; fid = fopen('exp.txt', 'wt'); fprintf(fid, '%6.2f %12.8f\n', y); fclose(fid); x = 1; fid = fopen('exp.txt', 'w'); fprintf(fid, '%d', x); fclose(fid); 这次就没有问题了,我们要注意fopne的参数wt 而不是 w,这是matlab的在线帮助的东东 fid = fopen(filename, permission_tmode) on Windows systems, opens the file in text mode instead of binary mode (the default). The permission_tmode argument consists of any of the specifiers shown in the Permission Specifiers table above, followed by the letter t, for example 'rt' or 'wt+. On UNIX?systems, text and binary mode are the same. (UNIX is a registered trademark of The Open Group in the United States and other countries). 就是有两种读取模式binary or text. When choosing the binary model,No characters are given special treatment. 所以我们选择要注明text模式。 2. dlmwrite :将一个矩阵写到由分隔符分割的文件中。 在保存整数到文件时使用save存为ascii文件时,常常是文件里都是实型格式的数据(有小数点,和后面很多的0,看着很不方便)。于是要保存此类数据时,我们可以使用此dlmwrite命令。

数据导入和导出

数据导入和导出_01 数据对象 一、序列(Series) Eviews的序列包含了某个变量的一组观察值。在序列中与每个观察值相关联的是日期或者观察值的标签(序号)。对于工作文件中的日期型序列,假定观察值在整个时间区间上是按特定的时间频率(年、季、月、星期和日中之一)有规则地观察得到的;对于非日期型的序列,则假定观察值不遵从任何特定的频率。 1、建立序列(Creating a series) 建立序列的主要方法有几种。 (1)方法一,选择Object/New Objects再选择序列(series),此时允许给序列命名,或者让新序列记作untitled,点击OK。EViews打开新序列的电子数据表观察,新序列所有观察值被赋给了编码为NA的缺失数据。可以对它们进行编辑,或者用表达式给它们赋值。

(2)方法二,用数学表达式生成序列。点击Quick/Generate Series 并键入定义序列的表达式。这种方法的深入讨论参见:Working with Series。

2、编辑序列(Editing a series) 编辑序列,即对序列中的个别观察值进行编辑。步骤: 第一步,打开序列的电子数据表观察。如果序列的观察不显示为电子数据表观察,点击Sheet按钮或从序列的菜单上选择View/Spreadsheet,将观察改为序列缺省观察——电子数据表观察。 第二步,确保电子数据表观察处于编辑模式下。 EViews允许对电子数据表观察进行保护数据模式与编辑数据模式的设置,通过按压Edit +/-按钮在编辑模式与保护模式之间进行切换。 第三步,更改某一个观察值:在编辑模式下,选择单元格,键入数值,然后按EBTER。 注意,有些单元格始终处于保护模式。如果选择了一个处于保护模式下的单元格,EViews在编辑窗口显示信息:“the cell cannot be edi ted.”。EViews不允许对这类单元进行编辑。 第四步,完成数据编辑以后,还应点击Edit +/-,关闭编辑模式,以免数据受到意外的损害。 3、改变电子数据表的显示格式(Changing the Spreadsheet Display) EViews提供了几种不同的格式,在电子数据表中查看序列中的数据。

如何在matlab中读取TXT数据文件

如何在matlab中读取TXT数据文件 文章来源:不详作者:佚名 -------------------------------------------------------------------------------- 该文章讲述了如何在matlab中读取TXT数据文件. 今天需要做个matlab读取txt文件,在网上收集了下,查到了几篇不错的,总结一下,方便大家(包括me)使用: 下面这个函数是取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==line fprintf(fidout,'%s\n',tline); dataout=tline; end end fclose(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网站下载就行。 根据txt文档不同种类介绍不同的读取数据方法 转自:https://www.360docs.net/doc/6f6875873.html,/youngbrave/blog/item/878db31fcd4f220f304e15bb.html 一、纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045” 可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。 二、中英文和数据如test1.txt “你好 欢迎来到

matlab文件操作fopen,fseek,fread,fclose等

文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。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个数据

matlab的各种数据读取(txtdatmat等格式)文件打开关闭

matlab的各种数据读取(txt,dat,mat等格式),文件打开 关闭 MATLAB提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:●用户所执行的操作是导入数据还是导出数据;●数据的格式为文本格式、二进制格式还是如HDF之类的标准格式。将数据导入MATLAB中最容易的方法就是使用导入数据模板(Import Wizard),使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:●文件的打开和关闭●文本文件的读取●存写ASCII数据●二进制数据的读取●二进制数据的存写●使用I/O文件函数进行数据读写●MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII码文件还是二进制文件,都必须先用fopen函数将其打开,在默认情况下,fopen以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode')其中filename表示要读写的文件名称,mode则表示要对文件进行的处理方式,可以是表2-1中的任一字符串。表2-1 文本文件打开的

模式mode意义rt以只读方式(Reading)打开文件wt以只写方式(Writing)打开文件at以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t以同时读写方式打开文件w+t以同时读写创建文件,原文件内容被清除a+t以同时读和追加(Reading and Appdending)方式,原文件内容被保留,新内容将从原文件的后面开始At以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt以写入方式打开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen函数有两个返回值,一个是返回一个文件标志(file Identifier),它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen函数时,都测试其返回值是否为有效值。下面以脚本m文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); %显示错误信息end若文件fileexam1不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if

matlab文件数据读写

MATLAB中文件输入及输出指令 一、基本文件输入输出 File import/export functions. dlmread- Read ASCII delimited file. dlmwrite- Write ASCII delimited file. importdata - Load data from a file into MATLAB. daqread- Read Data Acquisition Toolbox (.daq) data file. matfinfo- Text description of MAT-file contents. xlsread - Get data and text from a spreadsheet in an Excel workbook. xlswrite- Stores numeric array or cell array in Excel workbook. xlsfinfo - Determine if file contains Microsoft Excel spreadsheet. Formatted file I/O. fgetl- Read line from file, discard newline character. fgets - Read line from file, keep newline character. fprintf - Write formatted data to file. fscanf - Read formatted data from file. textscan - Read formatted data from text file. textread - Read formatted data from text file. File opening and closing. fopen - Open file. fclose - Close file. Binary file I/O. fread - Read binary data from file. fwrite - Write binary data to file. File positioning. feof - Test for end-of-file. ferror - Inquire file error status. frewind - Rewind file. fseek - Set file position indicator. ftell - Get file position indicator.

相关文档
最新文档