主要内容

从命令行定制响应图

从命令行自定义图概述

何时从命令行自定义图

您可以从命令行定制任何响应图。命令行是定制大量图的最有效方法。例如,如果您有一个生成许多图的批处理作业,则可以更改x-轴单位自动为所有的情节,只需几行代码。

如何从命令行自定义绘图

可以使用Control System Toolbox™应用程序接口(API)从命令行自定义响应图的绘图选项。

请注意

本节假设您对MATLAB有非常基本的熟悉®图形对象。有关更多信息,请参见图形对象

从命令行定制图:

  1. 获得情节处理,它是绘图的标识符,使用API的绘图语法。

    例如,

    H = stepplot(sys)

    返回图句柄h对于阶梯图。

    有关获取图句柄的详细信息,请参见获取地块句柄

  2. 获得绘图选项处理,它是所有可设置的绘图选项的标识符。若要获得给定绘图的绘图选项句柄,请键入

    P = getoptions(h);

    p情节选项句柄是情节句柄吗h

    有关获取绘图选项句柄的详细信息,请参见获取Plot Options句柄

  3. 使用setoption,以及plot句柄和plot选项句柄,以访问和修改许多plot选项。

请注意

你也可以使用setoption使用属性/值对而不是图形选项句柄定制图形。使用属性/值对可以将过程缩短为一行代码。

从命令行更改波德图单位

此示例显示如何将波德图的单位从rad/s更改为Hz。

创建一个系统并生成系统响应的波德图。该图使用默认单位rad/s。

Sys = tf(4,[1 0.5 4]);H = bodeploy (sys);

图中包含2个轴对象。Axes对象1包含一个line类型的对象。该节点表示sys。坐标轴对象2包含一个line类型的对象。该节点表示sys。

bodeplot命令返回一个绘图句柄,您可以使用该句柄更改绘图的属性。

将单位改为Hz。

P = getoptions(h);p.FreqUnits =“赫兹”;setoption (h p)

图中包含2个轴对象。Axes对象1包含一个line类型的对象。该节点表示sys。坐标轴对象2包含一个line类型的对象。该节点表示sys。

x轴标签的更新反映了单位的变化。

有关从命令行定制图的更多示例,请参见从命令行定制图的例子

获取地块句柄

要以编程方式与响应图交互,需要情节处理.这个句柄是响应图对象的标识符。因为控制系统工具箱绘图命令,波德rlocus,等等,都在内部使用plot句柄,这个API提供了一组命令,显式地将句柄返回到响应图。这些函数都以“plot”结尾,这使它们易于识别。该表列出了相关功能。

返回Plot句柄的函数

函数

情节

bodeplot

波德幅度和相位

hsvplot

汉克尔奇异值

impulseplot

脉冲响应

initialplot

初始条件

iopzplot

输入/输出对的极点/零映射

lsimplot

对任意输入的时间响应

nicholsplot

尼科尔斯图

nyquistplot

尼奎斯特

pzplot

极/零

rlocusplot

根轨迹

sigmaplot

频率响应的奇异值

stepplot

阶跃响应

要获得任何响应图的图句柄,请使用表中的函数。例如,

H = bodeploy (sys)

返回图句柄h(它也可以渲染波德图)。方法修改绘图属性后,就可以使用setoption而且getoptions方法,在本例中是Bode plot句柄。

获取Plot Options句柄

情节选项句柄概述

有了plot句柄之后,就需要绘图选项处理,它是给定响应图的所有可设置的绘图属性的标识符。有两种方法来创建一个plot选项句柄:

检索句柄

getoptions函数从图形句柄中检索图形选项句柄。

p=getoptions(h) %返回图句柄h的图选项句柄p。

如果指定属性名作为输入参数,getoptions返回与属性名关联的属性值。

property_value=getoptions(h,PropertyName) %返回属性%值。

创建句柄

的形式的函数可以创建默认的绘图选项句柄

< responseplot >选项

例如,

p = bodeoptions;

实例化波德图的句柄。看到属性和值参考获取默认值的列表。

如果要将默认值设置为“控制系统工具箱”的默认值,请通过cstprefs对函数。例如,

P = bodeoptions('cstprefs');

将Bode绘图属性/值对设置为“控制系统工具箱”的默认值。

该表列出了创建绘图选项句柄的函数。

创建绘图选项句柄的函数

函数

创建的Plot选项句柄类型

bodeoptions

波德相位和幅度

hsvoptions

