在本文中,我将介绍 MathWorks 在 MATLAB 软件中新增的一种交互式实时脚本文件——Live Script。下面首先认识什么是 Live Script ?
什么是 Live Script ?
Live Script 是 MATLAB Live Editor 应用程序输出的文件格式,在 Live Editor 交互式环境中,Live Script 可以包含 MATLAB 代码和输出结果(函数图像等),加上格式化文本、图片、超链接和 LaTeX 公式等元素,就可以成为一篇交互式叙述文本,用户可以用来分享创意、交换思想。Live Script 使用专属文件格式,后缀名是 .mlx 。
Live Script 有以下 3 个用途:
- 直观地探索和分析问题:在一个交互式环境中编写、执行和测试代码;单独运行代码块或整个文件,查看输出结果和图像。
- 分享包含富文本的可执行叙述性文件:添加题目、标题和格式化文本来描述流程,并将 LaTeX 公式、图片和超链接作为支持材料;可以与他人进行分享或上传到 MATLAB 社区,并转换为 HTML 和 PDF 文件进行发布。
- 教师可以此为交互式讲义,应用到教学中:将代码、运行结果、格式化文本和数学方程相结合;单步运行讲义中的代码以帮助阐述问题;动态修改代码以回答问题或探索相关主题;与学生分享讲义,将未完成的文件作为作业分发。
Live Script 和 MATLAB Script 对比
MATLAB 环境已经存在 MATLAB 语言脚本( .m 扩展名)文件,Live Script 是作为一种提供实时交互计算能力的补充。Live Script 与 MATLAB Script 的主要区别有 5 点:
- 文件格式:Live Script 具备专属文件格式,而 MATLAB Script 文件格式为纯文本;
- 文件扩展名:Live Script 文件扩展名为 ,mlx,而 MATLAB Script 文件扩展名为 .m;
- 输出显示终端:Live Script 为 Live Editor,而 MATLAB Script 为 Command Window;
- 国际化:Live Script 支持显示多国语言特殊字符,而 MATLAB Script 不支持非 7 位 ASCII 字符;
- 文本排版效果展示:在 Live Editor 中可以实时查看 Live Script 文本排版效果, 而 MATLAB Script 需要使用发布专用标记宏实现文本排版效果,执行发布操作之后才能查看。
以下是 Live Script 和 MATLAB Script 在 MATLAB Editor 中打开的截图:
MATLAB 版本需求
需要特别注意的是,MATLAB R2016a 及以后的版本才支持 Live Script ,R2014b、R2015a 和 R2015b 仅可以将 Live Script 作为 MATLAB 脚本代码打开,R2015a 之前的版本则更加不支持此文件格式。
注意 将 Live Script 保存为 R2014b、R2015a 和 R2015b 版本,会导致所有格式化文本、图像、超链接、LaTeX 公式和生成的输出内容丢失。
将 Live Script 保存为 MATLAB Script
既然 Live Script 和 MATLAB Script 存在诸多区别,那么可以将 Live Script 另存为 MATLAB Script 吗?答案是肯定的,在将 Live Script 另存为 MATLAB Script 之后,MATLAB 将所有格式化文本转换为发布专用标记宏,在执行 Publish 操作发布之后,将会在生成的 HTML 或 PDF 文件中看到格式化文本等对象。
Live Script 的局限性
在使用 Live Script 之前,请检查它是否满足您的需求,务必注意 Live Editor 不支持以下 3 个功能:
- 使用图形调试器进行调试:在 Live Editor 中,不能以图形方式设置断点或使用 Pause 按钮暂停执行 Live Script;
- Live Editor 忽略了大多数编辑器偏好,包括自定义快捷键;
- MATLAB 无法为 Live Script 生成报告。
此外还应注意:
Live Editor 支持调用 Live Script 内定义的函数,还支持 .m 文件中创建的函数和类,在用到函数和类时必须遵循相关规定。
创建 Live Script
使用 Live Script 的第 1 步就是创建它。首先打开 MATLAB,在 Command Window 中输入:
cd D:\
mkdir matlab_live_test
cd .\matlab_live_test
edit live_test1.mlx
MATLAB 弹出对话框提示 live_test1.mlx
不存在,是否创建,选择 Yes.
这样您就创建了一个名为 live_test1.mlx
的 Live Script。
设置 Live Editor
为了符合我们的使用偏好,在第一次打开 Live Editor 时,我们需要对其进行设置。点击 Live Editor 的 VIEW 标签栏,然后依次点击下面的 Line Numbers 和 Output Inline (默认情况下 Output on Right 有效,Live Script 运行结果显示在代码右侧)。设置好后的 Live Editor 如下图所示:
设置好后的 Live Editor,在使用时代码运行结果将嵌入到文章中,编辑器会显示代码行号。
在代码块中输入代码
创建 live_test1.mlx
之后,Live Editor 默认处于输入代码的模式,如下图所示:
输入如下示例代码:
syms x
f = sin(x);
fplot(f, [-pi pi],'b--')
按 Ctrl + Enter 快捷键执行本代码块,下图是运行结果:
我们可以看到运行结果也嵌入到了本 Live Script 中。
操作 Live Script 输出图像
运行代码画出图像后,我们可以利用 Live Editor 提供的按键对图像进行操作。将鼠标指针悬停到 Live Script 输出图像之上,将会出现如下图标:
下面是这 5 个图标对应的操作:
- 查看图像上某一点的坐标(Data Cursor)
- 移动图像(Pan)
- 放大(Zoom In)
- 缩小(Zoom Out)
- 将图像导入到 Figure 窗口中,重新打开
在 Live Script 中添加格式化文本
为了使 Live Script 成为一篇具有叙述功能、可展示的完整文章,我们可以往其中添加格式化文本、超链接、图片和 LaTeX 公式等对象。当 Live Editor 处于输入代码的模式时,按 Alt + Enter 快捷键进入输入文本模式。在文本模式下,您可以添加格式化文本、超链接、图像和 LaTeX 公式等对象。在 Text 模式下,默认输入无格式文本。
下面列出了添加格式化文本的快捷键:
- Ctrl + Alt + T:输入无格式文本
- Ctrl + Alt + L:添加标题(Title)
- Ctrl + Alt + H:添加头部(Heading)
- Ctrl + Alt + U:添加无序列表
- Ctrl + Alt + O:添加有序列表
- Ctrl + I:斜体
- Ctrl + B:粗体
- Ctrl + B, 后 Ctrl + I:粗斜体
- Ctrl + M:等宽字体
- Ctrl + U:下划线
- Ctrl + Alt + G:插入 LaTeX 公式
- Ctrl + K:超链接
插入 LaTeX 公式
按下快捷键 Ctrl + Alt + G 之后,将会弹出 LaTeX 公式输入窗口,按照 LaTeX 语法输入公式即可。
有关在 Live Script 中插入 LaTeX 公式的详细说明,用户可以在 Command Window 中输入:
doc Insert Equations into Live Scripts
查看详细帮助文档获得更多关于输入 LaTeX 公式的内容。
复制 Unicode 字符到 Live Script 中
在前面,我们提到 Live Script 支持显示多国语言特殊字符。我们以希伯来语的第 1 个字母 (Alef) 为例,分别将其复制到 Live Script 和 MATLAB Script 中:
插入图片
现在,我们来尝试往 Live Script 中插入一张图片。点击 LIVE EDITOR 标签栏下的
Image 图标,插入图片到 Live Script 中。将鼠标指针悬停到插入的图片之上,点击蓝色矩形,拉伸可以调整图片大小。
将一个 Live Script 划分成多个节(Section)
Live Script 用节(Section)来组织文本、图片、超链接和方程等元素,用户在工作时可以将不同主题的相关内容放到不同的节中,处理一个主题只专注于一节。通过快捷键 Ctrl + Alt + Enter 插入节分隔符(Section Break),当前节以淡蓝色显示。
下面是运行代码的 3 个快捷键:
- F5: 运行所有节(Run All);
- Ctrl + Enter: 运行本节(Run current section);
- Ctrl + Shift + Enter: 运行本节后跳转到下一节(Run current section and advance to next section)。
查看 Live Scripts 的帮助
如果用户需要获得更多关于 Live Script 的内容,可以在 Command Window 中输入:
doc live scripts
在下图中点击第 1 项,可以查看 Live Scripts 的帮助。
结语
至此,本文就将 MATLAB Live Script 的基本使用就已经介绍完毕,如果需要更加深入地掌握这一工具,还需要您将它用到自己的项目中,在使用过程中随时查看帮助和搜索互联网上的资料,这样您将会逐渐地了解它、掌握它。
Practice makes perfect ,实践出真知,开启您的探索实践之旅吧,相信您定将大有收获!
参考文献
- MATLAB Live Script 在线帮助
- 将公式插入到 MATLAB Live Script 中