怎么用MATLAB产生2维或者多维的高斯分布数据
发布网友
发布时间:2022-04-27 01:57
我来回答
共1个回答
热心网友
时间:2022-06-22 04:00
x=randn(m,n)就是二维的高斯分布函数,例如:
x=randn(5,6)便产生5行6列的二维的 高斯分布函数:
ans =
-0.4326 1.1909 -0.1867 0.1139 0.2944 0.8580
-1.6656 1.1892 0.7258 1.0668 -1.3362 1.2540
0.1253 -0.0376 -0.5883 0.0593 0.7143 -1.5937
0.2877 0.3273 2.1832 -0.0956 1.6236 -1.4410
-1.1465 0.1746 -0.1364 -0.8323 -0.6918 0.5711
三维的:randn(m,n,p);依此类推。
例如randn(2,3,4):
ans(:,:,1) =
-0.3999 0.8156 1.2902
0.6900 0.7119 0.6686
ans(:,:,2) =
1.1908 -0.0198 -1.6041
-1.2025 -0.1567 0.2573
ans(:,:,3) =
-1.0565 -0.8051 0.2193
1.4151 0.5287 -0.9219
ans(:,:,4) =
-2.1707 -1.0106 0.5077
-0.0592 0.6145 1.6924
当然也可以自己构造两个一维的数据,再自己把之相乘,合成一个二维的数据,但是最简单的方法,还是直接用函数randn(),
给出的是均值为0,方差为1的高斯正态函数的分布的数值。