汉克尔奇异值

nicholsoptions

尼科尔斯图

nyquistoptions

奈奎斯特图

pzoptions

极/零情节

sigmaoptions

Sigma(奇异值)图

timeoptions

时间响应(脉冲、步长等)

哪些属性可以修改?

使用

帮助< responseplot >选项

查看可修改的可用属性值对的列表。例如,

帮助bodeoptions

您可以使用setoption.下一个主题提供修改各种响应图的示例。

看到属性和值参考获取响应图的属性/值对的完整列表。

从命令行定制图的例子

操纵情节选项句柄

有两种基本的方法来操作绘图选项句柄:

  • 点符号-处理句柄像MATLAB结构。

  • 属性值对-显式地指定属性/值对作为setoption

对于一些示例,将同时展示点表示法和属性/值对方法。对于所有示例,使用

Sys = tf(1,[1 1]);

改变地块单位

将波德图的频率单位从rad/s更改为Hz。为此,提取选项p从plot句柄中编辑选项,并将它们分配回plot。

H = bodeploy (sys);P = getoptions(h);p.FreqUnits =“赫兹”;setoption (h p)

或者,不是提取p,设置的选项h直接。

setoption (h,“FreqUnits”“赫兹”

使用现有的情节选项句柄创建情节

你可以使用一个现有的plot选项句柄来定制第二个plot:

H1 = bodeploy (sys);P1 = getoptions(h1);H2 = bodeploy (sys,p1);

H1 = bodeploy (sys);H2 = bodeploy (sys2);setoption (h2, getoptions (h1))

创建默认绘图选项句柄

用下面的代码实例化一个绘图选项句柄。

P = bodeoptions;

更改频率单位并将更改应用于sys

p.FreqUnits =“赫兹”;H = bodeploy (sys,p);

像结构一样使用点符号

您总是可以使用点表示法为属性赋值,并一次更改多个绘图属性。

H1 = bodeploy (sys);P1 = getoptions(h1);p1。FreqUnits =“赫兹”;p1.Title。字符串=“我的名字”;setoption (h1, p1)

在setoptions中设置属性对

中的属性/值对指定频率单位,而不是使用点符号setoption

H1 = bodeploy (sys) setoptions(H1,“FreqUnits”“赫兹”

验证单位已从rad/s更改为Hz。

getoptions (h1,“FreqUnits”返回h1的频率单位。
ans = Hz

属性和值参考

所有响应图共有的属性/值对

下表讨论了所有响应图共有的属性/值对。

标题

财产 默认值

描述

标题。字符串

没有一个

情节标题,如“我的反应情节”

标题。字形大小

8

标题。FontWeight

正常的

【轻|正常| demi】

标题。FontAngle

正常的

[正常|斜体|斜体]

标题。颜色

[0 0 0]

1 × 3 RGB向量

X标签

财产

默认值

描述

包含。字符串

没有一个

x轴标签,如输入频率的

包含。字形大小

8

包含。FontWeight

正常的

【轻|正常| demi】

包含。FontAngle

正常的

[正常|斜体|斜体]

包含。颜色

[0 0 0]

1 × 3 RGB向量

Y标签

财产 默认值

描述

YLabel。字符串

没有一个

y轴标签,如“控制信号幅度”

Ylabel。字形大小

8

Ylabel。FontWeight

正常的

【轻|正常| demi】

YLabel。FontAngle

正常的

[正常|斜体|斜体]

Ylabel。颜色

[0 0 0]

1 × 3 RGB向量

蜱虫的标签

财产

默认值

描述

TickLabel。字形大小

8

TickLabel。FontWeight

正常的

【轻|正常| demi】

TickLabel。FontAngle

正常的

[正常|斜体|斜体]

Ticklabel。颜色

[0 0 0]

1 × 3 RGB向量

网格和轴限制

财产

默认值

描述

网格

[on | off]

Xlim

{[]}

类型的1 × 2双精度单元格数组x当-轴限制XLimMode设置为手动。当XLim是标量,使用标量展开;否则,单元格数组的长度必须等于图的列数(即系统输入的数量)。1 × 2的双精度数必须是严格递增的一对[xmin, xmax]

XLimMode

{'汽车'}

单元格数组,其中每个条目都是“汽车”“手动”.这些条目指定x-axis限制对应轴的模式。当XLimMode是否设置为手动限制设置为中指定的值XLim.当XLim是标量,使用标量展开;否则,单元格数组的长度必须等于图的列数(即系统输入的数量)。

YLim

{[]}

1 × 2的双精度单元格数组指定y当-轴限制YLimMode设置为手动。当YLim是标量,使用标量展开;否则,单元格数组的长度必须等于图的行数(即系统输出的数量)。1 × 2的双精度数必须是严格递增的对[ymin ymax]

YLimMode

{'汽车'}

单元格数组,其中每个条目都是“汽车”“手动”.这些条目指定y-axis限制对应轴的模式。当YLimMode是否设置为手动限制设置为中指定的值YLim.当YLim是标量,使用标量展开;否则,单元格数组的长度必须等于图的行数(即系统输出的数量)。

I / O分组

财产

默认值

描述

IOGrouping

没有一个

[无|输入|输出|所有]

指定响应的输入/输出分组。

输入标签

财产

默认值

描述

的inputlabel。字形大小

8

的inputlabel。FontWeight

正常的

【轻|正常| demi】

的inputlabel。FontAngle

正常的

[正常|斜体|斜体]

的inputlabel。颜色

[0 0 0]

1 × 3 RGB向量

输出标签

财产

默认值

描述

OutputLabel。字形大小

8

OutputLabels。FontWeight

正常的

【轻|正常| demi】

OutputLabels。FontAngle

正常的

[正常|斜体|斜体]

OutputLabels。颜色

[0 0 0]

1 × 3 RGB向量

输入/输出可见

财产

默认值

描述

InputVisible

在{}

[on | off]

指定每个输入通道可见性的单元格数组。如果取值为标量,则应用标量展开。

OutputVisible

在{}

[on | off]

指定每个输出通道可见性的单元格数组。如果取值为标量,则应用标量展开。

波德图

财产

默认值

描述

FreqUnits

rad /秒

可用选项

FreqScale

日志

[线性|日志]

MagUnits

dB

[db | abs]

MagScale

线性

[线性|日志]

PhaseUnits

[rad |度]

PhaseWrapping

[on | off]

当你设置PhaseWrapping“上”时,绘图将累积相位包装为PhaseWrappingBranch财产。

PhaseWrappingBranch

-180年

图包裹累积相位时的相位值PhaseWrapping设置为“上”

MagVisible

[on | off]

PhaseVisible

[on | off]

MagLowerLimMode

汽车

[auto | manual]

通过启用手动的较低幅度限制规格MagLowerLim

MagLowerLim

0

时,指定震级下限MagLowerLimMode设置为手册

PhaseMatching

[on | off]

允许调整相位响应的相位效果。

PhaseMatchingFreq

0

PhaseMatchingValue

0

汉克尔奇异值

财产

默认值

描述

Yscale

线性

[线性|日志]

AbsTol

0

看到hsvd而且stabsep获取详细信息。

RelTol

1 * e-08

看到hsvd而且stabsep获取详细信息。

抵消

1 * e-08

看到hsvd而且stabsep获取详细信息。

尼科尔斯情节

财产

默认值

描述

FreqUnits

rad /秒

可用选项

MagUnits

dB

[dB | abs]

PhaseUnits

[rad |度]

MagLowerLimMode

汽车

[auto | manual]

MagLowerLim

0

PhaseWrapping

[on | off]

当你设置PhaseWrapping“上”时,绘图将累积相位包装为PhaseWrappingBranch财产。

PhaseWrappingBranch

-180年

图包裹累积相位时的相位值PhaseWrapping设置为“上”

PhaseMatching

[on | off]

PhaseMatchingFreq

0

PhaseMatchingValue

0

奈奎斯特图

财产

默认值

描述

FreqUnits

rad /秒

可用选项

MagUnits

dB

[dB | abs]

PhaseUnits

[rad |度]

ShowFullContour

[on | off]

极/零地图

财产

默认值

描述

FreqUnits

rad /秒

可用选项

TimeUnits

可用选项

σ情节

财产

默认值

描述

FreqUnits

rad /秒

可用选项

FreqScale

日志

[线性|日志]

MagUnits

dB

[dB | abs]

MagScale

线性

[线性|日志]

时间响应图

财产

默认值

描述

正常化

[on | off]

规范化的y-图中所有反应的规模。

SettleTimeThreshold

0.02

设置时间阈值。0.02 = 2%

RiseTimeLimits

[0.1, 0.9]

1×2双

指定用于定义上升时间的限制。[0.1, 0.9]是10%到90%

TimeUnits

可用选项