MATLAB部分函数说明

简介: 提示:本文主要记录了在开发过程中用到的一些函数以及它的常用语法,最后附上了一个简单的应用实例,主要目的是整理记录,不全面的地方还请各位大佬批评指正!

提示:本文主要记录了在开发过程中用到的一些函数以及它的常用语法,主要目的是整理记录,不全面的地方还请各位大佬批评指正!

@TOC


1、xlsread 读取Excel电子表格文件

  • 语法
  • num = xlsread(filename)
    读取名为 filename 的 Microsoft Excel电子表格工作表中的第一个工作表,并在一个矩阵中返回数值数据。
  • num = xlsread(filename,sheet)
    读取指定的工作表。
  • num = xlsread(filename,xlRange)
    从工作簿的第一个工作表的指定范围内读取数据。使用 Excel 范围语法,例如 'A1:C3'。
  • num = xlsread(filename,sheet,xlRange)
    读取指定的工作表和范围。
    filename可以直接右键文件复制文件地址

    2、textscan 从文本文件或字符串读取格式化数据

  • 语法
  • C = textscan(fileID,formatSpec)
    将已打开的文本文件中的数据读取到元胞数组 C。该文本文件由文件标识符 fileID 指示。使用 fopen 可打开文件并获取 fileID 值。完成文件读取后,请调用 fclose(fileID) 来关闭文件。
    textscan 函数在整个文件中按 formatSpec 重复扫描数据,直至 formatSpec 找不到匹配的数据时才停止。
    目前本人在开发过程中只用到了这一个语法,具体使用案例在下面有介绍。具体formatSpec有哪些,具体用什么表示,需要自行去MATLAB查看

    3、dir 列出文件夹内容

  • 语法
  • listing = dir(name)
    返回 name 的属性。
    具体返回文件夹下的文件名、所属文件夹、创建日期以及字节数等信息

    4、fullfile 从各个部分构建完整文件名

  • 语法
  • f = fullfile(filepart1,...,filepartN)
    根据指定的文件夹和文件名构建完整的文件设定。在 Windows® 平台上,文件分隔符为反斜杠 (\)。
    本人是配合dir函数使用该函数,具体使用案例在下面有介绍

    5、fopen 打开文件

  • 语法
  • fileID = fopen(filename)
    打开文件 filename 以便以二进制读取形式进行访问,并返回等于或大于 3 的整数文件标识符。
    该文件标识fileID可以在textscan函数中使用,具体见下文使用案例

    6、fclose 关闭一个或所有打开的文件

  • 语法
  • fclose(fileID)
    关闭打开的文件。
  • fclose('all')
    关闭所有打开的文件。

    7、findpeaks 寻找局部最大值

  • 语法
  • pks = findpeaks(data)
    寻找数据data中的最大值并返回。寻找最大值的方法是通过对比该值前后两个点来判断的。
    无法找出位于端点处的最大值
  • [pks,locs] = findpeaks(data)
    返回数据data中的最大值以及最大值索引。

    8、diff 差分和近似导数

  • 语法
  • Y = diff(X)
    计算沿大小不等于 1 的第一个数组维度的 X 相邻元素之间的差分:
  • 如果 X 是长度为 m 的向量,则 Y = diff(X) 返回长度为 m-1 的向量。Y 的元素是 X 相邻元素之间的差分。
  • 如果 X 是不为空的非向量 p×m 矩阵,则 Y = diff(X) 返回大小为 (p-1)×m 的矩阵,其元素是 X 的行之间的差分。

    9、find 查找非零元素的索引和值

  • 语法
  • k = find(X)
    返回一个包含数组 X 中每个非零元素的线性索引值。
  • 如果 X 为向量,则 find 返回方向与 X 相同的向量。
  • 如果 X 为多维数组,则 find 返回由结果的线性索引组成的列向量。
    使用时也可以利用该函数寻找数据中满足条件的值的索引值,例如find(x > 100)

    10、sort 对数组元素进行排序

  • 语法
  • B = sort(A)
    按升序对 A 的元素进行排序。
  • 如果 A 是向量,则 sort(A) 对向量元素进行排序。
  • 如果 A 是矩阵,则 sort(A) 会将 A 的列视为向量并对每列进行排序。
  • B = sort(A,dim)
    对A的每一列或每一行元素进行排序。
  • dim = 1,对A的每一列元素进行排序。
  • dim = 2,对A的每一行元素进行排序。
  • B = sort(A,dim,direction)
    按照指定方式对A的每一行或每一列元素进行排序。'ascend' 表示升序(默认值),'descend' 表示降序。dim = 1,对A的每一列元素进行排序,dim = 2,对A的每一行元素进行排序。
    如果不设置升序降序,默认为升序,默认dim = 1

    11、fft 快速傅里叶变换

  • 语法
  • Y = fft(X)
    用快速傅里叶变换 (FFT) 算法计算 X 的离散傅里叶变换 (DFT)。
  • 如果 X 是向量,则 fft(X) 返回该向量的傅里叶变换。
  • 如果 X 是矩阵,则 fft(X) 将 X 的各列视为向量,并返回每列的傅里叶变换。
  • Y = fft(X,n)
    返回 n 点 DFT。如果未指定任何值,则 Y 的大小与 X 相同。
  • 如果 X 是向量且 X 的长度小于 n,则为 X 补上尾零以达到长度 n。
  • 如果 X 是向量且 X 的长度大于 n,则对 X 进行截断以达到长度 n。
  • 如果 X 是矩阵,则每列的处理与在向量情况下相同。

    12、mod 除后的余数(取模运算)

  • 语法
  • b = mod(a,m)
    返回 a 除以 m 后的余数,其中 a 是被除数,m 是除数。
    mod(a,0) = a
    可以利用该函数判断数值的奇偶性,如果mod(a,2) = 0,则说明a为偶数,如果mod(a,2) = 1,则说明a是奇数

    13、length 最大数组维度的长度

  • 语法
  • L = length(X)
    返回 X 中最大数组维度的长度。对于向量,长度仅仅是元素数量。对于具有更多维度的数据,长度为 max(size(X))。空数组的长度为零。

    14、hex2dec 将十六进制整数的文本表示转换为双精度值

  • 语法
  • D = hex2dec(hexStr)
    将由 hexStr 表示的十六进制整数转换为等效的十进制数,并将其以双精度浮点值形式返回。

    15、cell 元胞数组

  • 语法
  • C = cell(n)
    返回由空矩阵构成的 n×n 元胞数组。
    个人理解,元胞数组每一位都是一个独立的存储单元,可以存储不同类型的数据
    访问元胞数组的内容需要用{},例如C = a_cell{1,1},将元胞数组a_cell中第一行第一列的元素赋给C,花括号中第一个数代表行,第二个数代表列

    16、subplot 在各个分块位置创建坐标区

  • 语法
  • subplot(m,n,p)
    将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。MATLAB按行号对子图位置进行编号。第一个子图是第一行的第一列,第二个子图是第一行的第二列,依此类推。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区。
    m为行,n为列

    17、plot 绘制二维图像

  • 语法
  • plot(X,Y)
    创建 Y 中数据对 X 中对应值的二维线图。
  • plot(X,Y,LineSpec)
    设置线型、标记符号和颜色。
    如果没有通过程序设定每条线的颜色,默认顺序是蓝色、红色、橙色、紫色、绿色,再往下本人没再使用

    18、title、xlabel、ylabel函数

    分别为图像、x轴和y轴添加文字描述。

    19、legend 在坐标区上添加图例

    20、grid on和hold on语句

  • grid on:绘图时显示网格。
  • hold on:添加新绘图时保留当前绘图

    21、提取矩阵某一列或某一行

  • A = B(1,:),表示提取B的第一行。
  • A = B(:,1),表示提取B的第一列。
    使用时不要漏掉,

    22、具体使用案例1:从txt文件中按格式提取数据

    该程序为将指定文件夹下的所有text中的数据读取出来并按文件存储到元胞数组中,text中的数据以空格为间隔
    ```c
    file = dir("D:\test"); % 扫描该文件夹中的所有子文件
    % 注意:前两个是无意义的
    subfile_Num=length(file); % 获取子文件总数(前两个无效)

for i = 3 : subfile_Num
%*数据读取**%
subfile = fullfile(file(i).folder,file(i).name); % 拼出第一个子文件路径
subfileID = fopen(subfile); % 打开第一个子文件
dataraw_cell(i-2) = textscan(subfileID,'%s'); % 以空格为标识提取数据
fclose(subfileID); % 关闭文件
end
```

