• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

matlab中各种高斯相关函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

matlab中各种高斯相关函数

最常见的是产生服从一维标准正态分布的随机数

  1. n=100
  2. x=randn(1,n) 

实现服从任意一维高斯分布的随机数

  1. u=10
  2. sigma=4
  3. x=sigma*randn(1,n)+u 

产生服从多元高斯分布的随机变量函数mvnrnd,[multivarite normal random]

  1. n=100; %产生随机数的个数 
  2. mu=[1 -1]
  3. Sigma=[.9,.4;.4,.3]
  4. r=mvnrnd(mu,Sigma,n); 

将产生的随机数绘制在二维平面

  1. scatter(r(:,1),r(:,2)); 


1474457688429.jpg

当然mvnrnd函数还可以产生更高维数的高斯随机数,具体参见matlab help。


产生多元高斯分布概率密度函数
Y=mvnpdf(X,[MU,Sigma])
其中可省参数MU,Sigma默认值分别为零向量和单位阵,X是的矩阵,N是样本个数,D是样本维数。

  1. mu = [1 -1]; Sigma = [.9 .4; .4 .3]
  2. [X1,X2] = meshgrid(linspace(-1,3,25)\', linspace(-3,1,25)\'); 
  3. X = [X1(:) X2(:)]
  4. p = mvnpdf(X, mu, Sigma); 
  5. surf(X1,X2,reshape(p,25,25)); 

和下面代码产生的趋势相同

  1. mu = [1 -1]
  2. Sigma = [.9 .4; .4 .3]
  3. [X,Y] = meshgrid(linspace(-1,3,25)\', linspace(-3,1,25)\'); 
  4. for i=1:25 
  5. for j=1:25 
  6. XY=[X(i,j),Y(i,j)]
  7. Z(i,j)=exp(-0.5*(XY-mu)/Sigma*(XY-mu)\'); 
  8. end 
  9. end 
  10. surf(X,Y,Z); 


1474460161935.jpg


高斯分布函数
Y=mvncdf(X,[Mu],[Sigma]) , cumulative probability of the multivariate norm distribution with mean Mu and covariance Sigma.
具体使用看代码

  1. mu = [1 -1]; Sigma = [.9 .4; .4 .3]
  2. [X1,X2] = meshgrid(linspace(-1,3,25)\', linspace(-3,1,25)\'); 
  3. X = [X1(:) X2(:)]
  4. p = mvncdf(X, mu, Sigma); 
  5. surf(X1,X2,reshape(p,25,25)); 


1474460555428.jpg


高斯隶属函数
gaussmf(X,[Sigma,Mu])

  1. x = (0:0.1:10)\'
  2. y1 = gaussmf(x, [0.5 5]); 
  3. y2 = gaussmf(x, [1 5]); 
  4. y3 = gaussmf(x, [2 5]); 
  5. y4 = gaussmf(x, [3 5]); 
  6. plot(x, [y1 y2 y3 y4]); 


1474460751315.jpg


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Matlab(1): 随机函数rand使用的技巧发布时间:2022-07-18
下一篇:
matlab 全部的随机数函数发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap