搜档网
当前位置:搜档网 › 1、使用Matlab产生二进制文件.bin

1、使用Matlab产生二进制文件.bin

1、使用Matlab产生二进制文件.bin
1、使用Matlab产生二进制文件.bin

Matlab中如何实现二进制文件的读写

说明:matlab产生的是.bin二进制文件。.bit是FPGA的比特流文件

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函数相同。

%写一维数据至数据文件

n=0:pi/10:4*pi;

y=sin(n);

fip=fopen('C:\binary3.bin','wb');

fwrite(fip,Pxx,'double');

fclose(fip);

%从数据文件读取一维数据

fip=fopen('C:\binary3.bin','rb');

[SIN,num]=fread(fip,[2,20],'double');%inf表示读取文件中的所有数据,[M,N]表示%将读取的数据放置在M行N列中,N表示将读取的数据放置在1列中

fclose(fip)

%写二维数据至数据文件

n=0:pi/10:4*pi;

y1=sin(n);y2=sin(n);y3=0.5*sin(n);

y=[y1;y2;y3];

fip=fopen('C:\binary4.bin','wb');

fwrite(fip,y,'double');

fclose(fip); %返回指针的值为0,则表示存储数据正常

%从数据文件读取二维数据

fip=fopen('C:\binary4.bin','rb');

[Array_2D,num]=fread(fip,inf,'double');%inf表示读取文件中的所有数据,[M,N]表示%将读取的数据放置在M行N列中,N表示将读取的数据放置在1列中

fclose(fip)

详细的范例如下。

**********************************

%写一维数据至数据文件

n=0:pi/10:4*pi;

y=sin(n);

fip=fopen('C:\binary3.bin','wb');

fwrite(fip,Pxx,'double');

fclose(fip);

%从数据文件读取一维数据

fip=fopen('C:\binary3.bin','rb');

[SIN,num]=fread(fip,[2,20],'double');%inf表示读取文件中的所有数据,[M,N]表示将读取的数据放置在M行N列中,N表示将读取的数据放置在1列中

fclose(fip);

**********************************

**********************************

**********************************

**********************************

3、matlab中读写二进制文件(.bit)。。。WXJ 1、在matlab中输入一下代码,然后产生代码binary1.bit

%clc

%clear all;

load my6.mat

fip=fopen('C:\binary1.bin','wb') % fid返回值大于0,表示打开成功

fwrite(fip,mm,'int16') %按照整形数据写入,即每个数据占16位。返回指针的值表示写入多少个数据

fclose(fip) %返回指针的值为0,则表示存储数据正常

fip=fopen('C:\binary1.bin','rb');

A=fread(fip,inf,'int16');%inf表示读取文件中的所有数据,[M,N]表示

%将读取的数据放置在M行N列中,N表示将读取的数据放置在1列中

fclose(fip)

%%下面为测试用代码

for i=1:400

B(i,1)=A(i,1);

End

B

注意:fwrite()函数把矩阵mm写入.bit文件时,从矩阵mm中按照列顺序(即自上而下从左到右顺序)写入.bit文件中(其中,.bit文件数据按照从左到右自上而下的顺序存储)。并且使用16位或别的超过8位数据时,在.bit文件中低八位写在高八位的前面。

注:查看.bit二进制文件使用的是EmEditer编辑器

如1:

如2:

其中-5使用补码形式表示的,FFFB的原码是1000_0000_0000_0101(即-5),

Matlab文件读取和写函数总结

