Board logo

标题: 送给一个小朋友 [打印本页]

作者: okcb    时间: 2008-5-26 14:39     标题: 送给一个小朋友

5月26日
用Microsoft Math求不定方程的整数解

有一次,跟小孩一起做数学练习:用1毛、2毛、5毛钱凑成1块钱坐公共汽车,有多少种结果?我马上试图用Maple来解这个方程,看看结果如何。目的是想建立一个观念,就是说,世界上的东西都可以用数学来表达,而且都可以通过计算机试图解决。 不巧的是,Maple解不定方程是一个弱项。未知数个数多于方程个数,且对解有一定限制(比如要求解为正整数等)的方程就是不定方程。公元5世纪的《 张丘建算经》中的百钱买百鸡问题标志中国对不定方程理论有了系统研究:“鸡翁一,直钱五,鸡母一,直钱三,鸡雏三,直钱一。百钱买百鸡,问鸡翁、母、雏各几何?”百元百鸡问题,Maple基本上可以解出来,就是用它的整数解函数: > isolve({x+y+z = 100, 5*x+3*y+(1/3)*z = 100}); (命令行) {z = 75 + 3 _Z1, x = 4 _Z1, y = 25 - 7 _Z1} (输出结果) 据此结果,可以算得三组解{4,18,78},{8,11,81},{12,4,84}(z1分别取值1、2、3)。而对于另一个问题,Maple似乎束手无策。实际上,严格讲这个数学引擎是可以解出以上两个方程(组)的,从它作出来的图形可以看出来,只是它没有办法呈现出指定的所需的整数解。 对于0.1x+0.2y+0.5z=1这个方程,微软的Math可提供了一个实用的作图法来求整数解。过程是:
1、进入作图求解页面。可选择3D作图,按提示输入方程,x=-2y-5z+10 (已化简),结果如下图。
2、设定取值范围和点数。选择输出表格的小工具图标后出现如下对话框,设定y、z的取值范围:
Y代表2毛钱的数目,那就是0、1、2、3、4、5共6个,z是5毛钱的数目,那就是0、1、2共三个数。
3、输出结果。确认后输出一个表格,把表格中x取值负数去掉后变成: 这就是需要的解。此外,还可以用2D作图法来求解,也是相当有趣。Microsoft Math是微软百科全书2008学生版中附加的一个数学工具,它提供了更好的人机对话互动环境。
[td=1,1,72]X(1毛) [td=1,1,72]Y(2毛) [td=1,1,72]Z(5毛)
第1组 [td]10 [td]0 [td]0
第2组 [td]8 [td]1 [td]0
第3组 [td]6 [td]2 [td]0
第4组 [td]4 [td]3 [td]0
第5组 [td]2 [td]4 [td]0
第6组 [td]0 [td]5 [td]0
第7组 [td]5 [td]0 [td]1
第8组 [td]3 [td]1 [td]1
第9组 [td]1 [td]2 [td]1
二〇〇八年五月十三日




欢迎光临 罗大佑音乐联盟网论坛 (http://luodayou.net/bbs2/) Powered by Discuz! 6.0.0