艾琳·伯恩,MathWorks
开始使用MATLAB®通过经由示例行走。该视频显示你的基础知识,和它给你的东西在MATLAB工作就像是一个想法。
视频走过了如何计算太阳能电池板能量生产。您将看到如何导入数据,定义变量,并执行使用MATLAB桌面环境的各种元素,包括命令窗口,工作区浏览器,和变量编辑计算。使用可视化预建地块的数据,然后自定义的可视化。您还将学习如何使用文档,找到上演示了如何使用功能的语法和代码示例的内置功能,指导。
最后,你将看到如何使用Live编辑器创建,在可与他人分享的可执行的笔记本相结合的代码,输出和格式化文本脚本。
马铃薯®是一个用于各种技术计算的环境,如数据分析、仿真和算法开发。本视频将向你们展示基础知识并让你们了解在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%的强度。但在马萨诸塞州,即使在6月,太阳也不会直射到头顶,所以这幅图看起来是正确的。
好的,这就是太阳的角度。为了完成这个模型,我们需要计算大气的影响。光线通过的空气越多,进入面板的能量就越少。让我们进入这个经验公式,然后……哎呀,出了点问题。幸运的是,这个有用的错误信息让我们知道我们做了一个common错误。MATLAB自然处理向量和矩阵,包括矩阵数学。因此,默认情况下,MATLAB认为这个克拉是一个矩阵指数。但这不是我们想要数组中每个元素的指数的意思,所以让我们使用向上箭头调用该命令,然后按照错误消息所说的操作并更改指数点克拉的耳鼻喉科手术。
最后,我们只需要将两个强度因子相乘(我们已经从前面的错误中学习了,所以这次我们将使用点星),然后乘以面板的大小,得到总的理论能量生产。检查图是否合理,结果是:我们应该从太阳能电池板获得的理论最大产量。这是我们在6月21日应该看到的,如果这是一个完美的晴天。接下来,我们需要获得实际数据并比较两者。
但在执行此操作之前,最好将我们所做的保存在脚本中。让我们回顾一下命令历史记录,选择用于获取的命令,单击鼠标右键,然后选择“创建Live script”。这将打开编辑器,其中包含所选命令的脚本。我们现在可以编辑命令,因为我们有一个Live script,所以我们可以通过将其拆分为多个部分,添加文本、注释、标题、图像、公式等,可以使其更有用。现在,我们可以运行代码部分或整个脚本,并且输出显示在代码旁边的输出面板中。我们可以使用交互工具清理绘图。此外,我们还可以获得代码,以便将其添加到脚本中。
现在来看看数据。在当前文件夹浏览器中,我们可以看到我们有一个电子表格,其中包含2018年6月录制的产品。让我们导入数据。导入工具查看文件的内容。它将第一列识别为时间戳,因此希望以适合于日期和时间的数据类型导入时间戳。它还希望将所有数据导入到一个表格中,这是一种为电子表格数据设计的数据类型其中我们有一些不同变量的观察。我们导入这个表单中的数据,变量名稍微简单一点。现在我们有了这个变量,production,这是一张包含了2880个三个变量的观察值的表格。这三个变量是时间和两个不同的太阳能电池板阵列产生的电力。
导入一些数据后,一个好的第一步通常是绘制它,以了解您正在处理的是什么。我们用绘图函数。为了获得表中的单个变量,我们使用点表示法——表名、点和变量名。并注意建议完成的有用的编程辅助。运行脚本的这一部分以查看结果。因为时间戳是作为datetime变量导入的,所以我们的图的x轴被标记为日期,所以我们可以看到6月份的30个日峰值。我们可以使用互动工具来探索情节。我们可以看到有一些阴天,不幸的是,包括21日。但在这里,你可以看到26日是完美的。
那么,如何才能获得生产为一体选择一天?嗯,有几种不同的方法,我们可以做到这一点,但如果我们感兴趣的切片一天或一天中的时间的数据,这可能是有用的我们从一个连续时间序列数据重排的时间和日期的网格。这种方法是有道理的,该数据被均匀地记录每15分钟,所以2880个测量为六月对应于96个测量 - 4每小时 - 为每个在该月的30天。所以,让我们使用重塑功能改变长矢量到96分30矩阵。
现在很容易提取任何一天的数据。为了得到第21列的数据,我们进入矩阵取第21列的所有行。这些数据记录在一天中,所以我们需要做一个从午夜到午夜的时间矢量,现在我们可以绘制它。让我们添加样式规范来显示实际的数据点。
现在,我们可以给出的理论和数据的绘图功能,所以我们可以看到他们在一起。正如预期的那样,在21中的数据不是很好。但请记住,26日确实很好看。几天不会改变太阳的角度说多了,所以让我们看看那一天。值得庆幸的是,它很容易改变不同的一天,然后重新运行部分。
现在我们可以看到数据与模型一致,好吧,高达逆变器能处理的阈值。对于我们的系统,面板可以产生高达270千瓦的功率,但逆变器的功率限制为207千瓦。我们可以返回并使用min函数将此限制行为添加到我们的模型中。重新运行脚本…现在我们看到数据一致与理论模型非常吻合。
我们已经在这里做了一些伟大的工作。所以,我们应该分享。如果我们只是想和其他人分享我们的研究结果,我们可以在脚本的副本保存为静态文件,如PDF。但是,我们也可以给这个脚本(与数据文件一起)与MATLAB的人,他们可以为自己运行它,并重现我们的结果。他们可以编辑脚本,探索数据,细化模型,并进行新的分析。
你也可以。您可以下载这些文件。
现在,您已经了解了在MATLAB中工作是什么样子,是时候好好学习了。没有比使用MATLAB更好的学习方法了。因此,请转到MATLAB Onramp,它将以交互方式教您MATLAB的基础知识–您将在我们的在线培训环境中输入MATLAB命令并获得即时反馈。这是免费的,应该只需要几个小时。你可以随时离开,稍后再来。欢迎来到MATLAB!
您还可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。