用matlab模拟掷骰子 计算出现5点的频率 并画出随着试验次数n的增大 频率和概率的关系图
时间: 2024-02-12 07:09:46 浏览: 135
好的,下面是用MATLAB实现的代码:
```matlab
n = 1:10000; % 试验次数n的数组,从1到10000
freq = zeros(size(n)); % 频率的数组,初始化为0
for i = 1:length(n)
count = 0; % 记录出现5点的次数
for j = 1:n(i)
dice = randi([1, 6]); % 掷骰子
if dice == 5
count = count + 1;
end
end
freq(i) = count / n(i); % 计算出现5点的频率
end
prob = ones(size(n)) / 6; % 每个n对应的概率都是1/6
% 画图
plot(n, freq, 'b', 'LineWidth', 2)
hold on
plot(n, prob, 'r--', 'LineWidth', 2)
xlabel('Number of experiments')
ylabel('Frequency/Probability')
legend('Frequency', 'Probability')
```
在这个代码中,我们使用了MATLAB自带的`randi`函数来模拟掷骰子,`freq`数组用来存储每个试验次数n对应的出现5点的频率,`prob`数组用来存储每个试验次数n对应的概率。然后,我们对不同的试验次数n进行了模拟,并计算出相应的频率和概率。最后,我们使用`plot`函数来画出频率和概率随试验次数n增大的关系图。
你可以运行这段代码来看看结果。如果你对MATLAB不太熟悉,可以参考代码中的注释来理解每一行代码的作用。
阅读全文