欢迎来到天天文库
浏览记录
ID:47044781
大小:316.00 KB
页数:13页
时间:2019-07-07
《实验七 数字填图问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验七 数字填图问题一、问题背景和实验目的数字填图问题是数学问题的一种趣味形式.早在19世纪后半期,一些数学家就在报刊中大量使用数字填图游戏和字谜游戏等,目的是使业余爱好者也能通过简单的形式去认识、理解和琢磨深奥的数学问题,这些问题中甚至包括困惑了世间智者350多年、于1994年才刚刚被证明了的“费马大定理”.100多年来,数字填图问题对数学界所起的作用是不言而喻的.大家都知道,数学问题一般都经过严格的逻辑证明才得以解决.而逻辑证明是指从一些公理出发,经过逻辑推理来证明问题.但随着20世纪40年代以来计算机的诞生和发展,计算机改变了整个世界,计算机已在
2、各个领域发挥作用,并取得了许多重大进展.于是,能否用计算机来证明数学问题便成了大家关心的话题.所谓计算机证明是指充分发挥计算机计算速度快和会“推理”的特点,用计算机程序模拟解题或进行穷举检验,最后得到问题的解.几乎所有的数学家对计算机证明持保留态度,因为他们相信,只有逻辑证明才是真正可靠的.但“四色问题”的证明,又使他们感到困惑,因为“四色问题”的证明实际上是一个计算机证明.能否用计算机来证明数学问题的争论可能会持续一个相当长的时间,本实验旨在通过生活中几个常见的数字填图问题的探究,谈谈这类问题的逻辑推理解法和计算机解法.二、相关函数(命令)简介1.c
3、putime命令:记录执行本命令时的Matlab时钟的时间(秒).2.tic命令:开始计时.3.toc命令:结束计时.4.disp(x):输出矩阵x.x的各项应为字符,所以在输出时要进行转化.相关的命令有:num2str():把数值转化为字符;mat2str():把矩阵转化为字符.5.fopen(filename,mode):用mode方式打开/建立filename文件,以备写入数据,使用方式:fid=fopen(filename,mode).6.fclose(fid):关闭上述文件.例如下列程序是把一个两行的矩阵y写入文件output.dat:x=0
4、:0.1:1;y=[x;exp(x)];fid=fopen(’output.dat’,’wt’);fprintf(fid,’xexp(x)’);fprintf(fid,’%6.2f%12.8f’,y);%实际得到的是矩阵y的转置矩阵status=fclose(fid);与C语言的文件操作方式相类似.118三、实验内容让我们先从一个简单的问题出发来谈谈数字填图问题的两种解法.然后通过几个稍复杂问题的探究,从中展示逻辑推理的严谨以及计算机解法的魅力,启迪我们去解决更复杂的数学问题.注:在本实验中,将表达式abc理解为,即100*a+10*b+c,其
5、余类似,不另加说明.(一)、一个简单的问题及其解答问题一:在图1的几个加法等式中,每个□表示一个非零数字,任意两个数字都不相同,问有多少个解?图1【逻辑解法】为简洁起见,将它的3个式子记作:a+b=c,d+e=f,g+h=i0,若问题有解,则显然有i=1,且(a+b)+(d+e)+(g+h)=c+f+i´10,故45=(a+b+c)+(d+e+f)+(g+h+i)=2(c+f)+i´11,即c+f=17,故c=8,f=9或c=9,f=8.考虑到a~i互不相同,当要求a
6、表中的第2、3行,第4、5行所代表的解仅是位置不同而已.如不要求a
7、解法,但所用程序有一定的代表性,稍加修改即可解决一系列问题,这点可从下面的问题中看到.(二)、几个较复杂的问题及其解答问题二:在图2的4个算式中,每个□表示一个非零数字,任意两个数字都不相同,问(A)、(B)、(C)和(D)这4种情形分别有多少个解?118图2讨论:显然,情形(C)无解.情形(D)与情形(C)实际上是同一个问题,因此也无解.情形(B)与情形(A)实际上也是同一个问题.我们先讨论情形(A)的解的个数.【逻辑解法】为简洁起见,将此竖式记作:abc+def=ghi,即,其中a~i代表1~9这9个互不相同的非零数字.据九余数性质可知,两个“加数
8、”中的六个数字之和被9除的余数应等于“和数”中的三个数字之和被9除的余数.又这两个“加数”与“
此文档下载收益归作者所有