sbiosampleerror
根据误差模型对误差进行采样,并对输入数据添加噪声
描述
使用一个或多个错误模型和错误参数向输入数据添加噪声。noisydata
= sbiosampleerror (inputdata
,errormodel
,errorparam
)
例子
给模拟数据添加噪声
这个例子为一阶反应的放射性衰变模型的模拟数据添加了噪声(或误差):
,在那里x
而且z
物种和c
是正向速率常数。
加载包含放射性衰变模型的示例项目m1
.
sbioloadprojectradiodecay;
模拟模型。
[t, sd,名称]= sbiosimulate (m1);
绘制模拟结果图。
情节(t, sd);传奇(名称,“自动更新”,“关闭”);持有在
使用误差参数设置为20的恒定误差模型向仿真结果添加噪声。
noisydata = sbiosampleerror (sd,“不变”, 20);
绘制噪声模拟数据。
情节(t, noisydata);
使用函数句柄定义自定义错误模型
本例使用函数句柄定义了一个自定义错误模型,并将噪声添加到具有一级反应的放射性衰变模型的模拟数据中,在那里x
而且z
物种,c
是正向速率常数。
加载包含放射性衰变模型的示例项目m1
.
sbioloadprojectradiodecay;
假设你有一个简单的自定义误差模型,它有一个标准的均值-零和单位-方差(高斯)正态变量e
,仿真结果f
,和两个参数p1
而且p2
:
定义一个表示错误模型的函数句柄。
Em = @(y,p1,p2) y+p1+p2*randn(size(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);
输入参数
errormodel
- - - - - -误差模型
特征向量|字符串|函数处理|字符串向量|字符向量的单元格数组
错误模型,指定为字符向量、字符串、函数句柄、字符串向量、字符向量的单元格数组,或包含字符向量和函数句柄混合的单元格数组。
如果是字符串向量或单元格数组,则其长度必须与中的列(响应)数量匹配inputdata
,将每个误差模型应用于中的对应列inputdata
.如果是单个字符向量、字符串或函数句柄,则对中的所有列应用相同的错误模型inputdata
.
函数句柄的第一个参数必须是模拟结果的矩阵。参数中提供的错误模型的参数errorparam
输入参数。函数句柄的输出必须是与第一个输入参数相同大小的矩阵(模拟结果)。
例如,假设您有一个具有标准均值- 0和单位-方差(高斯)正态变量的自定义误差模型e,仿真结果f,和两个参数p1而且p2: .您可以如下定义相应的函数句柄。
Em = @(y,p1,p2) y+p1+p2*randn(size(y));
y
矩阵的仿真结果和p1
而且p2
是错误参数。函数句柄的输出必须与y
的模拟结果与inputdata
输入参数。的参数p1
而且p2
均在errorparam
论点。
有四个内置错误模型。每个模型都使用标准的均值-零和单位-方差(高斯)变量来定义误差e,仿真结果f,以及一两个参数一个而且b.模型是:
“不变”
:“比例”
:“组合”
:“指数”
:
errorparam
- - - - - -误差模型参数
标量|向量|单元阵列
错误模型参数,指定为标量、向量或单元格数组。如果errormodel
是“不变”
,“比例”
,或“指数”
,然后errorparam
指定为数值标量。如果它是“组合”
,然后errorparam
是否指定为具有两个元素的行向量[b]
.
如果errormodel
那么单元格数组呢errorparam
必须是相同长度的单元格数组。换句话说,errorparam
必须包含N个元素,其中N是错误模型的数量errormodel
.每个元素必须具有对应错误模型的正确参数数量。
例如,假设有三个列inputdata
,并且应用了不同的错误模型(常数
,成比例的
,指数
带有错误参数的错误模型0.1
,0.2
,0.5
,分别)到每列,则errormodel
而且errorparam
必须是包含如下三个元素的单元格数组。
errormodel = {“不变”,“比例”,“指数”};errorparam = {0.1, 0.2, 0.5};
输出参数
版本历史
介绍了R2014a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。