正文
本文已参与「新人创作礼」活动,一起开启掘金创作之路。之前有一个旅游管理系的学妹找我问本科毕业论文的事情,模拟了200多人填写问卷的结果。
代码
a=zeros(1,7);
b=rand(1,230)*10;
for j=1:230
while b(j)>7
b(j)=0;
b(j)=rand(1)*10;
end
if ceil(b(j))==7
%七全选的情况
a=a+ones(1,7);
elseif b(j)==6
c1=rand(1)*10;
%选六个的情况
while c1>7
c1=0;
c1=rand(1)*10;
end
if ceil(c1)==7
a(1,1:6)=a(1:1:6)+1;
elseif ceil(c1)==6
a(1,1:5)=a(1,1:5)+1;
a(7)=a(7)+1;
elseif ceil(c1)==5
a(1,1:4)=a(1,1:4)+1;
a(1,6:7)=a(1,6:7)+1;
elseif ceil(c1)==4
a(1,1:3)=a(1,1:3)+1;
a(1,5:7)=a(1,5:7);
elseif ceil(c1)==3
a(1,1:2)=a(1,1:2)+1;
a(1,4:7)=a(1,4:7)+1;
elseif ceil(c1)==2
a(1)=a(1)+1;
a(1,3:7)=a(1,3:7)+1;
elseif ceil(c1)==1
a(1,2:7)=a(1,2:7)+1;
end
%选5个的情况
elseif ceil(b(j))==5
c2=rand(1)*10;
c3=rand(1)*10;
while c2==c3 %%如果选中的两个数都相同,就变成一个了。不符合要求,所以要去掉。
c2=0;
c2=rand(1)*10;
c3=0;
c3=rand(1)*10;
end
while c2>7
c2=0;
c2=rand(1)*10;
end
while c3>7
c3=0;
c3=rand(1)*10;
end
if ceil(c2)==7
a(1,1:6)=a(1:1:6)+1;
elseif ceil(c2)==6
a(1,1:5)=a(1,1:5)+1;
a(7)=a(7)+1;
elseif ceil(c2)==5
a(1,1:4)=a(1,1:4)+1;
a(1,6:7)=a(1,6:7)+1;
elseif ceil(c2)==4
a(1,1:3)=a(1,1:3)+1;
a(1,5:7)=a(1,5:7);
elseif ceil(c2)==3
a(1,1:2)=a(1,1:2)+1;
a(1,4:7)=a(1,4:7)+1;
elseif ceil(c2)==2
a(1)=a(1)+1;
a(1,3:7)=a(1,3:7)+1;
elseif ceil(c2)==1
a(1,2:7)=a(1,2:7)+1;
end
if ceil(c3)==7
a(1,1:6)=a(1:1:6)+1;
elseif ceil(c3)==6
a(1,1:5)=a(1,1:5)+1;
a(7)=a(7)+1;
elseif ceil(c3)==5
a(1,1:4)=a(1,1:4)+1;
a(1,6:7)=a(1,6:7)+1;
elseif ceil(c3)==4
a(1,1:3)=a(1,1:3)+1;
a(1,5:7)=a(1,5:7);
elseif ceil(c3)==3
a(1,1:2)=a(1,1:2)+1;
a(1,4:7)=a(1,4:7)+1;
elseif ceil(c3)==2
a(1)=a(1)+1;
a(1,3:7)=a(1,3:7)+1;
elseif ceil(c3)==1
a(1,2:7)=a(1,2:7)+1;
end
%选中4个的情况
elseif ceil(b(j))==4
c4=rand(1)*10;
c5=rand(1)*10;
c6=rand(1)*10;
while c4==c5||c4==
代码注解
这个代码其实本身就是一个小实验,做着玩的,假设每个人都是随机选择的选项答案,就当磨练一下自己matlab技术,大家有兴趣也可以试一下!