在时域验证线性化

在时域验证线性化

这个例子展示了如何通过比较非线性模型和线性化模型的模拟输出来验证线性化结果。

  1. 线性化模型万博1manbetx®模型。

    例如:

    sys =“watertank”;load_system(系统);sys_io (1) = linio (“watertank / PID控制器”,1,“输入”);sys_io (2) = linio (“watertank /水箱系统”,1,“openoutput”);opspec = operspec(系统);op = findop (sys、opspec findopOptions (“DisplayReport”“关闭”));linsys =线性化(sys、op sys_io);

    如果你把你的模型线性化模型线性化电路,你必须导出线性模型到MATLAB®工作区。

    告诉我如何

  2. 创建验证的输入信号。例如,一个阶跃输入信号:

    输入= frest.createStep (“t”, 0.1,...“StepTime”,1,...“StepSize”1 e-5...“FinalTime”, 500);
  3. 使用输入信号来模拟Simu万博1manbetxlink模型。

    [~, simout] = frestimate (sys, op、sys_io、输入);

    simout为非线性模型的模拟输出。

  4. 模拟线性模型sys,并比较线性和非线性Simulink模型的时域响应。万博1manbetx

    frest.simCompare (simout、linsys、输入)传说(“自定义输入的fresate结果”...linsys的线性模拟与自定义输入...“位置”“东南”);

    非线性模型与线性化模型的阶跃响应接近,验证了线性化的准确性。

  5. 增加阶跃信号的振幅1.0 e - 0051

    输入= frest.createStep (“t”, 0.1,...“StepTime”,1,...“StepSize”,1,...“FinalTime”, 500);
  6. 随着输入信号幅度的增加,重复频率响应估计,并将此时间响应图与精确的线性化结果进行比较。

    [~, simout2] = frestimate (sys, op、sys_io、输入);frest.simCompare (simout2、linsys、输入)传说(“自定义输入的fresate结果”...linsys的线性模拟与自定义输入...“位置”“东南”);

    用精确线性化方法得到的线性系统的阶跃响应与输入信号幅值较大时估计的频率响应的阶跃响应不匹配。用精确线性化方法得到的线性模型在振幅足够大、偏离指定工作点时与完整的非线性模型不匹配。

选择时域验证输入信号

对于时域验证的线性化,使用frest.createStep来产生一个步进信号。用阶跃信号作为输入frest.simCompare,比较了非线性模型和线性化模型的仿真输出。

阶跃输入可以帮助您评估线性模型在经过阶跃瞬变过程时是否准确地捕捉到主要时间常数。

阶跃输入通过比较精确线性化仿真的最终值和频率响应估计来显示你是否正确地捕获了Simulink模型的直流增益。万博1manbetx