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是每个值对应的概