MATLAB在数学教学中的应用(5)
发布时间:2021-06-11
发布时间:2021-06-11
2.1.2 数值计算与模拟
MATLAB 的数值计算功能非常强大,既可以完成数值代数、数值逼近和微分方程数值解等传统内容,也可以借助编程完成如统计计算、分形与混沌研究等,还可以借助Simulink 完成系统模拟等任务。
【例3】生日问题[2]。 美国数学家柏格米尼曾经做过一个别开生面的试验:在一个盛况空前的人山人海的世界杯足球赛赛场上,它随机地在某看台上请23个球迷分别写下了自己的生日,结果竞发现其中的两个人生日相同。怎么会这么凑巧呢?请用概率的知识加以说明。
【理论推导】:设随机选取(365)s ≤个人,记A={至少有两个人的生日相同},则A ={所有人生日全不相同},则
365()1()1365s s
P P A P A =-=- 因此,随着选取人数(365)s ≤的增加,概率()P A 接近于1;当365s >时,就成为一个必然事件。
【计算机模拟演示】:
下面通过计算机程序模拟生日问题,即从1,2,…,365个整数中随机产生s(用户自己输入)个可重复的整数来模拟实验结果。步骤如下:
Step1:产生s 个随机数,统计结果;
Step2:重复Step1多次,统计试验结果,并计算出现相同值的频率; Step3:改变s ,重复Step1和Step2,每一种情况下的频率;
Step4:绘制频率图和频率累计图并与理论结果比较。
【程序】:【BirthdayProb.m 】
【例4】微分方程数值解
求解初值问题3()()4()()()3()(0)1,(0)8x t x t x t y t y t x t x y '⎧=---⎪'=⎨⎪==-⎩
,并绘
制斜率场及解曲线。
【步骤】:
【Step1】:单独定义微分方程;