在matlab中R = random('Normal',0,1,2,4): 生成期望为 0,标准差为 1 的(2 行 4 列)2× 4 个正态随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在matlab中R = random('Normal',0,1,2,4): 生成期望为 0,标准差为 1 的(2 行 4 列)2× 4 个正态随机数相关的知识,希望对你有一定的参考价值。

参考技术A R = random('Normal',0,1,2,4)确实是产生标准正态分布,(2行4列)
但std2(R)通常不会正好为1,而是大约为1.
产生正态分布是指你产生的这些点,是以正态分布方式产生,而不是产生出来就完全服从正态分布,但可以肯定基本服从正态分布,也就是一定置信区间内符合正态分布。
例如:
R =
-0.6918 1.2540 -1.4410 -0.3999
0.8580 -1.5937 0.5711 0.6900

ans =
1.0886

接近1,但不是1.
换个容易理解的,你要产生0到1的均匀分布(1行4列),如
>> rand(1,4)
ans =
0.8147 0.9058 0.1270 0.9134
很明显的,你产生的4个数分布不是均匀的等差分布,但其产生的方式是0到1内均匀的,产生每个数的概率是相等的。
明白?

至于random的功能,可以
>>help random

matlab关于eps的疑问。

Ts=0.05;
N0=[8,20];
for r=1:2
N=N0(r);
D=2*pi/(Ts*N);
k=[0:N-1]+eps;
x=k*D;
Y=sin(0.275*x)./sin(0.025*x);
y=ifft(Y,N);
n=0:N-1;
subplot(1,2,r);stem(n,abs(y));
end
这个程序是正确的
为什么令k=0:N-1就得不到结果了呢?(不是出错,而是坐标轴不显示图形)。

是这样的 N取第一个值的时候是0,所以k的第一个值是0,而Y的分母第一个值是0,这就产生了0不能做分母的规定,所以加上一个机器零阀值eps,这是分母是一个趋于0的无穷小量 ,但是又有意义的。所以这是解决函数奇点(无定义或者不可取点)的方法.还有就只之所以取eps,这是计算机处理数据的时候 不可能精确到所有位数,而是把小于eps的舍去,大于eps的保留,所以eps是就算机中绝对值仅大于零的数。 参考技术A eps是matlab能表示的最小量,是加上eps是为了防止除零,因为除法分母不能为零么。否则,当k=0,时Y就分母为零了,无意义。

以上是关于在matlab中R = random('Normal',0,1,2,4): 生成期望为 0,标准差为 1 的(2 行 4 列)2× 4 个正态随机数的主要内容,如果未能解决你的问题,请参考以下文章

matlab 中关于AX=B 的求解的一个问题

MATLAB predict函数的结果

matlab怎样合并元胞数组

基于Matlab的静磁场仿真实验--运动电荷的磁场

基于Matlab的静磁场仿真实验--运动电荷的磁场

MATLAB中保留小数点位数问题