Matlab读取csv文件csvread函数的使用

文章目录(展开/隐藏→)

展开
3.7
(3)

今天来说下如何使用Matlab读取excel的csv文件,这个有什么用呢?想必理科生大概率都会用到示波器,去抓取一些电信号或者光信号,我们从示波器导出来的就是csv文件或者图片文件,而图片文件我们无法处理。所以,一般导出csv文件,可以用Matlab去处理数据。

Matlab读取csv文件csvread函数的使用

Matlab帮助文件

Matlab自带了一个函数csvread来读取csv文件,关于这个函数的用法,可以在Matlab命令行窗口输入如下命令获取该函数的帮助信息:

help csvread

得到结果如下:

>> help csvread
 csvread Read a comma separated value file.
    M = csvread('FILENAME') reads a comma separated value formatted file
    FILENAME.  The result is returned in M.  The file can only contain
    numeric values.
 
    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.
 
    M = csvread('FILENAME',R,C,RNG) reads only the range specified
    by RNG = [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'.
 
    csvread fills empty delimited fields with zero.  Data files where
    the lines end with a comma will produce a result with an extra last 
    column filled with zeros.

帮助文件解释

下面我们来解释一下:

帮助文件一共给了我们三种使用该函数的方式,该函数只可以读取数值。

  • 方法一:M = csvread(‘FILENAME’),读取逗号分隔值格式的文件名。结果直接返回给M。因此,文件只能包含数值。
  • 方法二:M = csvread(‘FILENAME’,R,C),从逗号分隔值格式的文件中读取数据(从R行和C列开始)。R和C从零开始,因此R=0和C=0指定文件中的第一个值。即csv文件中的第一行为该函数的第0行,csv文件中的第一列为该函数的第0列。
  • 方法三:M = csvread(‘FILENAME’,R,C,RNG),只读取由RNG=[R1 C1 R2 C2]指定的范围,其中(R1,C1)是要读取的数据的左上角,R2,C2)是右下角。也可以使用电子表格表示法指定RNG,如RNG=’A1..B7’。

大致上,就是方法一读取整个文件,必须保证该文件只有数值内容,一般用不到这种方法,毕竟从示波器等导出的文件中,一定会有描述内容,即各种单位等头文件,都是英文。

方法二,即从R行开始,C列开始,一直到结束的这个范围内的数字,全部存入M,结果是一个矩阵,这种方式比较常用。

方法三,即从R1行C1列到R2行C2列之间读取数据。

实例演示

下面,我们举个例子吧。

假设我们的csv中的内容如下:假设我们文件名称为TEK001.csv

name30.36
other50.40
80.62
100.75
120.89

Matlab读取csv文件csvread函数的使用,数据举例

  • 方法一无效,因为文件中包含非数字文本;
  • 方法二:M = csvread(‘TEK001.csv’,0,1)表示从第0行第1列开始读取数据,即从数字3到数字9全部读取;M = csvread(‘TEK001.csv’,1,2)表示从第1行第3列开始读取数据,即从数字0.4到数字9全部读取。这里,我们只要知道Matalb里的第几行第几列到文件中即表示第几+1行第几+1列即可。
  • 方法三:M = csvread(‘TEK001.csv’,0,1,[0 1 1 2])表示读取第0行第1列到第1行第2列之间的数字,即3到0.4之间的数字;需要注意的是,数字起始点0,1前后必须一致,即方法三中的RC必须与R1C1一样。

相比来说,我还是喜欢方法二。

然后,接下来读取完数据,就是数据处理了。主要是将M中的值赋值给新元素,用于画图或处理,如下

M = csvread('TEK001.csv', 1,3,[1 3 2000 4]);
x=M(:,1);
y=M(:,2);
[i,k]=size(M);
for j=1:i
    if y(j)<2
        y(j)=0;
    else y(j)=5;
    end
end
plot(x,y)

表示从1行第3列到第2000行第4列直接的数字存入M,对应csv文件中的第2行第4列到第2001行第5列之间的数字,M得到一个20000行2列的矩阵。

第二行代码表示把矩阵中的第一列赋值给x。

