我必须生成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);
谢谢
答案 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