艾琳·伯恩,MathWorks
开始使用MATLAB®通过经由示例行走。该视频显示你的基础知识,和它给你的东西在MATLAB工作就像是一个想法。
视频走过了如何计算太阳能电池板能量生产。您将看到如何导入数据,定义变量,并执行使用MATLAB桌面环境的各种元素,包括命令窗口,工作区浏览器,和变量编辑计算。使用可视化预建地块的数据,然后自定义的可视化。您还将学习如何使用文档,找到上演示了如何使用功能的语法和代码示例的内置功能,指导。
最后,你将看到如何使用Live编辑器创建,在可与他人分享的可执行的笔记本相结合的代码,输出和格式化文本脚本。
MATLAB®是一个用于各种技术计算的环境,如数据分析、模拟和算法开发。本视频将向您展示基本知识,并让您了解在MATLAB中工作是什么样子的。一定要坚持到最后,找出下一步要去的地方,深入学习MATLAB。所以,让我们开始吧。
这是MathWorks公司总部设在纳提克,马萨诸塞州的建筑之一。查看所有那些漂亮的太阳能电池板?好吧,让我们来看看它们是否正常工作。还有,上面写着生产应该是什么样的理论模型。让我们实现这一点,它从面板记录的实际数据进行比较。
首先,我们需要一些常量:纳蒂克的纬度和“太阳赤纬”,也就是告诉我们某一天太阳在天空中的高度的一个角度。这些是我们可以参考的价值。让我们使用6月21日的值,这是一年中最长的一天,这样我们就可以得到最大的生产量。我们的计算在命令窗口中输入并立即执行,我们可以看到我们刚刚在工作区中创建的变量。
我们刚刚输入的角度为度,但如果我们打算做数学与他们,这可能是更好的将其转换为弧度。我们可以做标准的数学计算和结果分配给一个新的变量,甚至覆盖相同的变量。这里,我们使用PI的内置值做手工转换。但是,我们也可以使用内置的MATLAB功能的一处。
接下来,我们要计算的生产在整个一天,所以我们需要的时间范围内。让我们做一个矢量来表示一天中的时间。我们会在日出后在5:30开始,一点点,去以15分钟为增量,直到8:00,日落前。
我们的公式使用当地太阳时。这是不完全一样的时钟的时间,因为像时区和夏令公约。因此,我们将利用我们的时间矢量和应用的转变。
现在,我们已经准备好来计算太阳和面板之间的角度的效果。这个公式很长,但在MATLAB代码看起来就像数学,所以它是很容易实现。Again, this part of the formula is assuming degrees instead of radians, so we could convert or... we could look in the documentation to get more information about trigonometric functions, where we discover that there’s a cosd function that accepts inputs in degrees rather than radians. MATLAB has functions for all sorts of things, from trigonometry to outlier detection to curve fitting to graph theory to signal filtering. So it’s always good to check the documentation.
现在我们知道了cosd,我们就可以完成我们的公式了。我们在行尾加一个分号这样结果就不会显示出来。如果我们想查看这些值,我们总是可以双击工作区中的sunangle变量:它会打开变量编辑器。但图形化可能更有帮助。我们可以选择变量t和sunangle,并转到工具条中的plot选项卡。选择一个图,它就在那里。现在我们也有了代码,下次我们就知道如何编程了。由于太阳的角度所造成的辐射强度,在当地中午太阳升起和落下的时候应该是0。当太阳直射到面板上时,我们应该得到100%的强度。但是在马萨诸塞州,太阳从不会直射,即使是在六月,所以这幅图看起来是对的。
好吧,这是占了太阳的角度。为了完成模型,我们需要计算大气的效果。在更多的空气光线必须要打通,少的能量,使得它的面板。让我们进入这个经验公式和....哎呀,出事了。幸运的是,这是很有帮助的错误消息,让我们知道,我们常犯的错误。MATLAB与向量和矩阵,包括做矩阵数学的作品自然。因此,在默认情况下,MATLAB认为这克拉是一个矩阵指数。但是,这不是我们的意思,我们要对数组的每个元素的指数,所以让我们使用向上回顾命令,然后做错误消息说什么,改变指数操作点克拉。
最后,我们只需要两个强度系数相乘在一起(我们已经从以前的错误教训,所以我们将使用点星时间),并乘上板的尺寸来获得总理论能源生产。检查情节看起来合理,所以它是:理论最大的生产,我们应该从我们的太阳能电池板获得。这是我们应该看到6月21日,如果它是一个完美的阳光灿烂的日子。接下来,我们需要得到实际的数据和比较两个。
但在这之前,它可能是一个好主意,保存我们的脚本已经完成。让我们回到通过命令历史和选择我们使用到这里,单击鼠标右键,并选择创建直播脚本的命令。这将打开包含所选命令的脚本编辑器。我们现在可以编辑命令,因为我们有一个活的脚本,我们可以让这个更可用通过拆分为多个部分,等添加文字,注释,标题,图片,公式。现在我们可以运行的代码,或整个脚本部分,输出显示在输出面板旁边的代码。我们可以使用交互式工具来清理我们的阴谋。并再次,我们得到的代码,所以我们可以把它添加到我们的脚本。
现在来看数据。在当前文件夹浏览器中,我们可以看到一个电子表格,其中包含2018年6月的生产记录。让我们导入数据。导入工具查看文件的内容。它将第一列识别为时间戳,因此希望将它们导入到适合日期和时间的数据类型中。它还希望将所有数据作为一个表导入到一起,这是一种数据类型,设计用于这种电子表格数据,其中我们有一些不同变量的观察值。那么,让我们以这种形式导入数据,但可能使用一个稍微简单一点的变量名。现在我们有了这个变量,生产,这是一个包含2880个观察到的三个变量的表格。这三个变量是时间和由两个不同的太阳能电池板阵列产生的电力。
导入一些数据后,第一步通常是绘制数据图,以了解您正在处理的内容。那么,让我们使用plot函数。为了获得表中的单个变量,我们使用点符号——表的名称、点和变量名。请注意建议完成的有用编程帮助。运行脚本的这一部分以查看结果。因为时间戳被导入为datetime变量,所以我们的图的x轴被标记为日期,所以我们可以看到6月份的30个每日峰值。我们可以使用交互式工具来探索一些情节。我们可以看到有一些多云的日子,包括21日,很不幸。但是在这里你可以看到26号是完美的。
那么,如何才能获得生产为一体选择一天?嗯,有几种不同的方法,我们可以做到这一点,但如果我们感兴趣的切片一天或一天中的时间的数据,这可能是有用的我们从一个连续时间序列数据重排的时间和日期的网格。这种方法是有道理的,该数据被均匀地记录每15分钟,所以2880个测量为六月对应于96个测量 - 4每小时 - 为每个在该月的30天。所以,让我们使用重塑功能改变长矢量到96分30矩阵。
现在很容易提取任意一天的数据。为了得到第21列的数据,我们进入矩阵,取第21列的所有行。这些数据是全天记录的,所以我们需要制作一个午夜到午夜的时间矢量,现在我们可以绘制它。让我们添加一个样式规范来显示实际的数据点。
现在,我们可以给出的理论和数据的绘图功能,所以我们可以看到他们在一起。正如预期的那样,在21中的数据不是很好。但请记住,26日确实很好看。几天不会改变太阳的角度说多了,所以让我们看看那一天。值得庆幸的是,它很容易改变不同的一天,然后重新运行部分。
现在我们可以看到数据与模型一致,好了,最多的逆变器多少可以处理的阈值。对于我们的系统,该板可以产生高达270千瓦,但逆变器具有207千瓦的极限。我们可以回去使用最小功能,这限制行为添加到我们的模型。重新运行该脚本......而现在我们看到的数据与理论模型非常吻合。
我们已经在这里做了一些伟大的工作。所以,我们应该分享。如果我们只是想和其他人分享我们的研究结果,我们可以在脚本的副本保存为静态文件,如PDF。但是,我们也可以给这个脚本(与数据文件一起)与MATLAB的人,他们可以为自己运行它,并重现我们的结果。他们可以编辑脚本,探索数据,细化模型,并进行新的分析。
而你也可以做到。这些文件供您下载。
而且,现在你已经在MATLAB的工作是什么感觉就像是,它的时间好好学习。有没有更好的方式来学习MATLAB,而不是与它的工作。所以,头部到MATLAB匝道,它会教你MATLAB的基本交互 - 你实际上是在我们的在线培训环境进入MATLAB命令,并得到即时反馈。它是免费的,并应采取只是几个小时。您可以留下任何时间,稍后再回来。欢迎到MATLAB!