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

电子说

1.3w人已加入

描述

步骤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 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分