主要内容

两个参数变化的模型数组

此示例演示如何使用创建传递函数的二维(2-D)数组循环。传递函数的一个参数在数组的每个维度上都是不同的。

您可以使用本例中的技术创建具有更多参数变化的高维数组。这种阵列对于研究多参数变化对系统响应的影响是有用的。

二阶单输入单输出(SISO)传递函数

H 年代 ω 2 年代 2 + 2 ζ ω 年代 + ω 2

取决于两个参数:阻尼比, ζ ,为固有频率, ω .如果两个 ζ 而且 ω 如果不同,则可以得到如下形式的多个传递函数:

H j 年代 ω j 2 年代 2 + 2 ζ ω j 年代 + ω j 2

在哪里 ζ 而且 ω j 表示变量参数的不同测量值或采样值。您可以在单个变量中收集所有这些传递函数,以创建一个二维模型数组。

为模型数组预分配内存。预分配内存是一个可选步骤,可以提高计算效率。要进行预分配,请创建所需大小的模型数组,并将其条目初始化为零。

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)

图中包含一个轴对象。axis对象包含9个line类型的对象。这个对象表示H。

您可以设置SamplingGrid属性,以帮助跟踪哪组参数值对应于数组中的哪个条目。为此,创建一个与数组尺寸匹配的参数值网格。然后,将这些值赋给H.SamplingGrid使用参数名。

[zetagrid,wgrid] = ndgrid(zeta,w);H.SamplingGrid = struct(“ζ”zetagrid,' w ', wgrid);

当你显示的时候H中的参数值H.SamplingGrid与数组中的每个传递函数一起显示。

另请参阅

相关的话题

Baidu
map