第三行代码表示矩阵中的第二列赋值给y。

第四行代码表示读取举证的行数与列数

第五行到第 十行,表示把y值中小于2的值等于0,其他保持不变

第十一行为以x为横坐标,y为纵坐标作图,意思性放个结果吧,如下图:

Matlab读取csv文件csvread函数的使用

共计3人评分,平均3.7

到目前为止还没有投票~

很抱歉,这篇文章对您没有用!

让我们改善这篇文章!

告诉我们我们如何改善这篇文章?

原创文章,作者:古哥,转载需经过作者授权同意,并附上原文链接:https://iymark.com/program/matlab-csv-csvread.html

(3)
上一篇 2020年09月14日 22:11
下一篇 2020年09月14日 22:29

相关推荐

  • Matlab表达式三维绘图函数fplot3

    文章目录(展开/隐藏→) 展开常见用法语法说明三维参数化线条绘制参数范围指定线条曲线标记多线条绘制线条曲线的修改坐标轴刻度修改 4.6 (5) 今天,带来Matlab中,绘制三维表…

    2020年10月27日
    0117
  • Matlab使用image函数将数据转换为图片

    文章目录(展开/隐藏→) 展开常见用法语法说明显示矩阵数据的图像控制图像位置显示三维真彩色数组的图像创建后修改图像读取并显示 JPEG 图像文件向三维视图中的坐标区添加图像 4 (…

    2021年03月23日
    0596
  • Matlab三维切平面等高线图contourslice

    文章目录(展开/隐藏→) 展开常见用法语法说明绘制单个切片的等高线在切片平面中绘制等高线指定等高线层级并添加颜色栏沿曲面切片绘制等高线 4.5 (4) 今天,带来Matlab中使用…

    2021年01月18日
    0167
  • Matlab几类常用函数用法介绍

    文章目录(展开/隐藏→) 展开常用常量处理函数初始化函数三角函数反三角函数双曲函数指数、开方、绝对值函数对数函数四舍五入最大最小值及查找函数 4.3 (3) 给各位分享几类在Mat…

    2020年10月09日
    079
  • Matlab二维区域填充绘图函数area

    文章目录(展开/隐藏→) 展开常见用法语法说明创建区域图调整区域图的基值指定区域图的颜色和线型使用颜色图颜色的区域图 3.3 (4) 今天,给各位系统的介绍下 Matlab 中使用…

    2020年10月23日
    0278
  • Matlab快速入门之帮助和文档

    4.3 (3) Matlab内置大量函数,那么我们该如何使用这些函数呢。有时候,我们不知道该如何使用函数,比如函数的输入参数和输出参数是怎么样的。这个问题,其实Matlab早就想到…

    2022年09月11日
    0129
  • Matlab使用fsurf根据已知函数绘制曲面图

    文章目录(展开/隐藏→) 展开常见用法语法说明表达式的三维曲面图指定曲面图区间并绘制分段表达式参数化曲面图添加标题和轴标签以及格式化刻度指定曲面属性创建后修改曲面显示曲面图下的等高…

    2021年02月09日
    0201
  • Matlab逻辑运算实例用法详解

    4 (4) 逻辑运算符,一般包括逻辑与、逻辑或、逻辑非、逻辑异或;Matlab逻辑运算中,也大致包括这些逻辑运算。接下来,我们分别介绍下几种常见的逻辑运算。 逻辑与:两个操作数同时…

    2020年10月25日
    075
  • Matlab双对数刻度绘图函数loglog

    文章目录(展开/隐藏→) 展开常见用法语法说明绘制一个线条绘制多个线条指定轴标签和刻度值将点绘制为不带线的标记添加图例仅指定 y 坐标指定目标坐标区绘图后更改线…

    2020年10月24日
    0356
  • Matlab快速入门之多变量数据

    4.3 (3) 今天,带来Matlab中关于多变量统计数据的分析方法,我们一般使用列向分析方法,每一列代表一个边栏,对应的观测值放于每一行上。 MATLAB® 对多变量统…

    2022年10月08日
    040

发表回复

登录后才能评论
本站APP
微信小程序