已知数据分布在45~80之间,且60以上的有523人(共1000人),如何用matlab模拟出这100个数据?

showtime_97
2014-08-10 · TA获得超过4782个赞
知道大有可为答主
回答量:1005
采纳率:90%
帮助的人:817万
展开全部

clear all
min_1=45;%最小值
min_2=60;%最小值
max=80;%最大值
n=1000;%总共多少个数据
m=523;%60分以上的个数

x1=rand(1,n-m);
y1=round(min_1+(min_2-min_1-1)*x1);%45-59分的数据

x2=rand(1,m);
y2=round(min_2+(max-min_2)*x2);%60-80分的数据

 

Y=[y1,y2];%合并两组数据
Y1=Y(randperm(n));%将合并后的数据顺序打乱,得到最终需要的分数数组

Yn1=length(find(Y1>=60&Y1<=80));%检测60分以上的个数是否符合设定m

 

figure(1)

plot(Y1)
xlabel('数据点'),ylabel('分数')
title(['分数数据 (60分以上个数',num2str(Yn1),')'])

%这程序每运行一次得到的每种数据值的个数都不同,请注意及时保存成数据文件

 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式