Matlab中的数据处理
Matlab中的各种工具箱最主要是以矩阵或数组作为处理对象,因此首先必须将原始数据以矩阵形式加载到Matlab的工作空间,然后对矩阵进行相关操作。
第一部分 数据输入
在Matlab中创建一个矩阵可以有如下几种途径:
一、在Matlab命令窗口直接输入矩阵
例如:
>> A=[1 3 0;2 4 3;-3 4 9]
说明:矩阵或数组的标识符都是[ ],矩阵同一行之间的元素用空格或逗号分隔,不同行之间用分号或回车符分隔。
二、利用workspace(工作空间)创建或修改矩阵
在工作空间中新建一个空矩阵,然后双击该矩阵名,可以像Office中的Excel电子表格一样进行输入和编辑数据,也可以双击已经存在于工作空间中的变量名,对其进行修改编辑。
例如:>> B=[];
三、采用复制、粘贴的方式构造矩阵
对于存在于外部文件中的比较规范的数据(排列成矩阵形式),可以先将数据块复制到剪贴板上,然后在Matlab中粘贴到相应变量。举例:1、将data01.xls中的数据粘贴到Matlab工作空间中的变量C中。
2、将中的数据输入到Matlab工作空间中的变量D中。
四、使用输入函数
对于大量的数据,或者格式更加复杂的数据文件,以上方法就不太方便,此时针对不同格式的数据文件,可以采用相应的输入函数导入数据。
1、load函数
装载Matlab格式的数据文件(.mat)和文本格式的定界符为空格的矩形文件。
例:载入文件“”中的数据
2、dlmread函数
将带有定界字符的ASCII数字数据读入矩阵
常用格式:
M=dlmread(‘filename’) %Matlab 从文件格式中推断定界符,逗号是默认定界符。
M=dlmread(‘filename’,delimiter),指定定界符。
M=dlmread(‘filename’,delimiter,R,C),从矩形数据的左上角R行、C列的位置开始读入。
注意:矩形数据的开始位置是0行0列。
M=dlmread(‘filename’,delimiter,range),读取用range指定范围的数据,range=[R1 C1 R2 C2],R1C1是左上角的行列号,R2C2是右下角的行列号;range也可以用如下表示法:rang
e=’A1..B7’。
例:对于中的数据
>> dlmread('d:\') %读全部数据
>> dlmread('d:\','',2,3) %读取3行4列以后的数据,两个没有间隔的单引号表示用空格(不限定重复次数)作为定界符。
>> dlmread('d:\','','c1..g4') %读取C1..G4matlab拟合数据范围内的数据
>> dlmread('d:\','-') %其他定界符
3、textread函数
输入含有字母和数字的混合数据
常用格式:
[A,B,C,...] = textread('filename','format') %按format 指定的格式读取filename文件中的全部
内容
[A,B,C,...] = textread('filename','format',N) %只重复N次format 格式
按照format 对应的格式,分别输出数据到变量A、B、C…。
Format可包含的参数:
格式 作用 输出
%d 带符号整数 双精度数组
%u 无符号整数 双精度数组
%f 浮点值 双精度数组
%s 用空格或分隔符分隔的字符串 字符串数组
%q 读取双引号中的字符串,忽略双引号 字符串数组
%c 读取字符,包括空格 字符串数组
例:有数据文本文件“”,读取其中的内容
>> [names, types, x, y,z, answer] = textread('d:/','%s%s%f%d%f%s')
对于只包含纯数字数据的文本文件,textread函数当然也能读取。
>> A = textread('d:/')
与textread函数类似的函数还有textscan,但功能更丰富,使用更灵活,可参考相关帮助。
4、xlsread函数
从Excel电子表格读取矩阵数据
常用格式:
num = xlsread(filename) %读取filename文件中的数据,忽略标题行或列的文本,而当不在标题行或列的单元格是空的,或者包含文本时,xlsread将在相应位置填上NaN;
num = xlsread(filename, -1) %将在Excel窗口打开filename文件,可以交互选择工作区中的
数据文件;
num = xlsread(filename, sheet) %选择工作表sheet,默认为第一个工作表;
num = xlsread(filename, range) %指定工作表中的数据范围,如’A4:B5’
num = xlsread(filename, sheet, range)
例:将电子表格data01.xls中的数据载入到Matlab工作区
>> xlsread('d:\data\data01')
>> xlsread('d:\data\data01',-1)
>> xlsread('d:\data\data01','B3:E30')
5、使用输入向导
输入向导(Import Wizard)是把数据输入到Matlab最简单的方法。无须知道被输入数据的格式,只需指定数据文件,向导会自动处理。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论