艾琳·伯恩,MathWorks
开始使用MATLAB®通过一个例子。这个视频向你展示了基础知识,它让你了解在MATLAB中工作是什么样的。
视频介绍了如何计算太阳能电池板的能源产量。您将看到如何使用MATLAB桌面环境的各种元素导入数据、定义变量和执行计算,包括命令窗口、工作区浏览器和变量编辑器。使用预先构建的地块可视化数据,然后自定义这些可视化。您还将学习如何使用文档查找内置函数、语法指导以及演示如何使用这些函数的代码示例。
最后,您将看到如何使用Live Editor创建脚本,将代码、输出和格式化文本组合在可执行笔记本中,并与他人共享。
马铃薯®是各种技术计算的数据分析,仿真和算法开发的环境。这段视频将向您展示基础知识,并让您了解在Matlab的工作方式看起来像什么。一定要留在最后,了解在深度学习matlab的地方。所以,让我们开始。
这是马萨塞特尼尼克马克斯总部的建筑物之一。看到所有那些漂亮的太阳能电池板?好吧,让我们看看他们是否正常工作。有一个理论模型,表明生产应该是什么。让我们实现它,并将其与从面板记录的实际数据进行比较。
首先,我们需要一些常量:纳尼克的纬度和“太阳能偏降”,这只是一定的角度,告诉我们太阳在给定的一天的天空中有多高。这些是我们可以查找的值。让我们使用6月21日的价值,这是一年中最长的一天,所以这将使我们提供最大的生产量。我们的计算输入命令窗口并立即执行,我们可以看到我们在工作区中刚刚在此处创建的变量。
我们刚进入的角度是以角度为单位的,但是如果我们要用它们来做数学运算的话,最好把它们转换成弧度。我们可以进行标准的数学计算,并将结果赋给一个新变量,甚至覆盖同一个变量。这里我们使用内置的pi值手动进行转换。但我们也可以使用许多内置MATLAB函数中的一个。
接下来,我们希望全天计算生产,因此我们需要一系列时间。让我们制作一个矢量来表示一天的时间。我们将在日出后的5:30开始,并在8:00之前以15分钟的增量,就在日落之前。
我们的配方使用当地的太阳时间。由于时区和夏令时,这与时钟的时间完全相同。所以,我们将采用我们的时间向量并申请班次。
现在我们已经准备好计算了太阳和面板之间的角度的效果。这个等式很长,但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月,太阳也不会直射头顶,所以情况看起来差不多。
好的,这是太阳的角度占了。要完成模型,我们需要计算大气的效果。灯必须越来越多的空气,能量越少的能量使其到面板。让我们输入这个经验方程式和....哎呀,出了问题。幸运的是,这种有用的错误消息让我们知道我们犯了一个常见的错误。Matlab自然地与乘法和矩阵一起工作,包括做矩阵数学。因此,默认情况下,Matlab认为这克拉是一个矩阵指数。但这不是我们的意思 - 我们希望对数组的每个元素的指数,因此让我们使用向上箭头来调用该命令,然后执行错误消息并将指数操作更改为dot-carat。
最后,我们只需要将这两个强度因子相乘(我们从之前的错误中吸取了经验教训,所以这次我们将使用点星),再乘以面板的大小,就可以得到总的理论能量产出。检查一下图,看起来是合理的,所以它是:理论上我们应该从太阳能电池板获得的最大产量。这是我们在6月21日应该看到的,如果它是一个完美的晴天。接下来,我们需要得到实际数据并比较两者。
但在这样做之前,它可能是一个好主意,可以保存我们在脚本中所做的事情。让我们返回命令历史记录,然后选择我们用于到达这里的命令,右键单击,然后选择“创建实时脚本”。这将使用包含所选命令的脚本打开编辑器。我们现在可以编辑命令,而且因为我们有一个直播脚本,我们可以通过拆分进入部分,添加文本,评论,标题,图像,等式等来使这更可用。现在我们可以运行代码或整个脚本的部分,并且输出出现在代码旁边的输出面板中。我们可以使用交互式工具清理我们的情节。而且,我们再次获得代码,以便我们可以将它添加到我们的脚本中。
现在来看数据。在当前文件夹浏览器中,我们可以看到我们有一个包含2018年6月记录的生产的电子表格。让我们导入该数据。导入工具查看文件的内容。它将第一列识别为时间戳,因此希望以适合日期和时间的数据类型导入这些时间戳。它还想把所有数据都导入到一个表格中,这是一种为电子表格数据设计的数据类型其中我们有一些不同变量的观察数据。那么,让我们在这个表单中导入数据,但可能用一个稍微简单一点的变量名。现在我们有了这个变量,production,这个表包含了三个变量的2880个观测值。这三个变量是时间和两个不同的太阳能电池板阵列产生的电力。
导入一些数据,良好的第一步是往往会策略,了解你正在处理的内容。所以,让我们使用绘图函数。要在表格中获取单个变量,我们使用点表示法 - 表格,点和变量名称。并注意建议完成的有用编程辅助工具。运行脚本的此部分以查看结果。由于时间戳被导入DateTime变量,因此我们的情节的X轴被标记为日期,因此我们可以在6月份看到30个每日尖峰。我们可以使用交互式工具探索绘图一点。我们可以看到有一些阴天,包括21岁,不幸的是。但在这里,你可以看到第26架是完美的。
那么我们如何为一个选择的一天获得生产?好吧,我们可以做几种不同的方式,但如果我们有兴趣在日常或时间的时间切片,从一个连续时间序列重新排列到时代和天的网格可能有用。这种方法对该数据进行了一次均匀记录的数据,每15分钟均匀地记录,因此6月的2880次测量值对应于每小时的96次测量 - 每小时4个 - 每月30天。因此,让我们使用重塑函数将长向量更改为96×30矩阵。
现在它很容易提取任何给定日的数据。要获取21秒的数据,我们进入我们的矩阵并采取21栏的所有行。全天记录了此数据,因此我们需要从午夜到午夜的时间向往,现在我们可以绘制它。让我们添加一个样式规范来显示实际数据点。
现在我们可以向绘图功能提供理论和数据,以便我们可以将它们一起看到。如预期的那样,21st的数据不是很好。但请记住,26日看起来不错,几天不会改变太阳的角度,所以让我们看看那一天。值得庆幸的是,易于改变到不同的一天并重新运行该部分。
现在我们可以看到数据同意该模型,嗯,最多逆转器可以处理多少阈值。对于我们的系统,面板可以产生高达270千瓦,但逆变器的限制为207千瓦。我们可以返回并使用Min功能将此限制行为添加到我们的模型中。重新运行脚本......现在我们看到数据与理论模型很好。
我们做了一些很好的工作。所以,我们应该分享它。如果我们只是想与某人分享我们的发现,我们可以将脚本的副本保存为静态文档,比如PDF。但是我们也可以把这个脚本(连同数据文件)给任何使用MATLAB的人,他们可以自己运行它并重现我们的结果。他们可以编辑脚本,研究数据,改进模型,并执行新的分析。
你也可以。这些文件可供您下载下载。
而且,现在你有一种在Matlab工作的内容就像,是时候了解它了。没有更好的方法来学习matlab而不是与之合作。所以,前往Matlab ondramp,它将交互地教授Matlab的基础 - 你实际上在我们的在线培训环境中进入Matlab命令并获得即时反馈。它是免费的,应该只需要几个小时。你可以随时留下并稍后回来。欢迎来到Matlab!