你给的例子中,代码和条件对应不起来。
满足你需要的代码如下:
a=5;b=2;d0=1;d=2; % 常数定义N=10; % 要生成的随机数个数x = 1:1:5;for j=1:length(x) sigma = d0 + d * x(j); % 随机数方差 ex = normrnd(0, sigma, N, 1); % 随机数 Y(:,j)= a + b * x(j) + ex;enddisp(Y) % 显示结果
如有问题可继续追问,满意的话希望采纳。
我help了一下normrnd函数,第一个参数说是参数的均值,这里写0应该是没错,第二个是标准差,我看你定义的标准差是d0+d*x,这里不写sigma^2的原因是相当于开方了是吗?还有后面两个参数,这里您写N,1,意思是生成了N*1矩阵吗?还有例子模型ex=d0+d1x+d2x^2,三个参数分别为0.1,10,0.3,但是代码里却完全找不到对应参数,是由于代码和条件不对应?
你的理解没错:1、不写sigma^2的原因是相当于开方;2、normrnd函数后面两个参数写N,1,意思是生成了N*1矩阵;3、我的理解是代码和条件不对应,因为有关的参数根本对不上号,即使是可行的代码(这种可能性极小),也是一种非常糟糕的实现方式,没必要仔细去读了。
问了给例子的当事人,结果他自己也弄不明白,应该是例子和代码不对应。。
51自学网 All Rights Reserved QQ:939804642 Email: cadweb@126.com 京ICP备05004759号