MATLAB部分函数说明

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

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中的数据以空格为间隔
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
相关文章
|
8月前
|
索引
matlab--------矩阵重构,重新排列的相关函数说明
matlab--------矩阵重构,重新排列的相关函数说明
216 0
matlab--------矩阵重构,重新排列的相关函数说明
matlab定点化_(fi函数)
matlab定点化_(fi函数)
|
2天前
|
算法 Serverless
基于魏格纳函数和焦散线方法的自加速光束matlab模拟与仿真
本项目基于魏格纳函数和焦散线方法,使用MATLAB 2022A模拟自加速光束。通过魏格纳函数法生成多种自加速光束,并设计相应方法,展示仿真结果。核心程序包括相位和幅度的计算、光场分布及拟合分析,实现对光束传播特性的精确控制。应用领域涵盖光学成像、光操控和光束聚焦等。 关键步骤: 1. 利用魏格纳函数计算光场分布。 2. 模拟并展示自加速光束的相位和幅度图像。 3. 通过拟合分析,验证光束加速特性。 该算法原理基于魏格纳函数描述光场分布,结合数值模拟技术,实现对光束形状和传播特性的精确控制。通过调整光束相位分布,可改变其传播特性,如聚焦或加速。
|
3月前
|
算法 数据可视化 数据处理
MATLAB内置函数
【10月更文挑战第6天】本文详细介绍了MATLAB的内置函数和自定义函数,涵盖数学计算、矩阵操作、图形绘制等方面。通过具体代码示例,展示了如何使用内置函数和创建自定义函数,以及它们在性能、灵活性和可读性上的优劣。同时,文章还讨论了函数文件与脚本文件的区别,匿名函数和函数句柄的高级应用,帮助读者更好地利用MATLAB解决复杂问题。
82 1
|
3月前
|
存储 机器学习/深度学习 数据可视化
MATLAB脚本与函数
【10月更文挑战第4天】本文介绍了MATLAB脚本与函数的基本概念及编写方法,涵盖脚本和函数的创建、运行及优缺点,通过示例帮助初学者快速上手。同时,文章还涉及数据类型、控制结构、数据可视化、文件操作、错误处理等内容,提供了丰富的示例和学习资源,助力初学者逐步掌握MATLAB编程。
143 3
|
5月前
|
Python
【Python】实现MATLAB中计算两个矩形相交面积的rectint函数
Python中实现MATLAB中rectint函数的方法,该函数用于计算两个矩形相交区域的面积,并通过定义Rectangle类和calc_area函数展示了如何计算两个矩形的交集面积。
73 1
|
6月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于负相关误差函数的4集成BP神经网络matlab建模与仿真
**算法预览:** 图像显示无水印的2022a版MATLAB运行结果 **软件版本:** MATLAB 2022a **核心代码片段:** 省略展示 **理论概述:** NCL集成BP网络利用负相关提升泛化,结合多个弱模型减少错误关联。通过λ参数控制模型间负相关程度,λ>0增强集成效果,提高预测准确性和系统稳健性。
|
7月前
|
算法 数据可视化 数据挖掘
MATLAB中常用的数学函数及其应用示例
MATLAB中常用的数学函数及其应用示例
|
8月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
8月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章

下一篇
开通oss服务