MATLAB入门
开始使用MATLAB®通过演示一个例子。这个视频向你展示了基础知识,让你了解MATLAB是怎样工作的。
视频介绍了如何计算太阳能电池板的能源生产。您将看到如何使用MATLAB桌面环境的各种元素(包括命令窗口、工作区浏览器和变量编辑器)导入数据、定义变量和执行计算。使用预先构建的图可视化数据,然后自定义这些可视化。您还将学习如何使用文档查找内置函数、关于其语法的指导以及演示如何使用这些函数的代码示例。
最后,您将看到如何使用Live Editor创建脚本,将代码、输出和格式化文本合并到可执行的笔记本中,以便与他人共享。
MATLAB®是用于各种技术计算(如数据分析、仿真和算法开发)的环境。本视频将向您展示基础知识,并让您了解在MATLAB中工作是什么样子的。一定要坚持到最后找出下一步要去哪里深入学习MATLAB。那么,让我们开始吧。
这是位于马萨诸塞州纳蒂克的MathWorks总部的一栋建筑。看到那些漂亮的太阳能电池板了吗?让我们看看它们是否正常工作。有一个理论模型告诉我们产量应该是多少。让我们实现它,并将其与面板记录的实际数据进行比较。
首先,我们需要一些常数:纳蒂克的纬度和“太阳赤纬”,这只是一个角度,告诉我们在某一天太阳在天空中的高度。这些都是我们可以参考的价值。让我们使用6月21日的值,这是一年中最长的一天,这样我们就能得到最大的产量。我们的计算被输入到命令窗口中并立即执行,我们可以在工作区中看到我们刚刚创建的变量。
我们刚刚输入的角度是用角度表示的,但如果我们要用它们做数学运算,最好把它们转换成弧度。我们可以进行标准的数学计算,并将结果分配给一个新变量,甚至覆盖相同的变量。这里我们使用pi的内置值手动进行转换。但我们也可以使用MATLAB内置函数中的一个。
接下来,我们想要计算一整天的产量,所以我们需要一个时间范围。我们画一个向量来表示一天中的时间。我们将从日出后稍晚的五点半开始,以15分钟的增量进行,直到日落前的八点。
我们的公式使用了当地太阳时间。这与时钟上的时间并不完全相同,因为有时区和夏令时等惯例。我们取乘以的向量,平移。
现在我们准备好计算太阳和电池板之间角度的影响。这个方程很长,但是MATLAB代码看起来就像数学一样,所以它很容易实现。同样,这部分公式假设的是角度而不是弧度,所以我们可以转换或者。我们可以查看文档以获得更多关于三角函数的信息,在那里我们发现有一个cosd函数,它接受以度而不是弧度为单位的输入。MATLAB有各种各样的功能,从三角函数到离群点检测到曲线拟合到图论到信号滤波。所以检查文档总是好的。
现在我们知道了cosd,我们可以完成我们的公式了。我们在行尾添加一个分号,这样就不会显示结果。如果我们想查看这些值,我们总是可以在工作空间中双击sunangle变量:它会打开变量编辑器。但是用图形的方式来看可能会更有用。我们可以选择变量t和sunangle,然后转到工具条中的plot选项卡。选择一个区域,它就在那里。现在我们也有了代码,所以我们知道下次如何通过编程实现。由太阳角度引起的辐射强度应在太阳升起和落下时为0,并在当地中午达到峰值。当太阳直射在电池板上时,我们应该得到100%的强度。但在马萨诸塞州,即使在六月,太阳也从不会直射头顶,所以这幅图看起来是正确的。
好了,这就是太阳的角度。为了完成这个模型,我们需要计算大气的影响。光需要通过的空气越多,到达电池板的能量就越少。让我们输入这个经验方程和....哎呀,出问题了。幸运的是,这条有用的错误消息让我们知道我们犯了一个常见的错误。MATLAB可以很自然地处理向量和矩阵,包括矩阵数学。默认情况下,MATLAB认为这个克拉是一个矩阵指数。但这不是我们的意思——我们想要数组中每个元素的指数,所以让我们使用向上箭头来收回该命令,然后按照错误消息所说的做,将指数操作更改为。carat。
最后,我们只需要将两个强度因子相乘(我们从之前的错误中吸取了教训,所以这次我们将使用点星号),并乘以面板的大小,就可以得到理论总能量产出。检查一下图——看起来合理,这就是我们从太阳能电池板获得的理论上的最大发电量。这就是我们在6月21日应该看到的景象,如果是一个完美的晴天的话。接下来,我们需要获得实际数据并比较两者。
但是在这样做之前,将我们所做的保存在脚本中可能是个好主意。让我们返回命令历史记录,选择用于到达这里的命令,右键单击并选择Create Live Script。这将打开带有包含所选命令的脚本的编辑器。现在我们可以编辑命令,而且因为我们有一个实时脚本,所以我们可以将其分成多个部分,添加文本、注释、标题、图像、方程式等,从而使其更有用。现在我们可以运行部分代码或整个脚本,输出将出现在代码旁边的输出面板中。我们可以使用交互工具来清理我们的情节。同样,我们得到了代码,可以将它添加到脚本中。
现在来看数据。在当前文件夹浏览器中,我们可以看到我们有一个电子表格,其中包含2018年6月的记录生产。让我们导入该数据。导入工具查看文件的内容。它将第一列识别为时间戳,因此希望以适合日期和时间的数据类型导入这些列。它还希望将所有数据一起导入为一个表,这是为这种电子表格数据设计的数据类型,其中我们有对几个不同变量的一系列观察。让我们以这种形式导入数据,但可能用一个稍微简单的变量名。现在我们有了这个变量,产量,它是一个包含了三个变量的2880个观察值的表。这三个变量是时间和两个不同的太阳能电池板阵列产生的电力。
在导入一些数据之后,一个良好的第一步通常是绘制它,以了解您正在处理的是什么。那么,我们用图函数。要获取表中的各个变量,我们使用点表示法——表名、点和变量名。注意建议完成的有用的编程辅助工具。运行脚本的这部分以查看结果。因为时间戳是作为datetime变量导入的,所以我们的图的x轴被标记为日期,因此我们可以看到6月份的30个每日峰值。我们可以使用互动工具来探索剧情。我们可以看到有一些阴天,不幸的是,包括21日。但是在这里你可以看到26号是完美的。
那么我们如何得到某一天的产量呢?有几种不同的方法可以做到这一点,但如果我们感兴趣的是按天或时间切片数据,那么将数据从一个连续的时间序列重新排列到一个时间和天数的网格可能会很有用。这种方法对于每15分钟统一记录一次的数据是有意义的,因此6月的2880次测量对应于这个月30天中的每一天的96次测量——每小时4次。让我们使用重塑函数将长向量变为96 × 30矩阵。
现在可以很容易地提取任意一天的数据。为了得到第21列的数据,我们进入矩阵,取第21列的所有行。这些数据是全天记录的,所以我们需要制作一个从午夜到午夜的时间向量,现在我们可以绘制它。让我们添加一个样式规范来显示实际的数据点。
现在我们可以把理论和数据都放到图函数中这样我们就可以把它们放在一起看了。不出所料,21日的数据不太好。但是记住,26号看起来很好,几天后太阳的角度不会有太大的改变,所以让我们看看这一天。值得庆幸的是,更改到不同的日期并重新运行该部分很容易。
现在我们可以看到,数据与模型一致,直到逆变器可以处理的阈值。对于我们的系统,面板可以产生高达270千瓦的功率,但逆变器有207千瓦的限制。我们可以回过头来,用最小值函数把这个极限行为加到模型中。重新运行脚本…现在我们看到,数据非常符合理论模型。
我们在这里做了一些伟大的工作。所以,我们应该分享它。如果我们只是想与某人分享我们的发现,我们可以将脚本的副本保存为静态文档,比如PDF。但是我们也可以将这个脚本(连同数据文件)提供给任何使用MATLAB的人,他们可以自己运行它并复制我们的结果。他们可以编辑脚本,研究数据,细化模型,并执行新的分析。
你也可以。你可以下载这些文件。
现在你已经有了在MATLAB中工作的感觉,是时候正确地学习它了。没有比使用MATLAB更好的学习方法了。所以,转到MATLAB Onramp,它将教给你交互式的MATLAB基础知识-你将在我们的在线训练环境中实际输入MATLAB命令并得到即时反馈。它是免费的,应该只需要几个小时。你可以随时离开,稍后再来。欢迎来到MATLAB !
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。