怎样用matlab读取csv文件

 我来答
微微一笑咧大嘴
2016-10-20 · TA获得超过125个赞
知道答主
回答量:209
采纳率:0%
帮助的人:85万
展开全部
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就是文本
漫漫星座馆e9
推荐于2017-12-15 · TA获得超过1550个赞
知道大有可为答主
回答量:1835
采纳率:0%
帮助的人:869万
展开全部
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);
这样数据就处理完了,然后就是
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式