将元数据附加到模型
指定模型时间单位
这个例子展示了如何指定传递函数模型的时间单位。
的TimeUnit
的属性特遣部队
模型对象指定时间变量、时间延迟(用于连续时间模型)和采样时间Ts(用于离散时间模型)的单位。默认时间单位为秒
.
创建一个SISO传递函数模型 时间单位为毫秒:
Num = [4 2];Den = [1 3 10];sys = tf(num,den,'TimeUnit','milliseconds');
您可以指定任何的时间单位动态系统以类似的方式。
系统时间单位出现在时域和频域图上。对于具有不同时间单位的多个系统,如果时间和频率单位在中,则使用第一系统的单位工具箱首选项编辑器是汽车
.
请注意
改变了TimeUnit
属性更改系统行为。如果您希望在不修改系统行为的情况下使用不同的时间单位,请使用chgTimeUnit
.
将不同时间单位的模型相互连接
这个例子展示了如何连接不同时间单位的传递函数模型。
使用算术运算或对接命令对接模型时,所有模型的时间单位必须匹配。
分别以毫秒和秒为时间单位创建两个传递函数模型。
sys1 = tf([1 2],[1 2 3],'TimeUnit','毫秒');Sys2 = tf([4 2],[1 3 10]);
的时间单位
sys2
毫秒。sys2 = chgTimeUnit(sys2,'milliseconds');
把这些系统并联起来。
Sys = sys1+sys2;
指定频率响应数据模型的频率单位
此示例显示如何指定频率响应数据模型的频率点单位。
的FrequencyUnit
属性中频率向量的单位频率
的属性的朋友
模型对象。默认频率单位为rad / TimeUnit
,在那里TimeUnit
中是否指定了时间单位TimeUnit
财产。
用频率数据(GHz)创建一个SISO频率响应数据模型。
加载AnalyzerData;sys = frd(resp,freq,'FrequencyUnit','GHz');
中可以单独指定测量频率点和采样时间的单位FrequencyUnit
而且TimeUnit
属性,分别。您还可以指定a的频率单位genfrd
以类似的方式。
频率单位出现在频域图上。对于具有不同频率单位的多个系统,如果频率单位在中,则使用第一系统的单位工具箱首选项编辑器是汽车
.
请注意
改变了FrequencyUnit
属性更改系统行为。如果您希望在不修改系统行为的情况下使用不同的频率单位,请使用chgFreqUnit
.
多输入多输出(MIMO)模型的提取子系统
本例展示了如何使用MATLAB提取MIMO模型的子系统®索引和使用通道名。
例如,当您想分析复杂系统的一部分时,提取子系统是有用的。
创建一个MIMO传递函数。
G1 = tf(3,[1 10]);G2 = tf([1 2],[1 0]);G = [g1, g2];
的子系统G
从第一个输入到所有输出。
Gsub = G(:,1);
这个命令使用MATLAB索引来指定一个子系统为G(在)
,在那里出
指定输出索引和在
指定输入索引。
使用通道名,可以使用MATLAB索引提取与特定通道相关的所有动态。通过使用这种方法,您可以避免在复杂的MIMO模型中跟踪信道顺序。
为模型输入分配名称。
G.InputName ={'温度';'压力'};
因为G
有两个输入,使用单元格数组指定两个通道名。
的子系统G
的所有动态“温度”
输入到所有输出。
Gt = G(:,'温度');
Gt
是同一个子系统吗Gsub
.
请注意
从状态空间提取子系统时(党卫军
)模型,得到的状态空间模型可能不是最小的。使用sminreal
消除子系统中不必要的状态。
指定并选择输入和输出组
这个例子展示了如何在模型对象中指定输入和输出通道的组,并使用组提取子系统。
在复杂的MIMO模型中,输入和输出组对于跟踪输入和输出非常有用。
创建一个具有三个输入和四个输出的状态空间模型。
H = rss(3,4,3);
将输入分组如下:
在组中输入1和2
控制
将1和3输出到名为
温度
将1、3和4输出到名为
测量
H.InputGroup.controls = [1 2];H.OutputGroup.temperature = [1 3];H.OutputGroup.measurements = [1 3 4];
InputGroup
而且OutputGroup
是结构。结构中每个字段的名称都是输入或输出组的名称。每个字段的值都是一个向量,用于标识该组中的通道。所对应的子系统
控制
输入和温度
输出。您可以使用组名在子系统中建立索引。
Hc = H('温度','控制')
Hc
是双输入双输出吗党卫军
的I/O通道“控制”
输入“温度”
输出。你可以看到两者之间的关系
H
子系统Hc
在这个例子中。