Matlab读取文件函数总结 1.load读取方式 a.基本说明: 只能读取数值数据,不能读取含文本的数据;日期按数值读取。 b.调用方式: a=load(filename); c.有无分隔符限制: 无需输入分隔符,可自动识别空格、逗号、分号、制表符。 d.能否自定义读取范围: 不能。 e.适用文件类型: txt、csv。 2.importdata读取方式 a.基本说明: 可读取数值数据和含文本的数据,但是要求文本在数据的第一行或第一列。返回值分为数值部分(data)和文本部分(textdata) b.调用方式: a=importdata(filename,delm,nheaderlines); filename:文件名(如果文件在其他路径下,文件名前需加所在路径。) delm:分隔符 nheaderlines:从第nheaderlines+1行开始读取数值数据。 c.有无分隔符限制: 多列数据时需输入分隔符。若不输入分隔符,整行会被作为字符串放入一列。 d.能否自定义读取范围: 可从某一行开始读取数值数据。若使用importdata按钮,则可自定义读取范围和设置数据类型。 f.适用文件类型 txt、xls、xlsx、csv。 3.textscan读取方式 a.基本说明: 可对列按照自定义格式读取数据,必须输入每列的读取格式,可跳过某个列或几列。 按数值读取时,缺少值以NaN填补;按字符读取时,缺少值以空格填补。返回值按列放入元胞数组。 b.调用方式: c = textscan(fid,'format',n,'param',value) fid:文件指针。使用textscan函数时需先使用fopen函数打开数据文件,返回给fid 文件若不再使用,则需用fclose(fid)关闭文件。 ‘format’:定义每列的读取格式。例如%s表示按字符串读取、%d表示按整数读取、%D 按日期读取、%*表示跳过该列。level%u8表示将level1读取成1,去掉level。 ‘param’,value:这两个参数成对出现。例如’Delimiter’,’s’表示按分隔符为’,’进行读取。 c.有无分隔符限制 可自定义分隔符,不是必须的。 d.能否自定义读取范围:

MATLAB文件各种操作方法(全)

1.1 文件的打开和关闭 1.1.1 文件的打开 fopen ('filename', 'mode') mode格式有: ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。 ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。 ‘a’:在打开的文件末端添加数据。文件不存在则创建。 ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。 Fopen函数两个返回值: 1、一个是返回一个文件标识(file Identifier),它会作为参数被传入其他对文件进 行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。 (如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不 存在,或是用户无法打开此文件权限); 2、另一个返回值就是message,用于返回无法打开文件的原因; 例:1-1 [f,message]=fopen('fileexam1', 'r') if f==-1 disp(message); %显示错误信息 end (若文件fileexam1不存在,则显示如下信息。 Cannot open file.existence?permissions?memory?) 例:1-2 [f,message]=fopen('fileexam2', 'r'); if f==-1 disp (message); %显示错误信息 else disp(f); end 若文件fileexam2存在,则返回f值。 1.1.2文件的关闭 Fclose(f) F为打开文件的标志,若若fclose函数返回值为0,则表示成功关闭f标志的文件;若返回值为–1,则表示无法成功关闭该文件。(打开和关闭文件比较耗时,最好不要在循环体内使用文件) 若要一次关闭打开的所有文件,可以使用下面的命令:fclose all

matlab基本操作,读取csv文件

1、用csvread函数 注意:csvread函数只试用与用逗号分隔的纯数字文件 第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M 第二种:M = CSVREAD('FILENAME',R,C) ,读取csv文件中从第R-1行,第C-1列的数据开始的数据,这对带有头文件说明的csv文件(如示波器等采集的文件)的读取是很重要的。 第三种:M = CSVREAD('FILENAME',R,C,RNG),其中RNG = [R1 C1 R2 C2],读取左上角为索引为(R1,C1) ,右下角索引为(R2,C2)的矩阵中的数据。 注意:matlab认为CSV第1行第1列的单元格坐标为(0,0) 给定一个csvlist.csv文件,其内容如下 02, 04, 06, 08, 10, 12 03, 06, 09, 12, 15, 18 05, 10, 15, 20, 25, 30 07, 14, 21, 28, 35, 42 11, 22, 33, 44, 55, 66 例1.1读取整个文件 csvread('csvlist.csv') ans = 2 4 6 8 10 12 3 6 9 12 15 18 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.2读取第2行以下,第0列以右区域的数据 m = csvread('csvlist.dat', 2, 0) m = 5 10 15 20 25 30 7 14 21 28 35 42 11 22 33 44 55 66 例1.3读取第2行以下,第0列以右,第3行以上,第3列以左区域的数据 m = csvread('csvlist.dat', 2, 0, [2,0,3,3])

