matlab实时脚本使用_matlab实时脚本和脚本的区别-程序员宅基地

技术标签: matlab  python  c++  microsoft  

在本文中,我将介绍 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 个用途:

  1. 直观地探索和分析问题:在一个交互式环境中编写、执行和测试代码;单独运行代码块或整个文件,查看输出结果和图像。
  2. 分享包含富文本的可执行叙述性文件:添加题目、标题和格式化文本来描述流程,并将 LaTeX 公式、图片和超链接作为支持材料;可以与他人进行分享或上传到 MATLAB 社区,并转换为 HTML 和 PDF 文件进行发布。
  3. 教师可以此为交互式讲义,应用到教学中:将代码、运行结果、格式化文本和数学方程相结合;单步运行讲义中的代码以帮助阐述问题;动态修改代码以回答问题或探索相关主题;与学生分享讲义,将未完成的文件作为作业分发。

Live Script 和 MATLAB Script 对比

MATLAB 环境已经存在 MATLAB 语言脚本( .m 扩展名)文件,Live Script 是作为一种提供实时交互计算能力的补充。Live Script 与 MATLAB Script 的主要区别有 5 点:

  1. 文件格式:Live Script 具备专属文件格式,而 MATLAB Script 文件格式为纯文本;
  2. 文件扩展名:Live Script 文件扩展名为 ,mlx,而 MATLAB Script 文件扩展名为 .m;
  3. 输出显示终端:Live Script 为 Live Editor,而 MATLAB Script 为 Command Window;
  4. 国际化:Live Script 支持显示多国语言特殊字符,而 MATLAB Script 不支持非 7 位 ASCII 字符;
  5. 文本排版效果展示:在 Live Editor 中可以实时查看 Live Script 文本排版效果, 而 MATLAB Script 需要使用发布专用标记宏实现文本排版效果,执行发布操作之后才能查看。

以下是 Live Script 和 MATLAB Script 在 MATLAB Editor 中打开的截图:

Live Script 截图
MATLAB Script 截图

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.

选择 Yes,新建 live_test1.mlx

这样您就创建了一个名为 live_test1.mlx 的 Live Script。

设置 Live Editor

为了符合我们的使用偏好,在第一次打开 Live Editor 时,我们需要对其进行设置。点击 Live Editor 的 VIEW 标签栏,然后依次点击下面的 Line NumbersOutput Inline (默认情况下 Output on Right 有效,Live Script 运行结果显示在代码右侧)。设置好后的 Live Editor 如下图所示:

设置好后的 Live Editor

设置好后的 Live Editor,在使用时代码运行结果将嵌入到文章中,编辑器会显示代码行号。

在代码块中输入代码

创建 live_test1.mlx 之后,Live Editor 默认处于输入代码的模式,如下图所示:

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 语法输入公式即可。

在 LaTeX 公式输入窗口输入公式

有关在 Live Script 中插入 LaTeX 公式的详细说明,用户可以在 Command Window 中输入:

doc Insert Equations into Live Scripts

查看详细帮助文档获得更多关于输入 LaTeX 公式的内容。

复制 Unicode 字符到 Live Script 中

在前面,我们提到 Live Script 支持显示多国语言特殊字符。我们以希伯来语的第 1 个字母 \alef (Alef) 为例,分别将其复制到 Live Script 和 MATLAB Script 中:

将 Alef 复制到 Live Script 中
将 Alef 复制到 MATLAB Script 中

插入图片

现在,我们来尝试往 Live Script 中插入一张图片。点击 LIVE EDITOR 标签栏下的

Image 图标

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 的帮助。

点击第 1 项,查看 Live Script 的帮助

结语

至此,本文就将 MATLAB Live Script 的基本使用就已经介绍完毕,如果需要更加深入地掌握这一工具,还需要您将它用到自己的项目中,在使用过程中随时查看帮助和搜索互联网上的资料,这样您将会逐渐地了解它、掌握它。

Practice makes perfect ,实践出真知,开启您的探索实践之旅吧,相信您定将大有收获!

参考文献

  1. MATLAB Live Script 在线帮助
  2. 将公式插入到 MATLAB Live Script 中
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sinat_23971513/article/details/121505604

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签