使用MATLAB住脚本教在线最优控制和动态规划
Duarte j·安图内斯,埃因霍温科技大学
当我的课程最优控制和动态编程转换到一个在线模型COVID-19大流行期间,MATLAB®生活的脚本是无价的。他们让我教复杂概念的方式互动,引人入胜,更适合在线学习比传统lecture-with-slides方法。
与生活脚本我可以结合格式化文本,图片,链接,方程,和代码(图1)。由于脚本是生活,学生可以调整参数或修改代码并立即看到他们的变化如何影响输出。过程进行主动学习,鼓励学生探索的材料。在课后学生调查中,97%的受访者称住脚本“帮助”或“非常有用的”,完成作业。
Lectures-with-Slides的局限性
当我教最优控制和动态编程在过去,我的讲座结合幻灯片中,我介绍了一个新概念,描述了如何实现,然后显示一些样例输出。例如,在线性二次教训监管者(等)我将开始讨论有关方程以及特殊情况和假设,表明MATLAB实现,然后显示各种参数值的代码的输出(图2)。之后,我会分配练习,要求学生使用MATLAB解决一组最优控制问题。练习包括样品溶液与MATLAB代码的一个快照。
我一直觉得这种方法是一个笨拙的方式展示材料。幻灯片上的代码只是实现的快照,我不得不包括众多的情节来展示不同的参数值对输出的影响。出于这些问题,我决定把所有的课程材料涉及MATLAB脚本。
从幻灯片住脚本
完全转换16课30 MATLAB的例子,30 MATLAB练习,和10分级作业。对于每一个课程主题,我介绍讨论的文本复制到现场脚本和结构化的标题,要点,超链接的背景材料。我以前住编辑器输入乳胶命令和预览中相应的方程之前将方程住脚本(图3)。
在某些情况下,方程非常长,我没有乳胶代码。在这些情况下,我使用Mathpix OCR软件扫描手写或印刷方程和生成乳胶。
一旦创建了生活的脚本,我通过与学生分享他们MATLAB开车基于云计算的存储。学生下载脚本为每堂课,跑在他们的笔记本电脑上或在浏览器中使用MATLAB在线(图4)。用MATLAB在网上,学生们可以从任何电脑或平板电脑运行和编辑脚本,甚至没有MATLAB安装机器。
住脚本任务和自动评分
在讲座中,学生经常与相应的实验生活脚本,不同参数值并检查结果。我鼓励这样的行为,因为它帮助他们吸收新材料。
脚本也同样有价值的生活在帮助学生作业。一个任务,例如,包括发展一线游戏的控制算法。现实版的游戏,目标是通过环沿弯曲线不让戒指接触线在任何时候。作业,我让它变成一条二维问题的算法必须控制环的轨迹偏移和角度的计算每个时间步的戒指它走在钢丝(图5),达到最短时间线的结束。
学生往往有很多问题当我解释这个任务。当我为他们提供一个脚本的一个示例实现生活,他们能够回答这些问题;他们可以离线运行脚本,改变控制参数,看到什么构成的环形线接触,等等。
为了简化评分,我给学生们到底在生活所需的功能开发脚本完成任务,明确定义的输入和输出。然后我使用这个特定的函数自动年级学生的解决方案MATLAB平地机结合帆布,我们的学习管理系统。
计划改善生活和其他用途的脚本
我继续添加增强脚本开发新生活对我的课程。这些增强包括将更多的动画。我这样做是出于一个作业,学生们必须开发一个最优控制策略的鬼魂追逐pursuit-evasion游戏吃豆人™——一个人物(图6)。我发现动画帮助学生理解作业比我的文本描述。
针对学生的反馈,我也添加更多的眉批MATLAB代码。我注意到,今天的学生依赖于看到的代码,代码注释,巩固理解。过去,我倾向于不再强调实现细节,但是越来越多的学生理解的语言编程和更容易掌握某些概念时表达的注释代码,而不是在我们的自然语言。一个学生说:“这真的有助于了解一个问题/解决方案改变当你决定改变某一参数或段代码。通常,例子显示一个变化是有限的。除此之外,一些理论的实际实现很难想象有时候,尽管这样一段代码可以帮助这一进程极大。”
住脚本的主要优势之一是,他们很容易学习和使用。我发现大多数学生正在运行5分钟后的文档。在另一个课程,我教在信号与系统中,我要求学生提交一份报告在他们的项目。许多决定自己的创建最终报告作为生活的脚本和使用生活脚本解释他们的项目通过一个视频。
2021年出版的