主要内容

sim卡

确定模型的模拟响应

描述

例子

y= sim卡(sys,udata)返回一个识别模型的模拟反应使用的输入数据,udata。默认情况下,零初始条件用于所有模型类型除了idnlgrey,在这种情况下,使用存储在模型内部初始条件。

例子

y= sim卡(sys,udata,选择)使用选项设置,选择配置模拟选项,包括初始条件的规范。

例子

(y,y_sd)= sim卡(___)返回估计标准偏差,y_sd模拟的反应。

例子

(y,y_sd,x)= sim卡(___)返回状态轨迹,x,状态空间模型。

例子

(y,y_sd,x,x_sd)= sim卡(___)回报率的标准差状态轨迹,x_sd,状态空间模型。

例子

sim卡(___)情节的模拟响应识别模型。

例子

全部折叠

负荷估算数据。

负载iddata2z2

估计一个三阶状态空间模型。

sys = ss (z2, 3);

模拟使用的输入通道识别模型估算数据。

y = sim (sys、z2);

加载数据,获得识别模型。

负载iddata2z2sys = n4sid (z2, 3);

sys是一个三阶状态空间模型估计使用子空间方法。

创建一个模拟选项设置为添加噪声响应的模拟模型。

opt1 = simOptions (“AddNoise”,真正的);

模拟模型。

y = sim (sys、z2 opt1);

默认过滤高斯白噪声的噪声传递函数模型和添加到响应的模拟模型。

您还可以添加自己的噪声信号,e,使用NoiseData选择。

e = randn(长度(z2.u), 1);opt2 = simOptions (“AddNoise”,真的,“NoiseData”,e);

模拟模型。

y = sim (sys、z2 opt2);

加载数据。

负载iddata1z1

指定评估选项来估计初始状态。

estimOpt = ssestOptions (“InitialState”,“估计”);

估计,状态空间模型和返回的值估计的初始状态。

[sys, x0] = ss (z1 2 estimOpt);

为模拟指定初始条件

simOpt = simOptions (“InitialCondition”,x0);

模拟模型,得到模型的响应和标准偏差。

[y, y_sd] = sim (sys, z1, simOpt);

负荷估算数据和状态空间模型估计。

负载iddata1z1sys = ss (z1, 2);

返回标准偏差和状态轨迹。

[y y_sd x] = sim (sys, z1);

负荷估算数据和状态空间模型估计。

负载iddata1z1sys = ss (z1, 2);

创建一套模拟选项,指定初始状态。

选择= simOptions (“InitialCondition”[1,2]);

指定初始状态的协方差。

opt.X0Covariance = (0.1 0;0 0.1);

计算模拟响应的标准差,y_sd和状态轨迹,x_sd

[x, y, y_sd x_sd] = sim (sys, z1,选择);

获得识别模型。

负载iddata2z2sys =特遣部队(z2, 3);

sys是一个idtf模型封装了三阶传递函数估计的测量数据z2

模拟模型。

sim (sys、z2)

图估计使用tf包含一个坐标轴对象。坐标轴对象与模拟输出标题# 1:y1包含一个类型的对象。这个对象表示日元。

对于模拟输入变量非线性ARX模型在一个已知的平衡点,输入水平的1和输出水平10

加载示例数据。

负载iddata2

估计的非线性ARX模型数据。

M = nlarx (z2, (2 2 1),“idTreePartition”);

估计模型根据以往数据的当前状态。指定尽可能多的过去的样品中有滞后的输入和输出变量(2)。

x0 = data2state (M,结构(“输入”的(1),“输出”10 * 1 (2,1)));

使用返回的初始状态模拟模型data2state

选择= simOptions (“InitialCondition”,x0);sim (M, z2,选择)

图估计用NLARX预测集中包含一个坐标轴对象。坐标轴对象与模拟输出标题# 1:y1包含一个类型的对象。这个对象表示日元。

继续仿真的非线性ARX模型的结束之前的模拟运行。

估计的非线性ARX模型数据。

负载iddata2M = nlarx (z2 [2 2 1], idTreePartition);

使用上半年模拟模型的输入数据z2。从零初始状态开始仿真。

u1 = z2 (1∶[]);opt1 = simOptions (“InitialCondition”,“零”);ys1 = sim (M, u1, opt1);

下半年开始另一个模拟使用的输入数据z2。使用相同的模型的状态结束的第一个模拟。

u2 = z2(201:最终,[]);

第二模拟设置初始状态正确,包输入u1和输出ys1从第一个模拟成一个iddata对象。通过这个数据作为初始条件下模拟。

firstSimData = (ys1, u1);opt2 = simOptions (“InitialCondition”,firstSimData);ys2 = sim (M, u2, opt2);

