# Matlab学习案例

# 投骰子

b1=100;
b2=100;
% a=randi([1,6],b1,b2);
% a=randi(6,b1,b2);
a=randi([1,6],b1,b2)
i=0;j=0;k=0;x=0;y=0;z=0;
for m=1:1:b1
for n=1:1:b2
if a(m,n)==1
i=i+1;
elseif a(m,n)==2
j=j+1;
elseif a(m,n)==3
k=k+1;
elseif a(m,n)==4
x=x+1;
elseif a(m,n)==5
y=y+1;
else z=z+1;
end
end
end
fprintf('1出现的概率是 %f\n',(i/(b1*b2)));
fprintf('2出现的概率是 %f\n',(j/(b1*b2)));
fprintf('3出现的概率是 %f\n',(k/(b1*b2)));
fprintf('4出现的概率是 %f\n',(x/(b1*b2)));
fprintf('5出现的概率是 %f\n',(y/(b1*b2)));
fprintf('6出现的概率是 %f\n',(z/(b1*b2)));

输出结果

20240721214944

# 排序练习

%模拟一个班级n人的考试成绩,对成绩进行排序,对应每个同学的成绩及排名,以n=7人为例:
score=randi([60,100],1,7)
[sort_score,stu_num]=sort(score,'descend')
[sort_numb,stu_rank]=sort(stu_num)
%score是由randi随机生成1号同学、2号同学......7号同学的成绩行向量
%sort_score将成绩由高到低进行排序,stu_num展示成绩由高到低时对应的学生号,例如第一名是x号同学,第二名是y号同学......
%sort_numb是将学生号由低到高进行排序,stu_rank采集了这些学生号在由高到低的成绩排序中的位置,
%于是将sort_numb与stu_rank对应起来,就得到1号学生排在第x名,2号学生排在第x名
%总结:sort_score与stu_num配合起来,展示第一名(最高分)是x号同学,第二名(次高分)是x号同学......;sort_numb与stu_rank配合起来,展示1号同学是第几名,2号同学是第几名,以此类推...
Last Updated: 12/23/2024, 4:18:13 AM