怎样用matlab读取csv文件
展开全部
CSVREAD
第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,
这时要求整个csv文件内容全部为用逗号隔开的数字,不能用其他字符。
第二种: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)的矩阵中的数据。
附注:
一:对于空置的单元,CSVREAD对数据自动置零。
二:根据MATLAB R2010a的帮助,CSVREAD在未来版本中将会被取
代 ( CSVREAD will be removed in a future release. )。
csv就是文本
第一种:M = CSVREAD('FILENAME') ,直接读取csv文件的数据,并返回给M,
这时要求整个csv文件内容全部为用逗号隔开的数字,不能用其他字符。
第二种: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)的矩阵中的数据。
附注:
一:对于空置的单元,CSVREAD对数据自动置零。
二:根据MATLAB R2010a的帮助,CSVREAD在未来版本中将会被取
代 ( CSVREAD will be removed in a future release. )。
csv就是文本
展开全部
TEK示波器读取的波形图数据存为.csv,虽然用Excel可以直接打开,但是在Matlab里面读取的时候,
csvread和xlsread用法还是有些不同的
%Get data from a specified region in a sheet other than the
first sheet:
Numeric=xlsread(‘c:\matlab\work\myspreadsheet’,’sheet2’,’a2:j5’);
M=CSVREAD(‘FILENAME’,R,C) reads data from the comma separated
value formatted file starting at row R and column C. R and C are
zero based so that R=0 and C=0 specifies the first value in the
file.(如果数据行从15行开始,则R=14;从第一列开始则C=0)
M=CSVREAD(‘FILENAME’,R,C,RNG) reads only the range specified by
RND=[R1 C1 R2 C2] where (R1,C1)is the upper-left corner of the data
to be read and (R2,C2) is the lower-right corner. RNG can also be
specified using spreadsheet notation as in
RNG=’A1..B7’;想要确定添加个范围,比如A15:B10014,则RND=[14 0 10013 1]
因为从示波器出来的图需要一些额外的数据处理才行,所以要进行一些运算;这些在得到了返回的M后就是一个数组,直接用就OK比如%找到第2列里面的最大值or最小值
X=max(M(:,2)) or X=max(M(:,2))
%返回最大值所在列的编号
Num=find(M(:,2)==max(M(:,2)))
%得到对应行第1列的值
Y=M(find(M(:,2)==max(M(:,2))),1)
M(:,1)=M(:,1)*1E+08*12.5;
%min=min(M(:,2));
%max=max(M(:,2));
M(:,2)=(M(:,2)-min(M(:,2)))/(max(M(:,2))-min(M(:,2)));
M(:,1)=M(:,1)-M(find(M(:,2)==max(M(:,2))),1);
这样数据就处理完了,然后就是
csvread和xlsread用法还是有些不同的
%Get data from a specified region in a sheet other than the
first sheet:
Numeric=xlsread(‘c:\matlab\work\myspreadsheet’,’sheet2’,’a2:j5’);
M=CSVREAD(‘FILENAME’,R,C) reads data from the comma separated
value formatted file starting at row R and column C. R and C are
zero based so that R=0 and C=0 specifies the first value in the
file.(如果数据行从15行开始,则R=14;从第一列开始则C=0)
M=CSVREAD(‘FILENAME’,R,C,RNG) reads only the range specified by
RND=[R1 C1 R2 C2] where (R1,C1)is the upper-left corner of the data
to be read and (R2,C2) is the lower-right corner. RNG can also be
specified using spreadsheet notation as in
RNG=’A1..B7’;想要确定添加个范围,比如A15:B10014,则RND=[14 0 10013 1]
因为从示波器出来的图需要一些额外的数据处理才行,所以要进行一些运算;这些在得到了返回的M后就是一个数组,直接用就OK比如%找到第2列里面的最大值or最小值
X=max(M(:,2)) or X=max(M(:,2))
%返回最大值所在列的编号
Num=find(M(:,2)==max(M(:,2)))
%得到对应行第1列的值
Y=M(find(M(:,2)==max(M(:,2))),1)
M(:,1)=M(:,1)*1E+08*12.5;
%min=min(M(:,2));
%max=max(M(:,2));
M(:,2)=(M(:,2)-min(M(:,2)))/(max(M(:,2))-min(M(:,2)));
M(:,1)=M(:,1)-M(find(M(:,2)==max(M(:,2))),1);
这样数据就处理完了,然后就是
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询