求生成的成绩呈正态分布的matlab程序

来源:百度知道 编辑:UC知道 时间:2024/09/24 22:44:13
求一个matlab程序,生成一个呈正态分布的成绩,在1-100间,有100个数!小弟在此先谢谢了.急啊!

a=randn(110,1)*50/3+50 ;
a=fix(a);%取整数
a=a(a>=0&a<=100); %剔除不符合要求数据
a=a(1:100); %到此a满足要求
%生成正态分布的向量,均值50,标准差50/3,也就是说
%小于零或大于一百属于小概率事件,不过偶尔也还会发生的,超出的剔除了。
%如果想让高分和低分的比例高一些,那就把方差变大一些,50/3变成50/2.
%下面的程序是验证和画图的程序。
mean(a)%均值
std(a)%方差
a=sort(a)%排序

for m=1:10
c=find(((m-1)*10)<=a&a<m*10);
b(m)=length(c);
end
b %正态分布统计
%这段程序可以直接作为一个m文件来用。