Matlab批量赋值

Matlab批量赋值
Matlab批量赋值

MATLAB技巧之五:MATLAB中一条语句给多个变量赋值

以前一直想,要是能够在一个语句给多个变量赋值是多么美好的事情呀。比如对x,y和z都赋值100

x=y=z=100

对a,b和c分别赋值1,2和3

a,b,c=1,2,3

这样的语句在python是合法的,但是在MATLAB的中是不合法的,那到底MATLAB 中是否有其它解决方案呢。呵呵偷偷告诉您,这个是有滴。

MATLAB中提供了deal函数进行多变量赋值处理,且用处很大哦。该函数最基本语法为

[Y1, Y2, Y3, ...] = deal(X),即Y1=Y2=Y3=X

[Y1, Y2, Y3, ...] = deal(X1, X2, X3, ...),即Y1=X1,Y2=X2,Y3=X3,此时左边和右边的逗号个数必须相等

上面只是函数的基本用法,有些人觉得也没什么呀,哈哈其实您错了,这个函数的用处大着呢。我需要从细心看问题,才能看到本质。

在讲解之前先说两个小知识点:

(1)如果x={'mat','lab','sky'},那么x{:}结果完全等效于:x{1},x{2},x{3},注意三个数据之间有逗号分隔开

(2)如果x(1).url='mat',x(2).url='lab',x(3).url='sky',也就是说x是一个结构体数组,那么x.url将完全等效于:x(1).url,x(2).url,x(3),注意有逗号分隔

例子1:对x,y,z同时初始化为100

1.>> [x,y,z]=deal(100)

2.

3.x =

4.

5. 100

6.

7.

8.y =

9.

10. 100

11.

12.

13.z =

14.

15. 100

复制代码

例子2:对a,b,c分别初始化为mat,lab,sky

1.>> [a,b,c]=deal('mat','lab','sky')

2.

3. a =

4.

5.mat

6.

7.

8. b =

9.

https://www.360docs.net/doc/c814088024.html,b

11.

12.

13.c =

14.

15.sky

复制代码

例子3:将Cell数组x={1 2 3}中的1,2,3分别赋值给a,b,c

1.>> x={1 2 3};

2.>> [a,b,c]=deal(x{:}) % 注意[a,b,c]=deal({1 2 3})是错误的

3.

4. a =

5.

6. 1

7.

8.

9. b =

10.

11. 2

12.

13.

14.c =

15.

16. 3

复制代码

例子4:将cell数组x={1 2 3}分别付给结构数组y的data字段

1.>> x={1 2 3};

2.>> [y(1:3).data]=deal(x{:})

3.

4.y =

5.

6.1x3 struct array with fields:

7. data

复制代码

例子5:将结构体数组A的age字段全部赋值为0

1.>> [A(1:100).age]=deal(0)

2.

3. A =

4.

5.1x100 struct array with fields:

6. age

复制代码

讲了那么多例子大家应该明白的差不多了,并且应该能够举一反三了吧。如果还是不行,请发帖提问,我会解答的。另外还有一个好消息,如果您的MATLAB版本是7.0以上,那么有时deal函数可以直接省略,请往下看!

其实MATLAB中只要等号两边的表达式中,逗号的个数相等就可以直接省略deal 进行赋值。

1.>> x={10 20};

2.>> [a,b]=x{:}

3.

4. a =

5.

6. 10

7.

8.

9. b =

10.

11. 20

12.

13.>> web(1).url='matlabsky';web(2).url='mathsky';

14.>> [a,b]=web.url

15.

16.a =

17.

18.matlabsky

19.

20.

21.b =

22.

23.mathsky

复制代码

再次重申下,不管deal函数还是省略deal函数的多变量赋值

(1)等号右边的逗号表达式不能手工敲入,只能通过x{:}和y.me等类似形式的等效逗号表达式

(2)左边的逗号表达式没有限制,可以使用[a,b]的手动逗号形式或者x{:}的等效形式

(3)左边逗号表达式中必须包含方括号,例如a,b,c=A{:}形式是错误的

(4)当左边和右边的逗号个数相等时,在MATLAB7.0之后,deal函数可以省略

