matlab仿真随机数的产生

概率论和数理统计实验(matlab中实现)

一.伯努利分布

R=binornd(N,P); //N,P为二次分布的俩个参数,返回服从参数为N,P的二项分布的随机数,且N,P,R的形式相同。

R=binornd(N,P,m); //m是一个1*2向量,它为指定的随机数的个数,其中N,P分别代表返回值R中行与列的维数;

R=binornd(N,P,m,n); //m,n分别表示R的行数与列数;

例:一个射击手进行射击比赛,假设每枪射击命中率为0.45,每枪射击10次,共进行10万轮,就可以用matlab去仿真该实验的可能情况。

编写代码如下:

x=binornd(10,0.45,100000,1);
hist(x,11)

结果如图[射击结果直方图]

从上图可以看出,该射击员每轮最有可能命中4环。

二.泊松分布随机数

y=poisspdf(x,lambda); 求取参数为Lambda的泊松分布的概率密度函数值。

我要观察取不同的Lanbda值,使用poisspdf函数绘出来的泊松分布概率密度图像。(分别取2.5,5,10)

在matlab中编程

x=0:20;
y1=poisspdf(x,2.5);
y2=poisspdf(x,5);
y3=poisspdf(x,10);
hold on
plot(x,y1,':r*')
plot(x,y2,':b*')
plot(x,y3,':g*')
hold off

三.均匀分布随机数

1.R=unifrnd(A,B): 生成被A和B指定上下端点【A,B】的连续均匀分布的随机数组R.

2.R=unifrnd(A,B,m,n,…): 返回mn……数组.

a=0;
b=1:5;
r1=unifrnd(a,b)

r1 =

0.5799    0.2172    2.6572    3.2917    3.7076

四.正态分布随机数

R=normrnd(mu,sigma);返回均值为mu,标准差为sigma的正态分布的随机数据。

R=normrnd(mu,sigma,m,n,…);m,n分布表示R的行数与列数。

如果要得到mu=10,sigma=0.4的2行4列个正态随机数,可以在MATLAB命令行窗口输入代码:

R=normrnd(10,0.4,2,4)

R =

9.7923   10.1380   10.5178    9.5354
9.9844    9.6784    9.2855    9.9237

>> R=normrnd(10,0.4,2,4)

R =

9.7484   10.3920   10.1876   10.4871
10.1456   10.3034    9.5257   10.1286

>> R=normrnd(10,0.4,2,4)

R =

10.3718   10.2499    9.9566    9.9542
9.9151   10.1271    9.9685   10.1344

因为这样的矩阵有很多,本人在此只做了三组实验。

由于本人能力有限,编写过程中可能存在不足之处,望大家海涵~~~~

谢谢大家

原文地址:https://www.cnblogs.com/qw-blog/p/12343928.html

时间: 2024-08-09 11:32:58

matlab仿真随机数的产生的相关文章

【转】利用matlab生成随机数函数

原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成器 binornd:二项分布的随机数生成器 chi2rnd:卡方分布的随机数生成器 exprnd:指数分布的随机数生成器 frnd:f分布的随机数生成器 gamrnd:伽玛分布的随机数生成器 geornd:几何分布的随机数生成器 hygernd:超几何分布的随机数生成器 lognrnd:对数正态分布

经典功率谱估计及Matlab仿真

原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断等实际工程中.本文给出了经典功率谱估计的几类方法,并通过Matlab的实验仿真对经典功率谱估计方法性能进行了分析,最后说明了经典功率谱估计法的局限性和造成这种局限性的原因. 1.引言 给定一个标准的正弦信号,我们可以通过傅里叶变换来分析它的频率成分.然而,实际工程应用中,由于存在着各种干扰.噪声,我

Matlab产生随机数

介绍: Matlab产生随机数在有些时候是非常必要的,比如在产生某个范围的随机数进行相关的测试等: 函数命令介绍: 1.rand: rand(n):产生0到1之间的n阶随机数方阵: rand(m,n):产生0到1之间的m行n列的随机数矩阵: 2.randn:此函数命令是产生白噪声的(均值为0,方差为1) randn(n):产生0到1之间的n阶随机数方阵: randn(m,n):产生0到1之间的m行n列的随机数矩阵: 两者的区别:rand是0-1均匀分布:randn是产生白噪声的: 3.randi

