0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使matlab在内部运行周期函数并绘制图形

454398 来源:网络整理 作者:网络整理 2019-11-21 11:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:启动Matlab

第一步是启动并运行matlab,以便我们可以开始使用它。初次启动matlab时,它应类似于以下屏幕截图。第一步是为matlab分配一个工作目录。这是程序将从中提取所有文件的位置,也是应保存所有matlab工作的位置。

我建议在一个您会记住它的位置创建一个新文件夹,并为它命名,以便您识别。创建新文件夹后,单击屏幕右上方的“ 。..”,如第二张图片中突出显示的那样。如第三张图片所示,这将弹出一个浏览框。找到您在计算机上创建的新文件夹,然后选择它。对于此示例,该文件名为“ 370”,位于桌面上。

步骤2:创建M文件

现在我们需要做的是创建一个新的M文件。 M文件的功能与直接在matlab中键入代码完全一样,但是您可以保存和修改代码,然后重复运行。将代码直接输入到matlab中时,您分别键入每一行代码。在M文件中,您可以编写整个代码,然后立即运行它。

要打开新的M文件,请单击文件。将光标放在“新建”上,然后单击“空白M文件”,如第一张图片所示。打开的内容应该看起来像第二张图片。

由于此代码可以重复运行,因此最好在每次运行之前关闭所有内容并清除所有变量。这是通过两行代码完成的:

关闭所有

清除所有

如第三张图所示,确保清除并关闭了所有内容。

步骤3:创建时间向量

我们要做的第一件事要做的是在matlab中创建函数图。第一步是创建独立变量。在这种情况下,我们称其为“ t”。我们将用于创建此变量的方法是创建向量。向量基本上是一系列数字。例如,1,2,3,4将是一个短向量。创建此向量的代码是:

t = 0.1:0.01:10;

第一个数字0.1表示起点。第二个数字0.01是步长。第三个数字10表示终点。因此,此向量一直对应于0.1,0.11,0.12 。..一直到10。

要查看创建向量是否起作用,请单击第二张图中突出显示的绿色运行按钮。这将运行程序。要查看我们的矢量,请转到主Matlab窗口。单击桌面,然后将鼠标悬停在桌面布局上,然后单击第三张图片中概述的默认。现在您的屏幕应该看起来像第四张图片。在右侧,您将看到我们新创建的变量t。双击它,就像在第五张图片中一样,您将看到创建的一系列数字。

步骤4:运行和绘制函数图

现在,我们将绘制在matlab中创建的函数的图形。第一步是创建函数。这就像写出所需的数学函数一样简单。第一幅图中显示了一个示例。用于此功能的代码为:

y = sin(t)+ 4 * cos(5. * t)。^ 2;

在余弦中乘法之前的时间,并且在余弦的平方告诉Matlab之前,仅对时间向量的有价物执行这些功能,而不是将时间向量视为矩阵并尝试对其进行矩阵函数。

下一步是创建图本身。这是使用第二幅图中所示的代码完成的。 plot命令中变量的顺序非常重要,因此请确保按照下面的设置来设置代码。

h = axes(‘fontsize’,14);

plot(t,y,‘linewidth,2)

xlabel(’Time(s)‘) ylabel(’Y Value‘)

Title(’Y Value vs Time‘)

网格上

最后,只需再次单击绿色的运行箭头,图形便会像第三张图片一样弹出。

步骤5:从Excel中提取数据

我们现在将创建与之前相同的图形,但是要从中导入函数数据一个Excel电子表格。第一张图片是将要使用的excel电子表格的屏幕截图。它与在上一步中在matlab中创建的数据点完全相同,只是在excel中创建的。

首先,我们可以从上一步中删除创建时间向量的代码和函数的代码。现在,您的代码应该看起来像第二张图片。

插入代码,如第三张图片的顶部红色框所示。这是读取excel文件的代码。 “ A”是指将包括电子表格中所有数字的矩阵,而“ B”包括电子表格中所有的文本。 t和y变量从第一个和第二个列中提取,如代码所示。

[A,B] = xlsread(’excelexample.xlsx‘);

t = A(:,1 );

y = A(:,2);

还可以修改图形代码,如第三张图片的下部红色框所示。实际上,这将从电子表格中提取图表标题和轴标签,并将它们放在图形上。

xlabel(B(2))

ylabel(B(3))

Title(B( 1))

要做的最后一件事是再次运行该程序,您将看到弹出与最终图片相同的图形。

步骤6:创建频谱图

在这一步中,我们将使用matlab通过读取wav声音文件来创建频谱图。频谱图有时称为“ 2.5D图形”,因为它使用二维图形,并附加了颜色以显示振幅。颜色提供了比简单的2D图形更多的细节,但没有提供3D图形的细节,因此提供了术语“ 2.5D”。matlab的specgram函数从wav文件中获取一组数据点并执行傅立叶对这些点进行变换以确定信号中存在的频率。对于这个可指导的人员,了解傅里叶变换的工作原理,知道频谱图将显示存在的频率以及它们相对于时间的强度并不重要。该函数在X轴上绘制时间,在Y轴上绘制频率。每个频率的强度通过颜色显示。

在这种情况下,wav文件是敲击一块金属的声音记录,然后将金属的振动记录为声音。使用该频谱图,我们可以轻松确定金属片的共振频率,因为该共振频率将随时间而持久。

要执行此任务,请首先让matlab使用以下代码读取wav文件:

[x,fs] = wavread(’flex4.wav‘);

在这种情况下,flex4.wav是我们wav文件的标题,变量x是数据点在文件中,fs表示采样频率。要执行频谱图,只需键入以下代码:

specgram [x(:。1),256,fs];

256对应于分析数据时执行FFT的频率。 Matlab基本上是将声音文件切成块,并对每个块进行FFT。256告诉它每个块应该有多大。细节并不重要,对于大多数应用程序来说,256是一个安全值。现在,如果您运行代码,您将看到一个弹出的图,如第二张图所示。由此很容易看出,谐振频率对应于该图右下角的红色峰值。这是相对于时间而言最长的峰。
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • matlab
    +关注

    关注

    189

    文章

    3028

    浏览量

    239167
  • 软件
    +关注

    关注

    69

    文章

    5350

    浏览量

    91860
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    JCMsuite应用:空心光子晶体光纤

    复杂的几何图形和模拟运行完成。 JCMsuite的Matlab®接口允许使用所谓的模板文件生成这样复杂的文件。因此,可以将JCMsuite语句和Matlab语句进行混合,例如,计算孔隙
    发表于 04-15 08:09

    可以NAFE13388B4内部将 AICOM 与 GND 连接起来吗?

    关于框图,AICOM 进入内部多路复用器,所以我假设我可以有一些寄存器配置以内部连接到 GND,我检查了规格,对于 AIxN 或 AIxP,我可以使用“HV 负输入引脚选择:0h = 内部 GND”。 那么我可以
    发表于 04-06 06:27

    RUI Builder 图形化UI设计工具

    RUI Builder 图形化UI设计工具 该软件为图形化UI设计软件,搭配瑞佑图形处理器,轻松设计UI界面!主要特色功能: 在PC上直接设计界面,再生成UI渲染源码(.c),程序中直接引用即可
    发表于 12-12 20:14

    CAD如何绘制螺旋线

    在机械设计、建筑建模和工业制图中,螺旋线是一种常见且实用的几何元素,广泛应用于弹簧、螺纹、螺旋楼梯等结构的绘制。掌握CAD软件中螺旋线的绘制方法,能够显著提高设计效率和建模精度。本文将详细介绍创建
    的头像 发表于 12-02 17:35 1080次阅读
    CAD如何<b class='flag-5'>绘制</b>螺旋线

    Labview 解析dxf文件显示<一>

    的文本格式,可以参考下面地址里面的介绍,介绍了CAD里面遇到的各种图形单元的文本编辑格式,我们以此来解析出图形参数,用该图像参数,咱们再将图形绘制到XY Graph 中,当然也可以
    发表于 11-14 22:45

    Python数据可视化基础:使用Matplotlib绘制图

    全球电商API接口
    的头像 发表于 09-09 11:12 535次阅读
    Python数据可视化基础:使用Matplotlib<b class='flag-5'>绘制图</b>表

    【M-K1HSE开发板免费体验】相关源码分析与实现2-全部案例运行一般思路

    时针、分针、秒针的新角度,调用 paintPin() 分别绘制它们。 这个“清空->重绘”的过程每秒重复一次,就形成了表针在动的视觉效果。 表针绘制 (paintPin 函数
    发表于 09-03 21:46

    请问STM32的内部Flash操作是不是优先级最高?

    STM32的内部Flash操作是不是优先级最高?目前在内部Flash的单独一页存储了数据,发现在进行页擦除的时候正常工作的定时器中断无法进入了
    发表于 08-13 07:03

    GTM 时钟 CLS0_CLK 可以内部路由到 TIM 吗?

    GTM 时钟 CLS0_CLK 能否在内部路由至 TIM?如何实现?
    发表于 08-01 07:49

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数

    【HarmonyOS 5】鸿蒙页面和组件生命周期函数 ##鸿蒙开发能力 ##HarmonyOS SDK应用服务##鸿蒙金融类应用 (金融理财# 一、生命周期阶段: 创建阶段 build: 构建组件
    的头像 发表于 07-11 18:24 1177次阅读

    基于恩智浦i.MX RT芯片内部RAM运行LVGL工程

    随着越来越多用户选择i.MX RT系列芯片制作产品,产品的需求以及芯片的用法也越来越多。本文将介绍在i.MX RT平台中,如何创建LVGL项目并将其运行在内部SRAM而非SDRAM上。本文档包含4个
    的头像 发表于 07-01 09:33 2704次阅读
    基于恩智浦i.MX RT芯片<b class='flag-5'>内部</b>RAM<b class='flag-5'>运行</b>LVGL工程

    OptiSystem应用:用MATLAB组件实现振幅调制

    )AmplitudeModulatorSampled函数 b)AmplitudeModulatorParameterized函数 c)AmplitudeModulatorNoise函数 图8.
    发表于 06-13 08:46

    请问STM32N6 cubeAI部署时用的内存是在内部还是外部?

    STM32N6用cube AI部署模型的时候,用n6-allmems-O3之后analyse得到了RAM和FLASH的内存占用,这里展示的内存占用都是指的是芯片内部的存储器吗
    发表于 06-09 06:19

    请问STM32N6 cubeAI部署时用的内存是在内部还是外部?

    STM32N6用cube AI部署模型的时候,用n6-allmems-O3之后analyse得到了RAM和FLASH的内存占用,这里展示的内存占用都是指的是芯片内部的存储器吗
    发表于 06-03 12:13

    请问STM32N6 cubeAI部署时用的内存是在内部还是外部?

    STM32N6用cube AI部署模型的时候,用n6-allmems-O3之后analyse得到了RAM和FLASH的内存占用,这里展示的内存占用都是指的是芯片内部的存储器吗
    发表于 04-28 08:25