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