主要内容

sbiosampleerror

基于误差模型样本误差和添加噪声输入数据

描述

例子

noisydata= sbiosampleerror (inputdata,errormodel,errorparam)将噪声添加到输入数据使用一个或多个误差模型和误差参数。

例子

全部折叠

这个例子添加噪声(或错误)从放射性衰变模型仿真数据的一阶反应: d z d t = c x ,在那里xz物种和c远期汇率是常数。

加载包含radiodecay模型的示例项目m1

sbioloadprojectradiodecay;

模拟模型。

[t, sd,名称]= sbiosimulate (m1);

仿真结果。

情节(t, sd);传奇(名称,“自动更新”,“关闭”);持有

图包含一个坐标轴对象。坐标轴对象包含2线类型的对象。这些对象代表x, z。

添加噪声仿真结果使用常数误差模型与误差参数设置为20。

noisydata = sbiosampleerror (sd,“不变”,20);

情节吵闹的仿真数据。

情节(t, noisydata);

图包含一个坐标轴对象。坐标轴对象包含4线类型的对象。这些对象代表x, z。

这个例子定义了一个定制错误模型使用一个函数处理并添加噪声仿真数据的放射性衰变模型与一阶反应$ {{dz} \ / {dt}} = c \ cdot x美元,在那里xz物种,c远期汇率是常数。

加载包含radiodecay模型的示例项目m1

sbioloadprojectradiodecay;

假设您有一个简单的自定义误差模型与一个标准的均值为0和unit-variance(高斯)正常的变量e,仿真结果f,两个参数p1p2:y = f + p1 + p2美元美元

定义一个函数处理代表误差模型。

em = @ (y, p1, p2) y + p1 + p2 * randn(大小(y));

模拟模型。

[t, sd,名称]= sbiosimulate (m1);

仿真结果和策划的阴谋。

情节(t, sd);传奇(名称,“自动更新”,“关闭”);持有

样本错误使用前面定义的自定义函数有两个参数设置为0.5,30日分别。

noisydata = sbiosampleerror (sd、em {0.5, 30});

情节吵闹的仿真数据。

情节(t, noisydata);

你也可以不同的误差模型适用于每个州,这是一个列sd。假设您想应用自定义误差模型(新兴市场第一列(物种)x数据)和第二列的比例误差模型(物种z数据)。

持有noisydata = sbiosampleerror (sd, {em,“比例”30}},{{0.5,,0.3});情节(t, sd);传奇(名称,“自动更新”,“关闭”);持有情节(t, noisydata);

输入参数

全部折叠

输入数据,指定为一个SimData对象的向量SimData对象,或数字矩阵。如果它是一个矢量SimData对象,错误被添加到每个列的数据财产。如果它是一个数字矩阵,错误被添加到每一列的矩阵。

误差模型(s),指定为一个特征向量,字符串,函数处理,字符串向量,单元阵列的特征向量,或细胞数组包含特征向量和功能处理的混合物。

如果它是一个字符串向量或单元阵列,它的长度必须匹配的列数(反应)inputdata,每个误差模型应用于相应的列inputdata。如果它是一个字符向量、字符串或函数处理,同样的错误模型是应用于所有列inputdata

函数的第一个参数处理必须一个矩阵的仿真结果。随后的参数误差模型的参数提供errorparam输入参数。的输出函数处理必须相同大小的一个矩阵作为第一个输入参数(仿真结果)。

例如,假设您有一个自定义标准意味着零误差模型和unit-variance(高斯)正常的变量e,仿真结果f,两个参数p1p2: y = f + p 1 + p 2 e 。您可以定义相应的函数处理如下。

em = @ (y, p1, p2) y + p1 + p2 * randn(大小(y));
在哪里y仿真结果的矩阵和吗p1p2是错误的参数。函数的输出处理必须相同大小y,这是一样的仿真结果中指定inputdata输入参数。的参数p1p2指定的errorparam论点。

有四个内置误差模型。每个模型定义了错误使用标准意味着零和unit-variance(高斯)变量e,仿真结果f和一个或两个参数一个b。模型是:

  • “不变”: y = f + 一个 e

  • “比例”: y = f + b | f | e

  • “组合”: y = f + ( 一个 + b | f | ) e

  • “指数”: y = f 经验值 ( 一个 e )

误差模型参数(s),指定为一个标量,矢量,或细胞数组。如果errormodel“不变”,“比例”,或“指数”,然后errorparam被指定为一个数字标量。如果它是“组合”,然后errorparam被指定为一个行向量与两个元素[b]

如果errormodel是一个单元阵列,然后呢errorparam必须是一个单元阵列的长度相同。换句话说,errorparam必须包含N个元素,其中N是误差模型的数量吗errormodel。每个元素必须有正确的参数的数量相应的误差模型。

例如,假设您有三个列inputdata,你是应用不同的误差模型(常数,成比例的,指数误差模型与误差参数0.1,0.2,0.5每一列分别)errormodelerrorparam必须与三个细胞数组元素,如下所示。

errormodel = {“不变”,“比例”,“指数”};errorparam = {0.1, 0.2, 0.5};

输出参数

全部折叠

数据和添加噪声,作为一个向量的返回SimData对象或数字矩阵。如果inputdata是一个向量的SimData对象,noisydata也是一个向量的SimData对象,错误被添加到每一列的inputdata.Data财产。如果inputdata被指定为一个矩阵,noisydata是一个矩阵,错误被添加到每一列的矩阵。

版本历史

介绍了R2014a