我创建了一个3 d正弦表面。并且想要添加一个正态分布的随机噪声零均值和标准差0.03毫米。但它说错误*。下标赋值尺寸不匹配。有人能帮我查一下好吗

2视图(30天)
% 3 d正弦表面dx = 0.001;%在x毫米间距dy = 0.001;%的点沿着x和y nx = 128;纽约= 128;% n = 8000;%生成数组x和y的x = (0:1: nx-1) * dx;y = (0:1: ny-1) * dy;j = 1:纽约i = 1: nx z (j, i) = 2 * sin(2 *π* x (i) / 0.064) + normrnd (0, 0.03 * 1 (nx, 1)); 结束结束z = z-mean(意味着(z)); %转变为0意味着网(x, y, z)

答案(2)

优素福Khmou
优素福Khmou 2013年8月19日
编辑:优素福Khmou 2013年8月19日
对,
当您使用x, y循环,在每次迭代中,CPU计算时只有一个标量函数使用 normrnd 大小128 * 1,你可以调整你的方法:
% 3 d正弦表面
dx = 0.001;% x毫米的间距
dy = 0.001;%的数量
沿着x和y %点
nx = 128;纽约= 128;%
n = 8000;%生成一系列的x和y
x = (0:1: nx-1) * dx;
y = (0:1: ny-1) * dy;
j = 1:纽约
我= 1:nx
z (j, i) = 2 * sin(2 *π* x (i) / 0.064) + normrnd (0, - 0.03);
结束
结束
z = z-mean(平均(z));%转变为0意味着网(x, y, z)
或者你可以简单地添加高斯噪声如下:
Z = Z + normrnd (0, 0.03, nx,纽约);

类别

找到更多的在随机数生成帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!