实验八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

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.360docs.net/doc/c814088024.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数据文件的读写

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

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的各种数据读取(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学习系列-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-005 7.9428e-005 2.6297e-005 8.3821e-006 5.3834e-005 9.6190e-005 8.4436e-006 3.1122e-005 6.5408e-005 2.2898e-005 9.9613e-005 4.6342e-007 3.9978e-005 5.2853e-005 6.8921e-005 9.1334e-005 7.8176e-006 7.7491e-005 2.5987e-005 1.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.8687 0.7943 0.2630 0.0838 0.5383 0.9619 0.0844 0.3112 0.6541 0.2290 0.9961 0.0046 0.3998 0.5285 0.6892 0.9133 0.0782 0.7749 0.2599

MATLAB保存数据方法

如果你想保存为.mat的格式,就是用save函数 如果想保存成excel格式,就是用xlswrite函数 如果想保存成text格式,就是用textwrite函数 其他格式还可以使用fwrite函数 在循环当中用eval(['save date',num2str(i)'])完成存储,根据i值存入不同的文件Matlab保存for循环下的数据 (2015-01-12 05:34:23) 转载▼ for i=1:10 a=i%%加分号后有误,WHY?? eval(['save data',num2str(i)]) end 使用eval 若i不为整数,改换i即可 上述为保存至分开的mat数据当中 如果要一次保存至一个mat当中,可以直接使用save save ('filename','data1','data2','-ascii','-append') save ('filename.mat','data1','data2','-append') save(['file_',num2str(i),'.mat'],myvar) for i=1:10 %%% succeed a=i; F12=['FILE_',num2str(i),'.dat']; save(F12 ,'a'); end Value of fmt File Format

比如:A=[1 2 3 4 5 6] fid=fopen('D1.txt','wt'); fprintf(fid,'%d %d %d'\n',A'); fclose(fid); 一:存txt文件,用dlmwrite()dlmwrite 将一个矩阵写到由分隔符分割的文件中。 在保存整数到文件时使用save存为ascii文件时,常常是文件里都是实型格式的数据(有小数点,和后面很多的0,看着很不方便)。于是要保存此类数据时,我们可以使用此dlmwrite 命令。 使用方法: dlmwrite('filename', M) 使用默认分隔符“,”将矩阵M写入文本文件filename中; dlmwrite('filename', M, 'D') 使用分隔符D分割数据,“\t”表示tab分割,“,”为默认分割符; dlmwrite('filename', M, 'D', R, C) 从矩阵M的第R行、第C列开始,作为要写矩阵块的左上角,将数据用D分割写入文件。其他用法有: dlmwrite('filename', M, 'attrib1', value1, 'attrib2', value2, ...) dlmwrite('filename', M, '-append') dlmwrite('filename', M, '-append', attribute-value list) 例如: a = [1 2 3; 4 5 6; 7 8 9]; dlmwrite('test.txt', a);

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值。

如何将Excel中的数据导入MATLAB并在MATLAB中画出图像

1. 如何将Excel 中的数据在MATLAB 界面下显示出来: 首先Excel 必须是OffiCe 的(WPS 的不可以,MATLAB 不能识别), 在MATLAB 中使用命令XlSread 读取Excel 中的数据到MATLAB 里, 如下所 [nu mber,txt,raw]=xlsread(' noise.xlsx'),此时读取的文件须 在MATLAB 默认路径下,命令具体用法及参数含义可直接用 help 命 令在MATLAB 中查找。读取的数据界面如下: 2.如何将Excel 中的数据导入 MATLAB 并在MATLAB 中画出图像? 首先Excel 必须是OffiCe 的(WPS 的不可以,MATLAB 不能识别), file-import Data-在工作路径下找到需要导入的文件 (图3)-点击打 开 >> InILLInb?r j txt j raw]≡xlsread b Γnoise ) number = 0.24?fl 23. 6000 0.24S0 23- 0000 0.25GO 30. 4000 0* 2520 25.2000 0. 2E40 13. OOOO 0.2560 19. 2000 0.2580 21.2000 0.2600 17. 2000 0.2620 16.8000 0. 2640 17.6000 0. 2660 13. 6000 0. 2660 11.2000 0. 2700 13.6000 EaW [0.2460] [23,6000] [0.2480] 〔 28] [0.2500] 130.4000] [0.25ΞOI I25.ΞOOO] [0.Ξ540] [ IS] [0.Ξ560] [19.3000] [0.25SO] [2L 2000] [0.2600] [17.2000] [0. 2β20] [16.S000] [0. 2640] [17. 6000] [0. 2660] [13. 6000] [0.2680] [1L 2000] [0.2700] [13. 6000] [0.27ΞOI [13.Ξ000] [0.2740] [ 10] [0.Ξ760] [12.4000]

matlab外部数据导入详解

在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍MATLAB中文件的读写和数据的导入导出。 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的S ave 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 数据导入 MATLAB中导入数据通常由函数load实现,该函数的用法如下: ● load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存在,则返回error。 ● load filename:将filename中的全部变量导入到工作区中。 ● load filename X Y Z ...:将filename中的变量X、Y、Z等导入到工作区中,如果是MAT文件,在指定变量时可以使用通配符“*”。 ● load filename -regexp expr1 expr2 ...:通过正则表达式指定需要导入的变量。 ● load -ascii filename:无论输入文件名是否包含有扩展名,将其以ASCII

matlab中的数据导入和导出

matlab中的数据导入和导出 Matlab提供了从磁盘文件或剪贴簿转载数据至工作区(数据导入)和将工作区变量存入磁盘文件(数据导出)的多种途径。 最简单的办法是使用界面导入向导,打开文件菜单中的导入数据而后按提示操作。Matlab支持的主要数据文件类型和对应函数如下: 导入文本文件 文本文件需要具备统一的行列模式,使用分隔符作为数据项间隔,这些分隔符包括空格、逗号、tab、分号或其它。数据文件可能附带标题行和行列头标签。 数值数据 对于数值数据可以直接使用load函数装载,例如my_data.txt中数据如下: 1 2 3 4 5 6 7 8 9 10 命令A = load('my_data.txt')装载该文本文件数据。 如果数值数据使用其它分隔符,可以使用dlmread读入,假设my_data.txt中数据如下: 7.2;8.5;6.2;6.6 5.4;9.2;8.1;7.2 命令A = dlmread('my_data.txt', ';')读入该数据。 包含行列标签的数值数据 例如:

Grade1 Grade2 Grade3 78.8 55.9 45.9 99.5 66.8 78.0 89.5 77.0 56.7 fid = 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 –ASCII dlmwrite函数 dlmwrite('my_data.out',A, ';') MS-Excel电子表格文件 xlsinfo获得文件信息 使用命令[type, sheets] = xlsfinfo(filename)返回文件类型type和工作表信息。如:[type, sheets] = xlsfinfo('tempdata.xls') Xlswrite导出数据 d = {'Time', 'Temp'; 12 98; 13 99; 14 97} 命令xlswrite('tempdata.xls', d, 'Temperatures', 'E1')将单元格数组d的数据写出至tempdata.xls文件,新建工作表'Temperatures',从该工作表的E1单元格开始写入。 Xlsread读入数据 ndata = xlsread('tempdata.xls', 'Temperatures') [ndata, headertext] = xlsread('tempdata.xls', 'Temperatures'

Matlab数据导入方法

Matlab数据导入方法 在编写一个程序时,经常需要从外部读入数据,或者将程序运行的结果保存为文件。MATLAB使用多种格式打开和保存数据。本章将要介绍 MATLAB中文件的读写和数据的导入导出。 13.1 数据基本操作 本节介绍基本的数据操作,包括工作区的保存、导入和文件打开。 13.1.1 文件的存储 MATLAB支持工作区的保存。用户可以将工作区或工作区中的变量以文件的形式保存,以备在需要时再次导入。保存工作区可以通过菜单进行,也可以通过命令窗口进行。 1. 保存整个工作区 选择File菜单中的Save Workspace As…命令,或者单击工作区浏览器工具栏中的Save,可以将工作区中的变量保存为MAT文件。 2. 保存工作区中的变量 在工作区浏览器中,右击需要保存的变量名,选择Save A s…,将该变量保存为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, ...):通过正则表达式指定待保存的变量需满足的条件。 ● s ave('..., 'format'),指定保存文件的格式,格式可以为MAT文件、ASCII文件等。 13.1.2 数据导入 MATLAB中导入数据通常由函数load实现,该函数的用法如下: ● load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存在,则返回error。

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 数据导入 MATLAB中导入数据通常由函数load实现,该函数的用法如下: ● load:如果matlab.mat文件存在,导入matlab.mat中的所有变量,如果不存

相关文档
最新文档