罗兰关于MATLAB的艺术

将想法转化为MATLAB

在R2021a版本中有一个参数

您是否曾经看过代码,当您调用一个带有许多参数的函数时,其中许多参数都是字符串,并且发现很难看到发生了什么?我知道我有。也许你也一样。在释放 R2021a 在美国,除了相对较新的特性外,该语言中还有一个新特性可以帮助我 参数 我写过的 在这里 .如果你有自己的观点,你可能想看看 这个经典视频

制作一个要修改的情节

让我们从制作一个情节并注释它开始。
t = 0:0.1:10;
Y = sin(2*pi*60*t) + 0.2*randn(size(t));
情节(t, y)
包含(“时间(以秒为单位)”
ylabel (“信号(电压)”
标题(“典型信号”
网格(“上”

通过名称-值对更改情节(2020年及之前)

现在,假设我想重新创建相同的情节,但对外观有更多的控制。我可以使用名称-值对,这是我们在MATLAB中使用多年的。
情节(t y“标记”“o”“MarkerEdgeColor”“k”“MarkerFaceColor”“y”“线型”“-”。“线宽”, 1.0)
包含(“时间(以秒为单位)”
ylabel (“信号(电压)”
标题(“离散信号”
网格(“上”
当你读第一行的时候 情节 在上面,它很容易丢失,特别是当值恰好是较长的字符串时。

通过name=value更改plot(从R2021a开始)

我可以使用R2021a中的新特性 名称=值语法 (以及 在这里 )以达到同样的结果。
情节(t y =标志“o”MarkerEdgeColor =“k”MarkerFaceColor =“m”线型=":",线宽= 2.0)
包含(“时间(以秒为单位)”
ylabel (“信号(电压)”
标题(“离散信号”
网格(“上”

平滑的数据

现在让我们尝试平滑信号并显示结果。
smoothedData = smoothdata (y,“movmean”SamplePoints SmoothingFactor = 0.5, = t);
情节(t y“颜色”(77 190 238) / 255, DisplayName =“输入数据”
持有
情节(t, smoothedData,颜色=[0 114 189]/ 255,线宽= 1.5,...
DisplayName =“平滑数据”
持有
传说
包含(“时间(以秒为单位)”
ylabel (“信号(电压)”
标题(“平滑信号”
网格(“上”

讨论

这个语法有一些限制,在发布说明中列出了。例如, 名称=值 语法仅对输入的末尾有效。换句话说,一旦您选择了给定函数调用的语法,所有其余的输入也必须在 名称=值 的形式。因为语法是新的,所以现在还缺少一些功能可见性,比如tab-completion。从我的角度来看,我认为它使我的代码比以前更具有自文档化,因为与字符串输入匹配的负担不再是一个问题。你有什么想法 名称=值 可选的尾随输入参数的语法?让我们知道 在这里
版权所有:The MathWorks, Inc.
|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。