Matlab文件操作及读txt文件(fopen,fseek,fread,fclose)

Matlab文件操作及读txt文件(fopen,fseek,fread,fclose) 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代表数据精度,常用的数据

matlab文件操作及读txt文件(fopen,fseek,fread,fclose

matlab文件操作及读txt文件(fopen,fseek,fread,fclose) 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)

实验1 MATLAB使用方法和程序设计

实验1 MATLAB 使用方法和程序设计 一、实验目的 1、掌握MATLAB 软件使用的基本方法。 2、熟悉MATLAB 的数据表示、基本运算和程序控制语句。 3、熟悉MATLAB 绘图命令及基本绘图控制。 4、熟悉MATLAB 程序设计的基本方法。 二、实验内容 1.帮助命令 使用Help 命令,查找sqrt (开方)函数的使用方法。 2、矩阵运算 (1)矩阵乘法 已知A=[1 2;3 4];B=[5 5;7 8]; 求A^2*B 。 (2) 矩阵除法 已知A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3]; 求A\B,A/B 。 (3) 矩阵的转置及共轭转置 已知A=[5+i ,2-i ,1;6*i ,4,9-i];求A.’,A ’ 。 (4)使用冒号选出指定元素 已知A=[1 2 3 ; 4 5 6 ; 7 8 9]; 求A 中第3列前2个元素;A 中所有列第2,3行的元素。 (5)方括号[] 用magic 函数生成一个4阶魔术矩阵,删除该矩阵的第四列。 3、多项式 (1)求多项式p(x)=x 3-2x-4的根。 (2)求 f (x) = (cos x)2 的一次导数。 (3)求微分方程 的通解,并验证。 4、基本绘图命令 (1)绘制余弦曲线cost =y , ]2,0[π∈t 。 (2)在同一坐标系中绘制余弦曲线 0.25)-cos(t =y 和正弦曲线 )5.0sin(-=t y ,]2,0[π∈t (3)用plot3函数绘制三维螺线: 22x dy xy xe dx -+= sin()cos()x t y t z t =??=??=?( 0 < t < 20 )

MATLAB数据输入和输出 C语言转换

数据输入和输出 一、概述 MATLAB可读和写的文件格式: 文件格式文件内容扩展名读、写文件的函数MATLAB 保存的MA TLAB工作区.mat load,save 文本Text 任意textscan,textread 限定文本任意dlmread,dlmwrite 逗号分隔的数值.csv csvread,csvwrite XML XML-格式文本t .xml xmlread,xmlwrite Audio NeXT/SUN sound .au auread,auwrite Microsoft WA VE sound .mav mavread,mavwrite Movie Audio/video .avi aviread Scientific data Data in Common Data Format .cdf cdfread,cdfwrite Flexible Image Transport system data .fits fitsread Data in Hierarchical Data Format .hdf hdfread Spreadsheet Excel worksheet .xls xlsread,xlswrite Lotus 123 worksheet .wk1 wk1read,wk1write Graphics TIFF/PNG/HDF/BMP/JPEG image GIF/PCX/XWD/Cursor/Icon image .tiff .png .hdf .bmp .jpeg .gif .pcx .xwd .cur .ico imread,imwrite 二、使用输入向导(Import Wizard) 从菜单File->Import Data打开Import Wizard;或者命令窗口输入函数uiimport。 从剪贴板开始Import Wizard:Edit->Paste to workspace。 三、保存和加载MAT文件 MAT文件是双精度、二进制、MATLAB格式的文件。 输出到MA T文件:save filename [var1 var2 …] [str*];可以通过[var1 var2 …]选择性保存变量;也可以使用通配符“*”。 查看MAT文件中的变量:whos –file 文件名。 存放结构数组的某个字段:加上“-struct”选项。 在已经存在的MAT文件上添加数据:-append选项。 禁止压缩和Unicode字符编码文件,在save语句中加入“-v6”或者File->Preferences-> General->MA T-Files->MAT-File save options->Ensure backward compatibility(-v6)。save语句默认为数据压缩。 选择输出格式:“-ascii”、“-tabs”、“-double”“-v4”。 从MA T文件输入数据:load函数。 四、输入文本数据 各种输入函数的数据定界符: csvread 仅逗号dlmread 任何字符(可指定)fscanf 任何字符load 仅空格 textread 任何字符textscan 任何字符详见:doc 函数名。 textscan和textread性能比较:前者有更好的性能,特别是读大文件时;使用前者首先要

MATLAB数据输入和输出

数据输入和输出 一、概述 二、使用输入向导(Import Wizard) 从菜单File->Import Data打开Import Wizard;或者命令窗口输入函数uiimport。 从剪贴板开始Import Wizard:Edit->Paste to workspace。 三、保存和加载MAT文件 MA T文件是双精度、二进制、MA TLAB格式的文件。 输出到MA T文件:save filename [var1 var2 …] [str*];可以通过[var1 var2 …]选择性保存变量;也可以使用通配符“*”。 查看MA T文件中的变量:whos –file 文件名。 存放结构数组的某个字段:加上“-struct”选项。 在已经存在的MA T文件上添加数据:-append选项。 禁止压缩和Unicode字符编码文件,在save语句中加入“-v6”或者File->Preferences-> General->MA T-Files->MA T-File save options->Ensure backward compatibility(-v6)。save语句默认为数据压缩。 选择输出格式:“-ascii”、“-tabs”、“-double”“-v4”。 从MA T文件输入数据:load函数。 四、输入文本数据 各种输入函数的数据定界符: textscan和textread性能比较:前者有更好的性能,特别是读大文件时;使用前者首先要

打开文件,最后要关闭文件,可从文件任意位置读;前者只输出一个单元数组,不必给每个被读字段指定一个输出参数;前者有更多的数据转换选项和更多的用户设置选项。 五、输出文本数据 六、输入/输出标准图像文件 七、输入/输出音频和视频数据 八、输入/输出电子表数据 九、低级文件输入/输出函数

matlab 中如何读取文本文件

matlab 中如何读取文本文件 今天需要做个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.sodocs.net/doc/2417015340.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文件的导入导出

GprMaxV2.0中GprMax2D输入文件的命令(1/2) 原创 修改人 修改时间 版本 微风无尘 微风无尘 2012.3.9 V1.1 实验环境: 操作系统:Windows 7 软件版本:MATLAB 7.1 & GprMaxV2.0 参考文献: GprMaxV2.0软件manual文件夹下的UserGuideV2.pdf。 GprMaxV2.0下载地址:https://www.sodocs.net/doc/2417015340.html,/Download.html 说明:翻译得不好,还望大家见谅,因为我也是边看边译的。 3.1 GprMax2D命令的一般注意事项 为了描述GprMax2D/3D命令及其参数,我们作以下约定: f表示浮点数(如1.5或15e-1、1.5e1) i表示整数

c表示字符 str表示字符串 file表示输入文件名 所有空间距离的基本单位为米 所有时间的基本单位为秒 所有频率参数的基本单位是Hz 3.2 GprMax2D 2.0版本共有32条命令:#title: #domain: #dx_dy: #time_step_stability_factor: #time_window: #messages: #number_of_media: #nips_number: #media_file: #geometry_file: #medium: #abc_type:

#abc_order: #abc_stability_factors: #abc_optimization_angles: #abc_mixing_parameters: #pml_layers: #box: #cylinder: #x_segment: #y_segment: #triangle: #analysis: #end_analysis: #tx: #rx: #rx_box: #snapshot: #tx_steps: #rx_steps: #line_source: #excitation_file:

matlab基本使用方法

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:>> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数 (Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 > 小整理:MATLAB常用的三角函数 sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数

Matlab的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,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 f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

matlab文件输入输出

MATLAB 学习指南 第五章.文件输入/输出 5.1. 二进制文件的保存/读取与操作系统的调用当使用 MATLAB 时,或者当运行一个 m-文件或者交互地进行计算时,存在一个主存结构,MATLAB 使用主存结构记录所有变量的值。此内存空间以二进制的格式被写入一个文件,可用来存储计算结果以便日后使用。当不得不中断一个MATLAB 程序时,这种格式通常是很有用的。下列指令说明如何使用这一存储选项来建立一个二进制文件。 首先,我们来定义一些我们想保存的变量。 “save”指令将内存空间中的数据保存到已命名的二进制文件中。 “load”指令将存储在已命名的二进制文件中的数据载入内存。 如果我们想要去掉这个文件,我们可以使用“delete”指令。 在上面的指令中,我已经使用了途径名来指定目录。使用指令“pwd”,我们能看到当前的默认目录。

使用“cd”指令可以转换到另一目录。 我们也可以使用“save”指令,仅将所选择的变量保存到一个二进制文件中。 5.2. 向 ASCII 文件输入数据/从 ASCII 文件输出数据 首先,我们来定义一些我们想保存的变量。

现在,我们将 Afull 的内容写入一个我们能够读取的文件。 一种选择是使用 ascii 格式的“save”指令,这样就能够以 ascii 格式写入文件。 我们也可以用这种方式载入一个文件。ASCII 文件 filename.dat 的内容被存储在 MATLAB 变量文件名中。这是将数据从实验或其它程序输入到 MATLAB 中的一种好方法。 如果我们增加选项-double,数据就能以双倍的位数输出,从而使精确度提高。 我们可将这一指令用于多个变量,但是可以看到内存空间并未增加。 使用与 C 中很相似的指令,MATLAB 也允许更复杂的格式化的文件数据的输入/输出。 首先,我们列举所有目录中的文件。 Is 接下来,我们建立一个输出文件并使用具有语句结构的“fopen”指令为此文件分配一个标记。FID=fopen(文件名,容许) 通常,容许为下列中的一个: ‘r’=只读 ‘w’=写(如果需要的话建立输出文件) ‘a’=添加(如果需要的话建立输出文件) ‘r’=读和写(不建立输出文件) ‘w’=为读和写建立输出文件 ‘a+’读和添加(如果需要的话建立输出文件) 现在,使用“fprintf”指令,我们将 b 向量作为列向量输入到输出文件中。在FORMAT 字符串中,‘n’代表回车,10.5f 表示输出的是浮点小数,小数点后有 5 位数,总字段宽度为 10。

matlab文件操作及读txt文件

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') %以二进制数据写入方式打开文件

1、使用Matlab产生二进制文件.bin

Matlab中如何实现二进制文件的读写 说明:matlab产生的是.bin二进制文件。.bit是FPGA的比特流文件 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函数相同。 %写一维数据至数据文件 n=0:pi/10:4*pi; y=sin(n); fip=fopen('C:\binary3.bin','wb'); fwrite(fip,Pxx,'double'); fclose(fip); %从数据文件读取一维数据 fip=fopen('C:\binary3.bin','rb');

matlab文本文件读写测试

MATLAB 读取数据的函数的速度测试及函数易用性分析 1.问题描述: 对于外部采集的数据常常用Excel 软件格式存取,Excel 的好处是对数据修改方便,看起来更直观。但当对Excel 软件的格式的文件如xlsx 格式进行存取时,存在速度较慢的问题。本文基于MATLAB 软件测试了几种文件读取函数对相同数据但文件格式不一定相同文件的读取速度,并对造成函数速度差异的原因进行简要的分析。2.测试的函数 2.1 函数的结构分析 图1 函数调用关系(上层为被调函数,下层为主调函数,测试的函数用红色斜体表示出来)3. 函数读取速度测试3.1 测试数据的构建 由于xlsread,csvread 读取数据时要求必须可以转化为浮点型构建下面的数据

3.2 测试方法 用每个函数读取数据到矩阵中,并重复N 次并对读取时间求和,然后取均值。程序见附录A 。对于xlsread 函数,它有两种读取Excel 文件的方式,即调用Excel 程序的COM 接口的方式和通过解析xml 文件的方式,在程序中分别以xlsread 和xlsreadB 两个名称来区分测试结果。同时由于import 也支持文本和xlsx 文件格式因而同时也分别做了测试,并在程序中以importdata 和importdataX 来区分对文本文件的操作和对xlsx 文件的操作。3.3测试结果表3 测试结果函数名称xlsread xlsreadB load csvread importdata importdataX textscan 时间0.3821810.1172650.0006780.0015320.033278 3.6991510.000353时间比1082 332 2 4 94 10479 1 第二行为精确结果单位为秒,最后一行表示对最后的textscan 测试结果的倍数,数据进行了近似 4. 测试结果分析和易用性分析 从上面的测试结果可以明显看出xlsread 的速度很慢无论是采用COM 接口还是直接读取xml 文件的方法,而load,csvread,textscan 的速度相近,csvread 比textscan 慢一些,而从2.1的函数结构可以看出csvread 需要调用textscan 造成了csvread 较慢的速度。都比较快,而importdata 对文本文件的操作速度则较前面三个函数慢了很多。 从易用性看,由于Excel 表示直观,修改方便,一个文件可以存储多个表格,可以比较好的实现数据存储修改和数据处理相分离。Excel 对非xlsx 类型的文本文件的支持情况将表4。load 和textscan 都是比较底层的函数。load 只支持mat 和文本文件,而textscan 则只支持文本文件,同 时textscan 还要自己分析数据结构并写出解析字符串,在易用性上不高。由于Excel 支持.csv 格 式的文件,因而.csv 进行数据存储修改然后用csvread 读取也是一个可行的方案,同时csv 也支持表格的选取,但.csv 有个缺点是不能支持多个表格。综合以上分析对各个函数的易用性和速度总结在表4中。 表4 Excel 对文本格式文件的编辑支持 文件类型.txt .csv .prn 支持程度 可保存,可读取,但有 数据格式限制可存,可读取,数据格式无限制 可存,不可读取 表5 各个函数的综合评价函数名称xlsread xlsreadB load csvread importdata textscan 速度125505易用性 5 5 3 45 2

MATLAB 基本操作和简单语句输入

实验一基本操作和简单语句输入 一、实验目的和要求 1、熟悉MATLAB的命令窗口 2、掌握MATLAB的一些基本操作,能够进行一般的数值计算 3、实现语句的重调和修改 二、实验内容和步骤 1、启动MATLAB 2、观察MATLAB窗口的组成部分 (1)了解菜单栏各菜单项的功能,用书变打开MA TLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义 (2)用鼠标指向常用工具栏的每个工具按钮,了解各个工具按钮的含义 3、命令窗口的打开和关闭 (1)查看窗口的打开和关闭 (2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果 (3)利用MATLAB中编辑命令行事常用的按键功能,调出上一语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。 >> a=3;b=4;y=a*b+a/b, y = 12.7500 >> a=3,b=4,y=a*b+a/b, a = 3 b = 4 y = 12.7500 (4)关闭命令窗口

(5)打开命令窗口 4、使用MATLAB帮助 熟悉MATLAB的帮助系统,通过帮助系统了解有关内容 5、在命令窗口中输入demo,将出现MA TLAB的演示窗,通过演示窗,对MATLAB的功能进一步的浏览。 三、试验环境 计算机MA TLAB软件 四、练习 1、调出MATLAB\stateflow的演示实例

2、计算y=x^3+(x-0.98)^2/(x+1.25)^3-5(x+1/x),x=2,x=3时的值 3、计算cos60?-√(9-√2) 4、已知a=3,A=4,b=a^2,B=b^2-1,c=a+A-2B,C=a+B+2c,求C

Matlab数据文件的读写

Matlab数据文件的读写 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。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中的指定变量。 ● save('-regexp', expr1, expr2, ...):通过正则表达式指定待保存的变量需满足的条件。 ● save('..., 'format'),指定保存文件的格式,格式可以为MAT 文件、ASCII文件等。 13.1.2 数据导入

相关主题