matlab中心极限定理、高斯分布拟合。

产生均匀分布的随机信号+将信号叠加

今日又做了一次大作业,目标之一是产生100个均匀分布的随机信号,叠加之后用高斯分布拟合。中间有一些收获,特此记录。

产生均匀分布的信号:

clc;
clear all;
close all;
sig=ones(100,10000);
SIGNAL=zeros(1,10000);
for i=1:100
    sig(i,:)=sig(i,:).*rand(1,10000);            
end
for j=1:100
    SIGNAL=SIGNAL+sig(j,:);
end

除此之外,为了验证中心极限定理,我还做了一个β分布的随机数的序列,代码如下:

clc;
clear all;
close all;
r=zeros(100,10000);
sig=zeros(1,10000);
for i=1:100
    for j=1:10000
        r(i,j)=betarnd(2,2);
    end
end
for i=1:100
    sig=r(i,:);
end

再附上一些常用分布的随机生成函数:
betarnd β分布
binornd 二项分布
chi2rnd 卡方分布
exprnd 指数分布
gamrnd 伽马分布
poissrnd 泊松分布

记录一个常用函数:

[f,x]=ksdensity(sig);
matlab的help记录得很详细,大概就是求出一串数据的概率分布,返回x和f,f是每个值对应的概率,可以直接使用plot(x,f)来绘制概率分布图。

高斯分布拟合

u=mean(SIGNAL);                            %均值
delta=var(SIGNAL);                          %方差
y=1/sqrt(2*pi*delta).*exp(-(x-ones(1,length(x)).*u).^2./(2*delta));

可以改变数据长度来对比拟合效果,如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以明显的见到,数据长度越长,拟合效果就越好。

  • 7
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值