验证这两个模拟通过比较完整的模拟使用的所有输入数据z2。首先,提取的输入数据。

uTotal = z2 (:, []);opt3 = simOptions (“InitialCondition”,“零”);ysTotal = sim (M, uTotal, opt3);

画出三种反应ys1,ys2ysTotal。ys1上半年应该等于ysTotalys2下半年应该等于ysTotal

情节(ys1“b”ys2,‘g’ysTotal,“k *’)

图包含一个坐标轴对象。坐标轴对象与标题y1包含3线类型的对象。这些对象代表ys1, ys2 ysTotal。

情节显示三种反应ys1,ys2,ysTotal重叠。

估计模型的初始状态这样,响应最佳匹配输出数据集z2

加载示例数据。

负载iddata2;

估计的非线性ARX模型数据。

M = nlarx (z2, [4 3 2], idWaveletNetwork (“NumberOfUnits”,20));

估计的初始状态到最适合z2.y在模拟的反应。

x0 = findstates (M, z2,正);

模拟模型。

选择= simOptions (“InitialCondition”,x0);ysim = sim (M, z2.u,选择);

比较模拟模型的输出ysim的输出信号z2

时间= z2.SamplingInstants;情节(时间、ysim时间、z2.y“。”)

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。

附近开始仿真模型的稳定状态,输入是已知的1,但是输出是未知的。

加载示例数据。

负载iddata2

估计的非线性ARX模型数据。

M = nlarx (z2, [4 3 2], idWaveletNetwork);

确定平衡态值输入1和未知目标输出。

x0 = findop (M,“稳定”1、南);

使用初始状态模拟模型x0

选择= simOptions (“InitialCondition”,x0);sim (M, z2.u,选择)

图估计用NLARX预测集中包含一个坐标轴对象。坐标轴对象与模拟输出标题# 1:y1包含一个类型的对象。这个对象表示日元。

加载示例数据。

负载iddata2

创建一个Hammerstein-Wiener模型。

M = nlhw (z2, [4 3 2], [], idPiecewiseLinear);

计算稳态操作点对应一个输入的值1和一个未知的输出水平。

x0 = findop (M,“稳定”1、南);

模拟使用初始状态估计模型。

选择= simOptions (“InitialCondition”,x0);sim (M, z2.u)

图估计使用NLHW包含一个坐标轴对象。坐标轴对象与模拟输出标题# 1:y1包含一个类型的对象。这个对象表示日元。

负荷时间序列数据,并使用最小二乘方法估计AR模型。

负载iddata9z9sys = ar (z9 6“ls”);

对于时间序列数据,指定所需的仿真长度,N= 200使用一个N通过输入数据集。

data = iddata ([], 0 (200 0), z9.Ts);

设置初始条件使用的初始样本时间序列作为历史输出样本。

IC =结构(“输入”[],“输出”z9.y (1:6));选择= simOptions (“InitialCondition”、集成电路);

模拟模型。

sim (sys、数据选择)

图估计使用AR包含一个坐标轴对象。坐标轴对象与模拟输出标题# 1:y1包含一个类型的对象。这个对象表示日元。

使用历史输入-输出数据作为初始条件当模拟你的代理模型。你第一次模拟使用sim卡命令并指定使用的历史数据simOptions选择手动设置,然后复制模拟输出映射初始状态的历史数据。

加载两个输入,一个输出数据集。

负载iddata7z7

确定一个5次使用状态空间模型数据。

sys = n4sid (z7 5);

将数据集分为两部分。

咱= z7 (1:15);zB = z7(16:结束);

模拟输入信号的模型使用zB

uSim = zB;

仿真需要初始条件。信号值历史数据,也就是说,它们的输入和输出值的时间立即前数据zB。使用作为一个代理所需的初始条件。

IO =结构(“输入”zA.InputData,“输出”,zA.OutputData);选择= simOptions (“InitialCondition”IO);

模拟模型。

ysim = sim (sys、uSim选择);

现在复制输出通过手动映射初始状态的历史数据sys。为此,使用data2state命令。

xf = data2state (sys,咱);

xf包含的状态值sys当时即时最近期的数据样本后立即

模拟系统使用xf为初始状态。

opt2 = simOptions (“InitialCondition”、xf);ysim2 = sim (sys、uSim opt2);

策划的输出sim卡命令ysim和手工计算结果ysim2。

情节(ysim“b”ysim2,“——r”)

图包含一个坐标轴对象。坐标轴对象与标题y1包含2线类型的对象。这些对象代表ysim ysim2。

ysim2是一样的ysim

输入参数

全部折叠

识别模型,指定为以下模型对象之一:

