数学建模之包饺子问题分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
包饺子问题分析
摘要
在日常生活中我们经常会遇到:同样的产品,不同大小的包装的时候,应该选择哪一种较为划算;包饺子,包馄饨的时候,皮多了或者馅多的问题,这个时候应该把饺子或者馄饨包大一些还是包小一些才能把多余的皮或馅用完。
这些问题在直观上不容易判断出结果,因此需要建立模型来来观察,以做出最佳选择。
关键词
包饺子数学模型实际问题的抽象化
¥
正文
一、问题提出
设在包饺子的时通常1kg面和1kg馅包100个饺子,有一次馅多了,问能否将饺子包大一些或小一些将这些馅仍用1kg面用完
二、问题分析
这是一个日常生活中常见的问题,问题的本质就是里用同样面积的饺子皮包更多的饺子馅。
将问题抽象为数学问题时,可以做出两个合理的假设: ①饺子皮的厚度一样,也即是饺子皮的总面积不变;②饺子馅的形状都一样,可以都看成球体,因为同样表面积下球体的体积最大,可以包更多的馅。
那么饺子包大一些时,饺子的个数就会减少,饺子包小一些时,饺子的个数就会增多。
也就是可以问题转化为:总表面积一定的n(n=1,2,3……)个球体,当n取多少的时候可以使得所有球体的总体积最大。
这里忽略了饺子皮的厚度。
"
在解决这个问题的时候,可以把问题进一步抽象到把得到的总体积与1
n 是情况比较,这样问题就可以的得到很大程度的简化。
并且可以先定性的分析问题,判断是将饺子包大还是包小才能达到题目要求,然后可以设计一个函数来模拟这个过程,通过函数
来观察这个问题。
三、基本假设
从上面的分析我们可以看到在实建立模型的时候,需要做出一些基本假设: ⒈ 饺子都是标准的球形的;
⒉ 饺子皮的厚度都一样,也就是饺子皮的总面积是常数; ⒊ ;
⒋
每个饺子都是皮刚好把馅包起来,不多也不少;
四、问题处理
1n =时对应的情况是:表面积为S ,体积为V 的一个球体;在一般情况下对应的情况则为:表面积为s ,体积为v 的n 个球体。
)
—
n =1时的大球体,此时有:
22S R π=, 34
3
V R π=
n 个小球体时,此时有:
22s r π=, 34
3
v r π=
此时则有:
`
22S R n s r ==, 33
V R v r
=
n =1时,大球体,表面积S 体积V
n 个小球体,表面积s 体积v
⇒ 32
V n v =)nv =nv ≥
由上式可以得到结论,球体个数少,即n 值越小,所有球体的体积和最大。
所以题目中的问题答案是应该包大一点,那样才可以把馅用完。
以上所做工作都是定性分析,得出来应该把饺子包大一些的定性结论,那么到底应该包大多少,具体由应该怎么来描述“变大”的饺子要想得到问题的答案,接下来就需要对问题进行定量分析。
根据前面的想法,可以用饺子的个数也即小球体的个数来定量的表观饺子的大小。
那么可以记所有球体的总体积为函数值()f n ,就可以通过以上分析得到()f n 与n 之间的函数关系:
()f n nv
==
'
其中可以认为V 为常数,因为V 为所有球体的总体积,对应实际问题中的表面积与
所有饺子皮面积相等的球体,是一个固定不变的值。
依题意有:()100
f =
⇒ ()100V = 又可知多出0.4kg 馅后,对应的数学关系为:()()1.4100f n f =
∴ ()()()1.4100100f n f ==
解方程可得:2
100
51.021.4n =
≈ )
则联系实际问题,n 值越小越好,且n 应为正整数,所以取n =51 。
所以原问题的
解决方案是:把饺子包大,平且包成51个可以刚好用完所有馅。
五、问题拓展
日常生活常识告诉我们,把100个饺子包成51个饺子,那么那51个饺子将几乎跟包子一样了。
因此很有必要对模型进行一定量的修改,以使模型更加符合实际情况。
在原来的假设中我们认为每个饺子都是皮刚好把馅包起来,但是在实际问题中这是
不可能的。
通过分析上面建立模型的过程,可以发现问题的关键在于饺子的体积
()
()1.4100100f =与表面积s 之间的函数关系,为了解决这个问题,可以在
做出一个合理的假设,认为体积v 与表面积s 的商是一个关于半径r 的函数,进一步可以认为是关于饺子个数n 的函数,即
()v
k n s
= 《
则1n =时有
()1V
k S
= 联立两式可得总体积()f n 与饺子个数n 的函数关系:
()()
()
1k n f n V k =
则当()()1.4100f n f =时
()
()1.4100100f =
⇒ ()()1
k n =
那么只要知道函数k 的表达式就可解出答案。
六、模型评价
通过数学思想的抽象化,得到了一个函数模型。
很明显这个模型比较简单,基本不具有实用性,只能对问题进行定性的考察,在对模型简单的修正,添加了函数k 后,是模型更加接近现实,有一定的实用性。
但是总的来说在建立模型的时候还是忽略了很多总要因素,需要进一步的改进。
%
结论
通过上面建立的模型,可以定性的得到结论,把饺子包大一些可以把多出的馅包完。
附录人狼羊菜渡河问题
编程设计思路
1、duhe(L,B,M,s)函数。
…
用来实现渡河总函数。
将起始矩阵A分别与可取运载相加(使用二进制法则),判断相加后的矩阵C是否是()
0000。
如果是,则渡河成功;否则,则用fuhe(C,M) 函数判断C是否是可取状态,如果是,则打印并将C与初始矩阵合并成新矩阵,继续调用函数。
2、fuhe(C,M)函数。
判断和矩阵C是否属于矩阵M,如果是,则返回1,否则返回0。
3、Panduan(S)函数。
判断S矩阵中是否有两个相同的状态,即行向量。
如果有,则返回0,否则返回1. `
4、print(K,C,S)函数。
打印相应的状态。
源程序为:
1、文件
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、文件
(
3、文件
function y=fuhe(C,M)
y=0;
for i=1:8
¥
if(C==M(i,:))
y=1;
break;
end
end
'
4、文件
function z=Panduan(S)
z=1;
[m,n]=size(S);
for p=1:m
for q=(p+1):m
if S(p,:)-S(q,:)==[0,0,0,0] z=0;
break;
end
end
end
5、文件
程序运行结果为:。