相关文章
|
2月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
46 0
matlab--------矩阵重构,重新排列的相关函数说明
|
5月前
|
数据采集 机器学习/深度学习 算法
Matlab函数——mapminmax
Matlab函数——mapminmax
|
7月前
|
存储
matlab求解方程和多元函数方程组
matlab求解方程和多元函数方程组
193 0
|
7月前
|
存储 C++
C++-十进制转二进制(matlab-dec2bin函数)
C++-十进制转二进制(matlab-dec2bin函数)
|
1月前
雷达模糊函数及MATLAB仿真(三)
雷达模糊函数及MATLAB仿真
18 0
|
1月前
雷达模糊函数及MATLAB仿真(一)
雷达模糊函数及MATLAB仿真
26 0
|
2月前
|
算法
【数学建模竞赛】Matlab逻辑规则,结构基础及函数
【数学建模竞赛】Matlab逻辑规则,结构基础及函数
27 0
|
3月前
|
机器学习/深度学习 算法
基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数
基于自适应支持向量机的matlab建模与仿真,不使用matlab的SVM工具箱函数
|
4月前
|
机器学习/深度学习 存储
【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值
【Matlab智能算法】极限学习机-遗传算法(ELM-GA)函数极值寻优——非线性函数求极值
|
4月前
|
机器学习/深度学习 存储
【Matlab智能算法】Elman神经网络-遗传算法(Elman-GA)函数极值寻优——非线性函数求极值
【Matlab智能算法】Elman神经网络-遗传算法(Elman-GA)函数极值寻优——非线性函数求极值

热门文章

最新文章