用MATLAB仿真BPSK调制

这是本人的处女贴,以后还会写更多ICT方面的blog.今天为大家呈上MATLAB仿真BPSK调制的codes: clear all;clc; SNR_dB=1:1:9; SNR=10.^(SNR_dB./10); size=length(SNR_dB); A=ones(1,size);%固定A,定义变量sigma sigma=sqrt(1./(2*SNR));%A=1 N=10000; s=randi([0,1],1,N); s1=2*s-1; s2=zeros(1,N); N_errB=zer

极化码的matlab仿真(1)——参数设置

根据老师的安排,对于极化码的了解从仿真开始. 仿真的手段有很多种.可以利用C,C++,matlab等进行仿真的实现.其中matlab由于具有强大的函数库,和壮观的矩阵运算能力,被(我们老师课题组)看中了. 理由是,matlab的语法非常简单,接近自然语言.优秀的绘图能力,让其他软件自愧不如.还有众多的工具箱,功能强大到令人发指.当然非要用C来仿真也是可以的.但试想一个简单的函数,matlab只需要调用一下就好了,C语言怕是要自己动手写两行,何必自找麻烦呢. 话不多说,等下,我再说最后一句,本人研

MATLAB仿真总结

MATLAB仿真过程中,编写MATLAB代码的时候犯了很多错误,做了很多蠢事.记录下自己犯错的点点滴滴,并引以为戒.使用MATLAB版本为2014a,以下内容如有不当还请指正. 1. 仿真开始前清理工作区 工作区存在的变量可能会对脚本运行产生影响,故代码(脚本)开头需要添加如下命令 clc;clear all;close all; 2. 养成良好的变量.函数命名习惯 MATLAB中有很多内置的常量.函数等.写代码的时候不能够随意命名,以防造成不必要的麻烦.譬如在循环时不应该使用i,j变量,在MA

UVW平台运动控制算法以及matlab仿真

UVW平台运动控制算法以及matlab仿真 最近公司同事因为对某视觉对位平台的运动控制算法有疑问,所以来请教我.由于我也是第一次接触到UVW自动对位平台(也可以叫XXY自动对位平台),于是找了一些资料学习一下,大概了解了运动模式后,使用matlab模拟了此平台,并验证了UVW平台资料提供的运动控制算法的正确性. 一.UVW平台介绍 1.这是一种可以实现以平面上任意一点为中心,进行旋转运动的装置,并可沿着任意的方向平移.2.此平台和视觉CCD纠偏系统对接在一起,可以很快完成高精度的纠偏工作,重复定

[原创]Matlab生成随机数

Matlab中有着丰富的随机数生成函数以应用于不同的情景,我一般使用生成随机的1~N的整数,但是之前了解的只有rand函数,其生成主要为0~1之间的随机数,但是和所预想的有差异.在此进行进行了help指令,之后了解到了randi函数,并初步学会使用,在此做一个记录. rand函数 rand函数是生产0~1的随机数,rand(N)为生产一个N行N列的随机数矩阵,rand(M,N)为生成一个M行N列的随机数矩阵.以下为一些示例. >> rand(3) ans = 0.8147 0.9134 0.2

MATLAB仿真中连续和离散的控制器有何区别?

matlab系统同时提供连续和离散的控制器和对象的目的是:在降低用户使用复杂程度的同时提高仿真精度.仿真速度和应用的广泛性. 仿真步长和求解精度的概念对于理解这个问题至关重要. 首先是步长,步长和求解精度存在一对矛盾,步长的选择是仿真消耗的时间和求解精度要求的折中.计算机只能一步一步计算你的电路或者其他方程,例如你输入一个连续的信号,计算机在一个时刻仅仅会采集这个信号上的一个点,然后把这个点带入你的控制器数学方程中,求出电路方程的一个解,根据这个解得到系统的输出.因此,仿真波形其实是一个个的点聚