模型类型 模型对象
确定线性模型 多项式模型 idpoly
流程模型 idproc
状态空间模型 中的难点
传递函数模型 idtf
线性灰色矩形模型 idgrey
确定的非线性模型 非线性ARX模型 idnlarx
非线性Hammerstein-Wiener模型 idnlhw
非线性灰色矩形模型 idnlgrey

模拟输入数据,指定为一个iddata对象或一个矩阵。sim卡使用这个对象的输入通道作为模拟输入。离散时间系统的时域模拟,您还可以指定udata作为一个矩阵列对应于每个输入通道。

如果sys是一个线性模型,您可以使用时域或频域数据。如果sys是一个非线性模型,你只能使用时域数据。

如果sys是一个时间序列模型,这是一个模型没有输入,指定吗udata作为一个Ns由0信号,Ns是想要模拟输出样本的数量。例如,模拟One hundred.输出样本,指定udata如下。

udata = iddata ([], 0 (100 0), Ts);

如果你没有一个实验的数据,使用idinput产生信号的各种特征。

模拟选项,指定为一个simOptions选项设置设置以下选项:

  • 初始条件

  • 输入/输出补偿

  • 添加剂噪声

输出参数

全部折叠

模拟响应sys,作为一个返回iddata对象或矩阵,这取决于您指定udata。例如,如果udata是一个iddata对象,那么y

如果udata代表时域数据,然后y的模拟响应向量对应的时间吗udata

如果udata代表了频域数据,U(ω),然后y包含相应的时域采样输出信号的傅里叶变换。这个信号的频率响应的产物sys,G(ω),U(ω)。

对于multi-experiment数据,y是一种相应的multi-experimentiddata对象。

估计标准偏差的模拟响应线性模型或非线性灰色矩形模型,作为一个返回Ns——- - - - - -纽约矩阵,Ns的样品和数量吗纽约是输出的数量。软件计算标准偏差通过考虑协方差模型参数,初始状态协方差,加性噪声协方差。加性噪声协方差是存储在NoiseVariance模型的属性。

y_sd推导出使用一阶灵敏度的考虑(高斯近似公式)。

对于非线性模型,y_sd[]

估计状态轨迹的状态空间模型,作为一个返回Ns——- - - - - -Nx矩阵,Ns的样品和数量吗Nx的状态数。

x只有相关的如果sys是一个中的难点,idgrey,或idnlgrey模型。如果sys不是,状态空间模型x返回的是[]

估计标准偏差状态轨迹的状态空间模型,作为一个返回Ns——- - - - - -Nx矩阵,Ns的样品和数量吗Nx的状态数。软件计算标准偏差通过考虑协方差模型参数,初始状态协方差,加性噪声协方差。加性噪声协方差是存储在NoiseVariance模型的属性。

x_sd只有相关的如果sys是一个中的难点,idgrey,或idnlgrey模型。如果sys不是,状态空间模型x_sd返回的是[]

提示

  • 当估计模型的初始条件和测量的系统验证数据集不同,模拟和测量的响应也不同,特别是在响应的开始。尽量减少这种差异,估计初始状态值使用findstates和使用估计的值来设置InitialCondition选择使用simOptions。例如,看到的对输出数据匹配模型

算法

模拟意味着使用输入数据计算模型的响应和初始条件。sim卡模拟以下系统:

在这里,

  • u(t)是模拟输入数据,udata

  • y(t)是模拟输出响应。

  • G从输入到输出传递函数中定义吗sys。仿真初始条件,指定使用simOptions,设置的初始状态G

  • e(t)是一个可选的噪声信号。添加噪声仿真通过创建一个simOptions选项设置,设置AddNoise选项真正的。此外,您可以更改默认的噪声信号通过指定NoiseData选择。

  • H噪声传递函数和定义在吗sys

  • δu是一个可选输入补偿减去从输入信号,u(t前),输入是用来模拟模型。指定一个输入设置所抵消InputOffset选择使用simOptions

  • δy是一个可选输出偏移量添加到输出响应,y(t),后仿真。指定输出设置所抵消OutputOffset选择使用simOptions

在指定仿真初始条件的更多信息,输入和输出补偿,和噪声信号数据,看看simOptions。multiexperiment数据,您可以指定这些选项分别为每个实验。

选择

  • 使用simsd蒙特卡罗方法的计算响应的标准偏差。

  • sim卡扩展lsim促进附加功能相关识别模型:

    • 非线性模型的仿真

    • 模拟与加性噪声

    • 将信号偏移量

    • 仅计算响应标准偏差(线性模型)

    • 频域仿真(线性模型)

    • 模拟使用不同intersample行为不同的输入

    获得的模拟响应没有前面的操作,使用lsim

版本历史

之前介绍过的R2006a