数学建模由鸡兔同笼问题抽象出的一类线性方程组的解法并用代码进行实现.doc.docVIP

数学建模由鸡兔同笼问题抽象出的一类线性方程组的解法并用代码进行实现.doc.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数学建模由鸡兔同笼问题抽象出的一类线性方程组的解法并用代码进行实现.doc

由鸡兔同笼问题抽象出的一类线性方程组的解法并用代码进行实现 摘要: 线性方程组的解法,早在中国古代的数学著作《九章算术 方程》章中已作了比较完整的论述。其中所述方法实质上相当于现代的对方程组的增广矩阵施行初等行变换从而消去未知量的方法,即高斯消元法。在西方,线性方程组的研究是在 17 世纪后期由莱布尼茨开创的。他曾研究含两个未知量的三个线性方程组组成的方程组。麦克劳林在 18 世纪上半叶研究了具有二、三、四个未知量的线性方程组,得到了现在称为克莱姆法则的结果。克莱姆不久也发表了这个法则。 18世纪下半叶,法国数学家贝祖对线性方程组理论进行了一系列研究,证明了n元齐次线性方程组有非零解的条件是系数行列式等于零。 大量的科学技术问题,最终往往归结为解线性方程组。因此线性方程组的数值解法在计算数学中占有重要地位。本文将对一般线性方程组的解法进行探究。 关键字:线性方程组、高斯消元、矩阵 相关知识: 高斯消元法: 基本思想:用逐次消去未知数的方法把原方程组化为上三角形方程组进行求解。 求解分为两步: 消元过程:用初等行变换把原方程组的系数矩阵化为上三角形矩阵。 回代过程:对上三角方程组的最后一个方程求解,将求得的解逐步往上 一个方程代入求解。 一、问题的提出 大约在1500年前,我国古代数学名著《孙子算经》中记载了一个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?” 这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? 古人在《孙子算经》中是这样解决这个问题的:假设让鸡抬起一只脚,兔抬起两只脚,还有94÷2=47只脚;这时每只鸡一只脚,每只兔两只脚,笼子里只要有一只兔,则脚的总数就比头的总数多1;这时脚的总数与头的总数之差47-35=12,就是兔的只数。 这个问题虽然很容易就得到了解决,但是在继续进行“龟鹤同游”和“人狗同行”问题的研究时,我们发现 “鸡兔同笼”不只是代表着鸡、兔同笼的问题,有很多类似的问题都可以看成是“鸡兔同笼”问题,如牛鸡问题、汽车和自行车的轮子问题等等。 所以,我们对这类问题进行抽象,以找出这一类问题的解法。 问题分析 对于“鸡兔同笼”问题不用方程的思想可以这样认为: 假设全是鸡:2×35=70(只)   比总脚数少的:94-70=24 (只)   兔:24÷(4-2)=12 (只)   鸡:35-12=23(只) 针对“鸡兔同笼”的实际问题,其中假设的“x”和“y”都必须是非负整数,实际生活中的问题的解并不都是这样整齐的,于是我们继续将这个问题一般化,这一类的所有问题都可以归结为解方程组: 即Ax=b 其中,A=,b= 对比看:这样,就将与“鸡兔同笼”同类问题抽象为求二元一次方程组的解的问题。利用以前所学习过的知识,上述问题很容易求得答案。于是这一类问题很容易的得到解决。 而在实际生活中,只存在两个变量的问题是很少的,例如下面的问题: 营养减肥食谱 剑桥减肥食谱——用33种食物精确提供31种营养现仅考虑三种食品三种营养成分如下表: 营养 每100克成分所含的营养(g) 剑桥食谱一天所提供的营养 脱脂牛奶 大豆粉 乳清 蛋白质 36 51 13 33 碳水化合物 52 34 74 45 脂肪 0 7 1.1 3 同样将变量抽象为数学符号,设这三种食物的量分别为,,。 可列方程组: 其增广矩阵B为: 用高斯消元法对矩阵化简: 回代得解:=0.277,=0.392,=0.233. 为了提供所需要的蛋白质、碳水化合物和脂肪总量,食谱中需要包含0.277单位的脱脂牛奶,0.392单位的大豆粉,0.233单位的乳清. 由上面问题可以看出,将问题抽象为数学符号并用二元一次方程组和三元一次方程组的方法求解会使问题更加清晰,把事物符号化也更容易向别人解释阐述。 三、问题的推广 在实现了三元一次方程组求解之后,我们希望找到更复杂问题的解,于是将方程推广为n元 其中的以及等等是已知的常数,而等等则是要求的未知数。 如果用线性代数中的概念来表达,则线性方程组可以写成: 其中, 由于方程与未知数较多,计算较为复杂,为了更高效的求解,我们利用高斯消元法的思想用c语言编写程序,实现对n元线性方程组的求解。 四、程序代码 #includemath.h #includestdio.h #define MAX 10 float a[MAX][MAX+1] ,ark; int r,n; jiaohuan(int r,int k) { float b; int i,j; for(i=1;i=n+1;i++) { b=a[r][i]; a

您可能关注的文档

文档评论(0)

bodkd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档