主要内容

本页采用了机器翻译。点击此处可查看英文原文。

Hammerstein-Wiener Model

Simulink 软件中仿真哈默斯坦-维纳模型

  • Hammerstein-Wiener Model block

库:
System Identification Toolbox / Models

描述

Hammerstein-Wiener Model 模块利用时域输入数据仿真哈默斯坦-维纳模型的输出。该模型是您先前在 MATLAB® 工作区中估计或构建的 idnlhw 模型。您可以采用以下任一方式指定仿真的初始条件:

  • 所有状态均为零

  • 表示线性模块初始状态的初始状态向量

有关哈默斯坦-维纳模型结构的信息,请参阅 什么是哈默斯坦-维纳模型?

端口

输入

全部展开

仿真输入数据,对于单输入模型,指定为标量。数据必须是时域数据。对于多输入模型,请将输入指定为一个 Nu-元素向量,其中 Nu 表示输入数量。例如,您可以使用 Vector Concatenate (Simulink) 模块将标量信号连接成向量信号。

注意

请勿使用 Bus Creator (Simulink)Mux (Simulink) 模块生成向量信号。

数据类型: double

输出

全部展开

哈默斯坦-维纳模型的仿真输出,对于单输出模型,该输出以标量形式返回;对于具有 Ny 个输出的模型,则以 Ny 个元素的向量形式返回。

数据类型: double

参数

全部展开

待仿真的哈默斯坦-维纳模型,指定为一个 idnlhw 对象。您先前已在 MATLAB 工作区中预先估计或构建了 idnlhw 模型。

哈默斯坦-维纳模型的状态对应于嵌入的线性 idpolyidss 模型的状态。有关这些状态的信息,请参阅 idnlhw 参考页面。请将 Initial conditions 指定为以下选项之一:

  • Zero - 指定初始状态值为零,这相当于从静止状态开始进行仿真。

  • State values - 您需要在 Specify a vector of state values 中指定状态值。请将状态指定为一个向量,其长度应等于模型中的状态数量。

    若未知初始状态,可按以下方式估计这些状态:

    • 当您不知道给定输入电平对应的输出电平时,若要仿真该电平下的模型,可以使用 idnlarx/findop 命令来估计平衡状态值。

      例如,要仿真一个关于稳态点的模型 M,其中输入为 1 而输出未知,您可以将初始状态值指定为 X0,其中:

      X0 = findop(M,'steady',1,NaN)
    • 要估计使测量数据与模型对相同输入的仿真响应达到最佳拟合的初始状态,请使用 findstates 命令。

      例如,要计算使模型 M 的响应与数据集 z 中的仿真输出数据相匹配的初始状态,请指定 X0,使其满足以下条件:

      X0 = findstates(M,z)

扩展功能

全部展开

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2008a 中推出