为什么是匹配变量太大?
1视图(30天)
显示旧的评论
我在玩一个代码,生成一个模拟器的生日悖论。这是一段代码:
准备好= false;
而~准备好了
%的用户输入和定义变量
birthday_repeats =输入(“选择生日重复的数量从10 - 500:“);
如果birthday_repeats > 500 | | birthday_repeats < 10 | | isempty (birthday_repeats) | |轮(birthday_repeats) ~ = birthday_repeats | | isnan (birthday_repeats)
disp (“错误”)
继续
结束
sample_size =输入(“选择样本大小从2 - 365:“);
如果sample_size > 365 | | sample_size < 2 | | isempty (sample_size) | |轮(sample_size) ~ = sample_size | | isnan (sample_size)
disp (“错误”)
继续
结束
匹配= 0 (1、sample_size);
N = 1000;
天=兰迪(1365);
%模拟运行
为k = 1: birthday_repeats%所需数量的试验
匹配= 0;
为j = 1:天
如果测试(天)
匹配(sample_size) =匹配(sample_size) + 1;
结束
结束
match_tally =匹配(sample_size) / N;
结束
我不知道为什么每次迭代后循环变量的匹配(sample_size)太大,这是“测试”功能:
函数=测试(数据)
= false;
n =长度(数据);
为k = 1: n
为我= k + 1: n
如果数据(k) = =数据(我)
= true;
打破
结束
结束
结束
结束
0评论
接受的答案
鸡向量
2023年5月2日
编辑:鸡向量
2023年5月2日
因为你初始化变量
匹配
两次
你第一次把它作为一个矢量,然后为每个循环迭代设置一个标量。
匹配= 0 (1、sample_size);
N = 1000;
天=兰迪(1365);
为k = 1: birthday_repeats
匹配= 0;% - - - - - - - - - - - - - - - - - - - - - -删除这条线- - - - - - - - - - - - - - - - - - - - - %
为j = 1:天
如果测试(天)
匹配(sample_size) =匹配(sample_size) + 1;
结束
结束
match_tally =匹配(sample_size) / N;
结束