两个参数变化的模型数组
此示例演示如何使用创建传递函数的二维(2-D)数组为
循环。传递函数的一个参数在数组的每个维度上都是不同的。
您可以使用本例中的技术创建具有更多参数变化的高维数组。这种阵列对于研究多参数变化对系统响应的影响是有用的。
二阶单输入单输出(SISO)传递函数
取决于两个参数:阻尼比, ,为固有频率, .如果两个 而且 如果不同,则可以得到如下形式的多个传递函数:
在哪里 而且 表示变量参数的不同测量值或采样值。您可以在单个变量中收集所有这些传递函数,以创建一个二维模型数组。
为模型数组预分配内存。预分配内存是一个可选步骤,可以提高计算效率。要进行预分配,请创建所需大小的模型数组,并将其条目初始化为零。
H = tf(0 (1,1,3,3));
在这个例子中,传递函数中的每个参数都有三个值H.因此,该命令创建一个由单输入单输出(SISO)零传递函数组成的3 × 3数组。
创建包含参数值的数组。
Zeta = [0.66,0.71,0.75];W = [1.0,1.2,1.5];
通过遍历参数值的所有组合来构建数组。
为I = 1:长度为j = 1:长度(w) H (:,:, i, j) =特遣部队(w (j) ^ 2,[1 2 *泽塔(我)* w (j) w (j) ^ 2]);结束结束
H
是传递函数的3 × 3数组。
的单列从一个模型移动到另一个模型时变化H
.的参数
随你沿着单行移动而变化。
的阶跃响应H
看参数变化如何影响阶跃响应。
stepplot (H)
您可以设置SamplingGrid
属性,以帮助跟踪哪组参数值对应于数组中的哪个条目。为此,创建一个与数组尺寸匹配的参数值网格。然后,将这些值赋给H.SamplingGrid
使用参数名。
[zetagrid,wgrid] = ndgrid(zeta,w);H.SamplingGrid = struct(“ζ”zetagrid,' w ', wgrid);
当你显示的时候H
中的参数值H.SamplingGrid
与数组中的每个传递函数一起显示。