生成高斯分布的matlab程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

clear all;

close all;

clc;

randn('seed',0);

%%一维高斯函数

mu=0;

sigma=1;

x=-6:0.1:6;

y=normpdf(x,mu,sigma);

plot(x,y);

figure;

%%二维或多维高斯函数

mu=[00];

sigma=[0.30;00.35];

[x y]=meshgrid(linspace(-8,8,80)',linspace(-8,8,80)');

X=[x(:) y(:)];

z=mvnpdf(X,mu,sigma);

surf(x,y,reshape(z,80,80));

hold on;

%再生成一个

mu=[40];

sigma=[1.20;0 1.85];

[x y]=meshgrid(linspace(-8,8,80)',linspace(-8,8,80)');

X=[x(:) y(:)];

z=mvnpdf(X,mu,sigma);

surf(x,y,reshape(z,80,80));

Matlab 的随机函数(高斯分布均匀分布其它分布)

Matlab中随机数生成器主要有:

betarnd 贝塔分布的随机数生成器

binornd 二项分布的随机数生成器

chi2rnd 卡方分布的随机数生成器

exprnd 指数分布的随机数生成器

frnd f分布的随机数生成器

gamrnd 伽玛分布的随机数生成器

geornd 几何分布的随机数生成器

hygernd 超几何分布的随机数生成器

lognrnd 对数正态分布的随机数生成器

nbinrnd 负二项分布的随机数生成器

ncfrnd 非中心f分布的随机数生成器

nctrnd 非中心t分布的随机数生成器

ncx2rnd 非中心卡方分布的随机数生成器

normrnd 正态(高斯)分布的随机数生成器,normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的随机矩阵

poissrnd 泊松分布的随机数生成器

rand:产生均值为0.5、幅度在0~1之间的伪随机数,rand(n):生成0到1之间的n阶随机数方阵,rand(m,n):生成0到1之间的m×n的随机数矩阵

randn:产生均值为0、方差为1的高斯白噪声,使用方式同rand

注:rand是0-1的均匀分布,randn是均值为0方差为1的正态分布

randperm(n):产生1到n的均匀分布随机序列

raylrnd 瑞利分布的随机数生成器

trnd 学生氏t分布的随机数生成器

unidrnd 离散均匀分布的随机数生成器

unifrnd 连续均匀分布的随机数生成器

weibrnd 威布尔分布的随机数生成器

-----------------------------------------------------------------

以下介绍利用Matlab产生均值为0,方差为1的符合正态分布的高斯随机数。

我们利用的函数为normrnd(a,b,c,d):产生均值为a、标准为b大小为cXd的随机矩阵,它有如下三种参数形式:

R=normrnd(μ,σ)

R=normrnd(μ,σ):生成服从正态分布(μ参数代表均值,σ参数代表标准差)的随机数。输入的向量或矩阵μ和σ必须形式相同,输出R也和它们形式相同。标量输入将被扩展成和其它输入具有相同维数的矩阵。

R=normrnd(μ,σ,m)

R=norrmrnd(μ,σ,m):生成服从正态分布(μ参数代表均值,σ参数代表标准差)的随机数矩阵,矩阵的形式由m定义。m是一个1×2向量,其中的两个元素分别代表返回值R中行与列的维数。

R=normrnd(μ,σ,m,n)

R=normrnd(μ,σ,m,n):生成m×n形式的正态分布的随机数矩阵。其中μ为均值,σ为标准方差,m、n为矩阵大小;

-----------------------------------------------------------------

>> R = normrnd(0,1,4,4) %产生4×4的标准正态分布矩阵

R =

0.5377 0.3188 3.5784 0.7254

1.8339 -1.3077

2.7694 -0.0631

-2.2588 -0.4336 -1.3499 0.7147

0.8622 0.3426 3.0349 -0.2050

>> var(R) %默认方差公式

ans =

3.0868 0.6085 5.1253 0.2465

>> var(R,0) %默认方差公式(N-1)

ans =

3.0868 0.6085 5.1253 0.2465

>> var(R,1) %方差公式(N)

ans =

2.3151 0.4564

3.8440 0.1849

>> var(R,0,1) %列操作,第二参数为方差方式,第三参数为行、列标记ans =

3.0868 0.6085 5.1253 0.2465

>> var(R,0,2) %行操作,第二参数为方差方式,第三参数为行、列标记ans =

2.3549

3.3782

1.6184

2.0146

>> var(R') %check the ans

ans =

2.3549

3.3782 1.6184 2.0146

>> var(R(:)) %矩阵所有元素的方差

ans =

2.6020

相关文档
最新文档