您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 数学建模之包饺子问题分析
数学建模包饺子问题-1-包饺子问题分析摘要在日常生活中我们经常会遇到:同样的产品,不同大小的包装的时候,应该选择哪一种较为划算;包饺子,包馄饨的时候,皮多了或者馅多的问题,这个时候应该把饺子或者馄饨包大一些还是包小一些才能把多余的皮或馅用完。这些问题在直观上不容易判断出结果,因此需要建立模型来来观察,以做出最佳选择。关键词包饺子数学模型实际问题的抽象化正文一、问题提出设在包饺子的时通常1kg面和1kg馅包100个饺子,有一次馅多了0.4kg,问能否将饺子包大一些或小一些将这些馅仍用1kg面用完?二、问题分析这是一个日常生活中常见的问题,问题的本质就是里用同样面积的饺子皮包更多的饺子馅。将问题抽象为数学问题时,可以做出两个合理的假设:①饺子皮的厚度一样,也即是饺子皮的总面积不变;②饺子馅的形状都一样,可以都看成球体,因为同样表面积下球体的体积最大,可以包更多的馅。那么饺子包大一些时,饺子的个数就会减少,饺子包小一些时,饺子的个数就会增多。也就是可以问题转化为:总表面积一定的n(n=1,2,3……)个球体,当n取多少的时候可以使得所有球体的总体积最大。这里忽略了饺子皮的厚度。在解决这个问题的时候,可以把问题进一步抽象到把得到的总体积与1n是情况比较,这样问题就可以的得到很大程度的简化。并且可以先定性的分析问题,判断是将饺子包大还是包小才能达到题目要求,然后可以设计一个函数来模拟这个过程,通过函数来观察这个问题。三、基本假设数学建模包饺子问题-2-从上面的分析我们可以看到在实建立模型的时候,需要做出一些基本假设:⒈饺子都是标准的球形的;⒉饺子皮的厚度都一样,也就是饺子皮的总面积是常数;⒊每个饺子都是皮刚好把馅包起来,不多也不少;四、问题处理1n时对应的情况是:表面积为S,体积为V的一个球体;在一般情况下对应的情况则为:表面积为s,体积为v的n个球体。n=1时的大球体,此时有:22SR,343VRn个小球体时,此时有:22sr,343vr此时则有:22SRnsr,33VRvr32Vnvnnvnv由上式可以得到结论,球体个数少,即n值越小,所有球体的体积和最大。所以题目中的问题答案是应该包大一点,那样才可以把馅用完。以上所做工作都是定性分析,得出来应该把饺子包大一些的定性结论,那么到底应该包大多少,具体由应该怎么来描述“变大”的饺子?要想得到问题的答案,接下来就需要对问题进行定量分析。根据前面的想法,可以用饺子的个数也即小球体的个数来定=1时,大球体,表面积体积个小球体,表面积体积数学建模包饺子问题-3-量的表观饺子的大小。那么可以记所有球体的总体积为函数值fn,就可以通过以上分析得到fn与n之间的函数关系:1fnnvVn其中可以认为V为常数,因为V为所有球体的总体积,对应实际问题中的表面积与所有饺子皮面积相等的球体,是一个固定不变的值。依题意有:1100100fV100100Vf又可知多出0.4kg馅后,对应的数学关系为:1.4100fnf11.4100100100fnffn解方程可得:210051.021.4n则联系实际问题,n值越小越好,且n应为正整数,所以取n=51。所以原问题的解决方案是:把饺子包大,平且包成51个可以刚好用完所有馅。五、问题拓展日常生活常识告诉我们,把100个饺子包成51个饺子,那么那51个饺子将几乎跟包子一样了。因此很有必要对模型进行一定量的修改,以使模型更加符合实际情况。在原来的假设中我们认为每个饺子都是皮刚好把馅包起来,但是在实际问题中这是不可能的。通过分析上面建立模型的过程,可以发现问题的关键在于饺子的体积1.41001001001knffk与表面积s之间的函数关系,为了解决这个问题,可以在做出一个合理的假设,认为体积v与表面积s的商是一个关于半径r的函数,进一步可以认为是关于饺子个数n的函数,即vkns则1n时有1VkS数学建模包饺子问题-4-联立两式可得总体积fn与饺子个数n的函数关系:1knfnVk则当1.4100fnf时1.41001001001knffk1.41100knk那么只要知道函数k的表达式就可解出答案。六、模型评价通过数学思想的抽象化,得到了一个函数模型。很明显这个模型比较简单,基本不具有实用性,只能对问题进行定性的考察,在对模型简单的修正,添加了函数k后,是模型更加接近现实,有一定的实用性。但是总的来说在建立模型的时候还是忽略了很多总要因素,需要进一步的改进。结论通过上面建立的模型,可以定性的得到结论,把饺子包大一些可以把多出的馅包完。数学建模包饺子问题-5-附录人狼羊菜渡河问题编程设计思路1、duhe(L,B,M,s)函数。用来实现渡河总函数。将起始矩阵A分别与可取运载相加(使用二进制法则),判断相加后的矩阵C是否是0000。如果是,则渡河成功;否则,则用fuhe(C,M)函数判断C是否是可取状态,如果是,则打印并将C与初始矩阵合并成新矩阵,继续调用duhe.m函数。2、fuhe(C,M)函数。判断和矩阵C是否属于矩阵M,如果是,则返回1,否则返回0。3、Panduan(S)函数。判断S矩阵中是否有两个相同的状态,即行向量。如果有,则返回0,否则返回1.4、print(K,C,S)函数。打印相应的状态。源程序为:1、xduhe.m文件clear;clc;A=[1,1,1,1];B=[1,0,1,0;1,1,0,0;1,0,0,1;1,0,0,0];M=[1,1,1,0;0,0,0,1;1,1,0,1;0,0,1,0;1,0,1,1;0,1,0,0;1,0,1,0;0,1,0,1];duhe(A,B,M,1);2、duhe.m文件数学建模包饺子问题-6-3、fuhe.m文件functiony=fuhe(C,M)y=0;fori=1:8if(C==M(i,:))y=1;break;endend4、Panduan.m文件functionz=Panduan(S)z=1;[m,n]=size(S);forp=1:mforq=(p+1):mifS(p,:)-S(q,:)==[0,0,0,0]z=0;break;endendend5、print.m文件程序运行结果为:数学建模包饺子问题-7-
本文标题:数学建模之包饺子问题分析
链接地址:https://www.777doc.com/doc-7174416 .html