创建一个大小为x且值为f(x)的八度音阶

时间:2016-04-02 12:17:40

标签: octave

我必须生成N个数据点的数据集,其定义为t_n=f(x_n)+e,其中e是从正态分布中提取的,f(x)是非线性函数。 例如,我有一个函数f(x)=x²+2x+10,如何填充向量v,例如:

x = 1:1:100;
v = create(f(x)+normrnd(0,1),x);

谢谢

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。在这里,我将向您展示如何使用匿名函数http://www.gnu.org/software/octave/doc/v4.0.1/Anonymous-Functions.html#Anonymous-Functions

执行此操作
f = @(x) polyval ([1 2 10], x)
x = 1:100;
v = f(x) + normrnd (0, 1, size (x));

或没有功能:

x = 1:100;
v = x.^2 + 2.*x + 10 + normrnd (0, 1, size (x));

我在这里调整了x,以便可以看到噪音:

x = linspace (-3, 3);
v = f(x) + normrnd (0, 1, size (x));
plot (x, v)
grid on

enter image description here