当前位置:首页 > 资讯信息 > 正文

2020五一数学建模b题论文?数学建模解决实际问题论文

一、2017数学建模b题优秀论文

利用数学知识解决现实生活的具体问题了成为当今数学界普遍关注的内容,利用建立数学模型解决实际问题的数学建模活动也应运而生了。下文是我为大家搜集整理的关于2017数学建模b题优秀论文的内容,欢迎大家阅读参考!

2017数学建模b题优秀论文篇1浅谈数学建模实验教学改革

摘要:阐述了数学建模课程在大学生知识面的拓宽、全方位能力的培养以及人文素质的提高三方面的重要作用 ,提出了数学建模课程有助于提高学生的综合素质 。从数学建模理论课程和实验教学两者之间的区别与联系的角度提出了实验教学改革的必要性,最后针对数学建模实验教学的具体情况提出了实验教学改革的措施。

关键词:数学建模;实验教学;教学改革

2020五一数学建模b题论文?数学建模解决实际问题论文

一 、数学建模课程有助于提高学生的综合素质

随着教育改革的不断深入,我国目前正在开展以“素质和素质教育”为核心的教育思想与教育观念大讨论。在1983年召开的世界大学校长会议中 ,对理想的大学生综合素质提出了三条标准:专业知识要掌握本学科的方法论、具有将本学科知识与实际生活与其他学科相结合的能力以及具有良好的人格素质 。[1]

数学是一切科学和技术的基础,数学的思考方式对培养学生科学的思维方法具有重要意义,因而数学的重要性是毋庸置疑的。数学和各学科的相互渗透及其在技术中的应用 ,推动了数学本身的发展和各个学科理论的发展。戴维在1984年说过:“对数学研究的低水平的资助只能来自对于数学研究带来的好处的完全不妥的评价 。显然,很少有人认识到当今被如此称颂的‘高技术’本质上是数学技术。”数学的广泛应用性主要取决于数学的思维方式。数学对于学生的培养,不只是数学定理的证明 ,公式、定义的理解,重要的是培养学生具备正确的思想方法,而且可以依据自己所学到的知识不断创新 、不断寻找新的途径 。

21世纪以来 ,数学建模课程的开设在国内高校中稳步展开 ,并获得了广泛认同。参加数学建模竞赛的学校和人数逐年上升,数学建模课程的重要性得到广泛认可,越来越多的高校开设了数学建模课程。[2-4]与传统数学所给的应用题有所不同 ,数学建模课程着重培养学生的创造性 。由于数学建模是从实际问题着手,经过分析、抽象、简化建立数学模型,然后求解 、验证并解释实际问题的过程 。社会实践中的有些实际问题 ,没有一个明确的已知条件,有时甚至连求解目标也要经过分析问题的各种因素自行确定。这就要求建模者具有较宽的基本知识面,分析问题的能力 ,具有一定的想象力、联想力、洞察力和创新力,具有归纳综合和计算能力等等,即要求具有较好的数学文化素质。

1.数学建模课程拓宽了学生的知识面

一方面 ,数学专业的基础理论教材内容比较成熟,并且侧重定理证明以及演算方法的训练,对问题的实际背景以及模型提取过程介绍不多 ,而数学建模课程恰好弥补了这一不足 。另一方面 ,由于数学建模问题的实用性和广泛性,大学生在建模实践中要用到很多知识,这些知识已超出了学生的专业知识范围。除了数学知识外 ,还必须掌握诸如计算方法 、计算机语言、应用软件及其他学科的知识等。它是多学科知识的高度综合,宽泛的学科领域和广博的技能技巧是学生所不曾涉猎过的,只能通过学生自学和讨论来进一步掌握 。

2.数学建模课程对学生能力的培养是全面的

数学建模的题目多数直接来源于科研、生产 、工程与管理的实际问题 ,且大多是经过适当简化的正在研究或正在探讨阶段中的尚未完全解决的实际问题的部分或片段。解决数学建模问题的过程是对大学生数学与计算机知识 、发现及解决问题能力、信息收集能力、论文写作能力及团队协作能力等各方面能力的综合考查。在数学建模实践中,大多数问题既没有唯一的答案,也没有唯一的方法 ,要解决问题必须要求学生具有独立的思考能力,充分发挥自己的创造能力 、想象能力,深刻了解背景 ,查阅大量资料,并且参加实际调查,根据自身对问题的熟悉程度和知识的掌握来选择思路与方法 。通过对所得结果不断地思考和改进 ,培养和训练学生的科研能力

3.数学建模课程使学生的毅力、意志以及团结合作精神等人文素质方面得到了培养

每年一期的全国大学生数学建模竞赛采取半封闭的形式持续三个昼夜。这是一个非常艰苦的创新过程 ,不仅培养了大学生刻苦探索的态度、不屈不挠的精神 、坚韧不拔的毅力,还培养了学生孜孜不倦、精益求精和锲而不舍的创新精神,并且数学建模竞赛采取三人一个小组 ,三名同学在竞赛过程中共同解决一个竞赛题目。这就需要他们在竞赛的不同阶段团结协作,密切配合,取长补短 ,合理分工 。因此,数学建模可以培养学生的团队意识与协作精神。

二、数学建模的理论课程与实验教学

数学模型是由数字 、字母或其他数学符号组成的,描述现实对象数量规律的数学公式、图形或算法 ,它是对于现实世界的一个特定对象,为了一个特定目的,根据特有的内在规律 ,做出一些必要的简化假设,运用适当的数学工具,得到的一个数学结构。而创建一个数学模型的全过程称为数学建模 ,即运用数学的语言、方法去近似地刻画该实际问题 ,并加以解决的全过程 。换句话说,数学建模是从定量化的角度,用数学语言和方法 ,通过对实际问题抽象 、简化建立数学模型,然后通过计算,解决实际问题的过程 。[6]数学建模课程与传统的数学教学不同。前者侧重于将数学作为工具 ,来分析和解决各种实际问题,是以培养学生解决实际问题的能力和应用创新能力为目标的实践性课程。而后者则侧重于公式推导、定理证明等 。

数学建模课程包括数学建模理论课程和实验教学。数学建模的实验教学是指学生在教师指导下用计算机和数学软件学习数学,它强调将符号计算、数值计算 、数据处理 、数学软件和数学建模理论课程相结合的数学课程教学。[5]

数学建模的理论课程和实验教学是相辅相成、不可缺少的 ,也是互相促进的 。首先,数学建模理论课程主要是对实际问题进行分析并得到数学结构模型以及模型结果的解释和应用,而对于模型的求解则很少涉及 ,相反,实验教学则是借助计算机和数学软件对模型进行求解,充分利用计算机的有利条件 ,让学生手、眼 、脑共用 ,积极主动地使用数学。其次,数学建模理论课程很少涉及模型的解法,而实验教学则是介绍若干数学方法及相应的软件 ,以方便地完成模型的求解。最后,数学建模理论课程包含丰富的建模案例,主要对实际问题进行分析以及建立模型等理论过程 ,而实验教学则通过计算机和软件将所建立的模型进行求解,从而使学生将理论和实践相融合,提高学生运用数学知识解决实际问题的能力 。

三、实验教学的改革

教育必须反映社会的实际需要 ,数学建模进入大学课堂,既顺应时代发展的潮流,也符合教育改革的要求。对于数学教育而言 ,既应该让学生掌握准确快捷的计算方法和严密的逻辑推理,也需要培养学生用数学工具分析解决实际问题的意识和能力,传统的数学教学体系和内容无疑偏重于前者 ,开设数学建模课程则是加强后者的一种尝试。

实际问题的解决不仅需要利用数学建模的理论知识 ,即根据实际问题的内在规律,通过分析做出必要的假设,适当的运用数学工具 ,得到一个数学结构,更要利用数学建模的实验操作知识将得到的数学结构进行求解(在实际求解中,利用计算机或者软件进行求解) ,而且求解所得到的结果要能够解释实际问题 。因此,实际问题的解决要求数学建模的理论课程内容和实验教学内容配套同步,有机结合。

目前很多高校的数学建模课程共54课时 ,其中包括课堂理论讲授36课时和实验教学18课时两部分。限于课时和教学进度,现有的实验教学以学生掌握数学软件的基础操作为主要目的,达不到与课程讲授内容的配套同步 ,学生对于数学软件的学习掌握也存在较多的问题 。因此,有必要对数学建模课程的实验教学进行改革 。

实验教学改革以问题为引导,采用专题研讨的形式开展 ,结合台州学校“数学实验在线平台”的建设 ,学生利用平台掌握基础的数学软件使用方法、命令格式,并且围绕课堂讲授的数学专题模块开展配套的数学建模实验研讨。具体而言,针对不同难易程度的题目类型 ,实验教学内容分别以三种不同的形式进行。

1.初步的数学软件题目类型

此类题目类型以熟悉掌握数学软件的常用命令格式为目的 。例如,绘出某个二元函数的三维曲面图。又如,求一个已知方阵的行列式 、逆、特征值以及对应特征向量。再如 ,求某个具体多项式的根 。

这类题目的已知条件比较简单,只需要直接利用软件的某个指令就可以得到所求解的结果,学生在了解相关的软件指令基础上就能独立完成任务。对于这类题目类型 ,规定学生利用课余时间登录实验平台进行操作,并由授课教师在线评判其正确与否。

2.简单的数学建模题目类型

此类题目类型以提高使用数学软件能力为目的 。例如,列出所有的水仙花数(水仙数是一个三位数 ,其各位数字立方和等于该数本身)。又如,已知某车间生产不同的产品,不同的产品所需要的原料和工时数据 ,以及不同产品所获得的利润数据。要求在给定原料和工时的条件下 ,如何安排生产,使得获得的利润最大 。再如,给定一片海域一组数据 ,该数据包括一些离散点的坐标以及在该坐标处的水深,在已知船吃水深度的条件下,求船安全行驶的范围或者容易触礁的范围。

这类题目的已知条件唯一确定 ,所得到的结果也是唯一的,需要通过简单的编程实现。学生需要对问题进行分析,并具备一定的编程基础才能进行求解并完成规定的任务 。对于这类题目类型 ,授课教师可以利用实验教学的课程时间先进行简单的分析和阐述,然后要求学生利用课余时间独立完成,最后由授课教师进行评判 。

3.具有一定综合性质的数学建模题目类型

此类题目以培养学生建立模型和分析求解能力为目的。例如 ,根据某集团的经济效益指标、发展能力指标 、内部运营指标以及客户满意度指标在2011年和2012年的数据,分析并阐述客户满意指标的走势。又如,收集数据 ,从手机品牌、外观、功能和质量等方面分析目前市场主流手机产品的价格定位规律 ,以及分析各品牌手机的价格策略与市场占有份额的关系 。再如,选择某个事件(例如2010年的上海世博会 、全国竞赛题)的某个侧面,建立数学模型 ,利用互联网或者调查收集的数据,定量分析该事件的影响力。

这类题目的已知条件比较复杂和灵活,有些题目甚至需要自己收集 ,有时甚至连求解目标也要自行确定。对于这类题目,授课教师应先利用实验教学课程时间指导研讨,然后要求学生通过团队合作完成基本的建模思路整理和模型求解 ,并以实验报告的形式提交数学模型和模型求解的实验结果 。

参考文献:

[1]陈祖福.面向21世纪改革高等教育的教学内容和课程体系[J].教学与教材研究,1994,(1).

[2]叶其孝.数学建模教学活动与大学生教育改革[J].数学的实践与认识 ,1997,27(1):92-96.

[3]李大潜.中国大学生数学建模竞赛[M].北京:高等教育出版社,1998:313-321.

[4]姜启源.数学实验与数学建模[J].数学的实践与认识 ,2001 ,31(5):613-617.

[5]蒲俊,张朝伦,李顺初.探索数学建模教学改革提高大学生综合素质[J].中国大学教学 ,2011,(12):24-26.

[6]陈慧.数学实验课程教学改革研究[J].中国大学教学,2007 ,(12):35-36.

2017数学建模b题优秀论文篇2浅谈数学建模与创新

摘要:数学建模是一门十分注重理论联系实际的课程,它有助于培养学生的创新能力、动手能力和自我评价能力。本文分析了数学建模竞赛对数学教学改革和创新所起的作用,指出数学建模的起源、发展和目的。着重在提高学生的学习兴趣 、做好选题工作 、评价工作和指导工作上进行分析和讨论 。

关键词:数学建模;数学建模竞赛;创新能力

1数模竞赛的起源与历史

数模竞赛是由美国工业与应用数学学会在1985年发起的一项大学生竞赛活动 ,目的在于激励学生学习数学的积极性,提高学生建立数学模型和运用计算机技术解决实际问题的综合能力,鼓励广大学生踊跃参加课外科技活动 ,开拓知识面,培养创精神及合作意识,推动大学数学教学体系、教学内容和方法的改革。我国大学生数学建模竞赛是由教育部高教司和中国工业与数学学会主办、面向全国高等院校的 、每年一届的通讯竞赛。其宗旨是:创新意识、团队精神、重在参与 、公平竞争 。1992载在中国创办 ,自从创办以来 ,得到了教育部高教司和中国工业与应用数学协会的得力支持和关心,呈现出迅速的发展发展势头,就2003年来说 ,报名阶段须然受到“非典”影响,但是全国30个省(市、自治区)及香港的637所院校就有5406队参赛,在职业技术学院增加更快 ,参赛高校由2002年的1067所上升到了2003年的1410所。可以说:数学建模已经成为全国高校规模最大课外科技活动。

2什么是数学建模

数学建模(Mathematical Modelling)是一种数学的思考方法,是“对现实的现象通过心智活动构造出能抓住其重要且有用的特征的表示,常常是形象化的或符号的表示 。”从科学 ,工程,经济,管理等角度看数学建模就是用数学的语言和方法 ,通过抽象,简化建立能近似刻画并“解决”实际问题的一种强有力的数学工具 。顾名思义,modelling一词在英文中有“塑造艺术”的意思 ,从而可以理解从不同的侧面 ,角度去考察问题就会有不尽的数学模型,从而数学建模的创造又带有一定的艺术的特点。而数学建模最重要的特点是要接受实践的检验,多次修改模型渐趋完善的过程。

3竞赛的内容

竞赛题目一般来源于工程技术和管理科学等方面经过适当简化加工的实际问题 ,不要求参赛者预先掌握深入的专门知识,只需要学过普通高校的数学课程 。题目有较大的灵活性供参赛者发挥其创造能力。参赛者应根据题目要求,完成一篇包括模型假设、建立和求解 、计算方法的设计和计算机实现、结果的分析和检验、模型的改进等方面的论文(即答卷)。竞赛评奖以假设的合理性 、建模的创造性、结果的正确性和文字表述的清晰程度为主要标准 。

4竞赛的目的

随着科学技术的飞速发展 ,现代中学生的生活背景越来越丰富,他们看问题的视野也越来越开阔。

国家新的课程改革的进行,不但使广大教师的教育理念发生了根本性的改变 ,同学们的学习理念也发生了巨大改变,过去的那种单纯的知识性的传授和学习的模式已转变为以能力培养为主、学以致用的教学和学习模式,同学们的接受能力和学习能力得到极大提高。所以在中学阶段向同学们更多介绍一些科技事件或自然现象的知识储备基本具备 。下面就中学阶段如何开设好数学建模选修课谈几点体会。

4.1提高学生的学习兴趣 ,培养他们的创新能力是开设数学建模选修课的主要目的

数学建模就是运用数学思想 、方法和知识解决实际问题的过程。

兴趣是最好的老师 。而数学建模在数学知识与实践之间建立了一个沟通的平台,通过这个平台,同学们可以体验数学在解决实际问题中的价值和作用 ,体验数学与日常生活和其他学科的联系 ,体验综合运用知识和方法解决实际问题的过程,对数学有一种感性的认识,激发他们学习数学的兴趣。

4.2做好选题工作是开好数学建模选修课的关键

数学学习过程中 ,问题是关键。如何提出一些贴合学生实际 、具有代表意义、能培养学生创新意识、提高学习能力 、真正让学生感兴趣的问题是开好数学建模选修课的第一步 。做好数学建模选题工作,可从以下几个方面入手 。

可操作性。通过数学建模,学生将了解和经历解决实际问题的全过程 ,体验数学与日常生活及其他学科的联系,感受数学的实用价值,增强应用意识 ,提高实践能力。所以在选题时要考虑到不同学校、不同层次的学生的接受能力,争取让每一个学生能够根据自己的生活经验发现并提出问题,对同样的问题 ,可以发挥自己的特长和个性,从不同的角度、层次探索解决的方法,从而获得综合运用知识和方法解决实际问题的经验 ,发展创新意识 。

实践性。开设数学建模选修课的主要目的之一就是让同学们在能力培养的同时 ,学以致用。所以所选课题应来源于实践,尽量是学生所熟悉的 、或亲身经历的现实问题,让学生有一种身临其境的感觉 ,以提高他们的求知欲 。

知识性。高中阶段的学习虽然强调能力培养,但也应该注意到,学生的学习过程也是一个知识积累、为下一步的继续学习打基础的过程。所以我们在数学建模选题的时候 ,应选取一些解决问题所涉及的知识、思想 、方法与高中数学课程内容有联系的问题 。让同学们在探索的过程中体会到所学知识的作用。

4.3做好数学建模过程中的指导工作是开好数学建模选修课的重要保障

数学建模是一门实践性很强的科目,学生在初接触时往往抓不住问题的关键,很难将实际问题中的信息数学化。同时就同学们的学习方式给以必要的指导 。具体可从以下几个方面入手。

引导学生学会发现并提出问题。最初开设数学建模时 ,可以先由老师提出一些问题供学生选择,或者提供一些实际情景,引导学生提出问题 。随着课程的推进 ,教师应逐渐让学生学会从自己生活的世界中发现问题、提出问题 。

引导学生学会数学建模的基本程序,让同学们掌握科学的学习方法。数学建模可以通过以下框图实现。

指导学生成立课题组,学会合作学习 。数学建模学习对知识和能力的要求明显高于传统意义上的学习 ,在这种学习过程中 ,个人力量往往很难奏效,所以数学建模经常采取课题组的模式。

4.4做好学生在数学建模过程中表现的评价工作对学生的后继学习是一个有力促进

高中阶段开设数学建模选修课的目的主要是以培养学生的学习能力、提高他们的创新意识为主要目的。通过师生之间的互动,使同学们在互动中展示自我 ,张扬个性,提高他们的总结能力和应变能力 。评价内容应关注以下几个方面:

科学性。建模过程中使用的数学方法是否得当,求解过程是否合乎常理。

创新性 。问题的提出和解决的方案是否充分发挥了学生的主观能动性 ,有新意。

合作性。学生在数学建模中是否采取了各种合作方式解决问题,养成与人交流的习惯,并获得良好的情感体验 。

真实性。建模的结果是否是学生本人参与制作的 ,数据是否是真实的。

实效性 。建模的结果是否具有一定的实际意义 。

新的九年义务教育数学课程标准认为:数学是人们对客观世界定性把握和定量刻画,逐渐抽象概括,形成方法和理论 ,并进行广泛应用的过程。义务教育的课程不仅要考虑数学自身的抽象性 、精确性和应用的极端广泛性等特点,更应遵循学生学习数学的心理规律,强调从学生已有的生活经验出发 ,让学生亲身经历将实际问题抽象成数学模型 ,并进行解释与应用的过程。从这个意义上说,我们的中学数学教育的过程应该是一个教会学生建模和解模,并会用模的过程 。目前 ,二期课程改革明确要求加大研究性和探究性课程的力度,这无疑将推动数学模型课在中学阶段的开设和推广。

参考文献

[1]王彬.数学建模在中职研究性学习中的实践研究[J].东北师范大学,2010-05-01.

>>>下一页更多精彩的“2017数学建模b题优秀论文”

二、2020年“高教社杯”全国大学生数学建模竞赛——B题 穿越沙漠

整体思路总结本题围绕“穿越沙漠”游戏展开 ,核心目标是在不同条件下制定玩家策略以保留尽可能多资金,需依据游戏规则,结合地图信息、天气状况 、玩家数量等要素 ,通过计算不同方案剩余资金来确定最优策略。

问题 1解答地图表示:采用散列矩阵呈现任意两个区域相邻情况,计算区域间最短路径需跨越边界次数,明确各区域位置关系与移动成本 。方案计算:考虑多种行动方案 ,如直接向终点出发 、先去矿山采矿再去村庄购物后向终点出发等。依据游戏规则,结合地图信息、天气状况(本题事先全部已知),计算每种方案所需资源(水和食物)及最终剩余资金。策略确定:比较不同方案剩余资金 ,选择资金最多的方案作为最优策略 ,将结果填入 Result.xlsx 。问题 2解答方案确定:虽仅知当天天气,但第三关已知 10天内无沙暴,第四关已知 30天较少出现沙暴。按问题一方法确定多种可能方案 ,考虑不同路线和天数组合。资源计算:以之后每天都是高温天气为假设,倒推出发时应购买的水和食物数量 。依据游戏规则计算各方案到终点后的最终剩余资金。最佳策略:比较不同方案剩余资金,给出最佳策略 ,针对第三关和第四关具体讨论应用。问题 3解答(1)策略要点:行动方案第 0天确定且不可更改,n名玩家同行、同挖 、同买有特殊规则 。玩家要尽量避免与其他玩家相遇,需运用博弈论“猜 ”其他玩家心理 。第五关讨论:n= 2时 ,玩家要分析对方可能行动,制定避免相遇方案。如一方选择先去矿山采矿再去终点,另一方选择先去村庄购物再去终点 ,减少同行、同挖、同买情况,提高最终剩余资金。(2)策略要点:玩家仅知当天天气,从第 1天起 ,行动结束后知其他玩家当天行动方案和剩余资源数量 ,据此确定第二天行动方案 。需用每天动态数据预测其他玩家第二天行动。第六关讨论:数据收集:每天行动结束后,收集其他玩家行动方案和剩余资源数量信息。

预测分析:根据收集信息,结合游戏规则和地图情况 ,预测其他玩家第二天可能行动 。如若某玩家剩余资源少且离村庄近,可能第二天去村庄购买资源。

方案选择:在不与其他玩家相遇的可行方案中,挑选最终剩余资金期望最高的方案作为第二天行动方案 ,逐日迭代,不断优化策略。

三 、2013大学生数学建模B题编程

2013高教社杯全国大学生数学建模竞赛B题

评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答 ,自主地进行评阅 。

本题要求对数据提取合适的特征、建立合理有效的碎纸片拼接复原模型。可以考虑的特征有邻边灰度向量的匹配、按行或按列对灰度求和 、行距等。关于算法模型,必须有具体的算法过程(如流程图、算法描述、伪代码等)及设计原理 。虽然正确的复原结果是唯一的,但不能仅从学生提供的复原效果来评定学生解答的好坏 ,而应根据所建的数学模型 、求解方法和计算结果(如复原率)三方面的内容做出评判。另一方面,评判中还需要考虑人工干预的多少和干预时间节点的合理性。问题1.仅有纵切文本的复原问题由于“仅有纵切”,碎纸片较大 ,所以信息特征较明显 。一种比较直观的建模方法是:按照某种特征定义两条碎片间的(非对称)距离 ,采用最优Hamilton路或最优Hamilton圈(即TSP)的思想建立优化模型 。关于TSP的求解方法有很多,学生在求解过程中需要注意到非对称距离矩阵或者是有向图等特点。还可能有种种优化模型与算法,只要模型合理 ,复原效果好,都应当认可。本问题相对简单,复原过程可以不需要人工干预 ,复原率可以接近或达到100% 。问题2.有横、纵切文本的复原问题一种较直观的建模方法是:首先利用文本文件的行信息特征,建立同一行碎片的聚类模型。在得到行聚类结果后,再利用类似于问题1中的方法完成每行碎片的排序工作。最后对排序后的行 ,再作纵向排序 。本问题的解法也是多种多样的,应视模型和方法的合理性、创新性及有效性进行评分。例如,考虑四邻近距离图 ,碎片逐步增长,也是一种较为自然的想法。问题3.正反两面文本的复原问题这个问题是问题2的继续,基本解决方法与问题2方法相同 。但不同的是:这里需要充分利用双面文本的特征信息。该特征信息利用得好 ,可以提升复原率。在阅卷过程中 ,可以考虑学生对问题的扩展 。例如,在模型的检验中,如果学生能够自行构造碎片 ,用以检验与评价本队提出的拼接复原模型的复原效果,可考虑适当加分。阅卷时应有程序,程序的运行结果应和论文给出的结果一致。

clear%释放空间

clc%清屏

%图片数据读取

left_col= [];

right_col= [];

for fp= 0: 208

str= int2str(fp);

if fp< 10

name= ['0''0' str'.bmp'];

elseif fp>= 10& fp< 100

name= ['0' str'.bmp'];

else

name= [str'.bmp'];

end

a= imread(name);

[m,n]= size(a);

left_col= [left_col a(:,1)];

right_col= [right_col a(:,n)];

end

%读取完毕

left_col= double(left_col);%类型转换

right_col= double(right_col);

%找纸片最左边(left_col)像素全为255(空白)的所有列

row= 1;

for bi=1:209;

number=length(find(left_col(:,bi)==255));

if number== 180

S(row,1)=bi;%保存第一列像素为空(灰度值:255)的放在数组S第一列

row= row+ 1;

end

end

S= [S(:,1) zeros(row-1,18)];%矩阵初始化

O= [ones(row-1,19)];%初始化一个单位矩阵

sign= 1;

w= 0;

for r=1:row-1;%行

for p=1:18;%列p+1

num= 10000000000;%使num足够大

for j=1:209;

count= 0;

count= length(find(S==j));%除去重复

if count~= 0

continue;

else

blank= length(find(right_col(:,S(r,p))== 255));%如果碎纸片右边界全为255(即空白) ,则跳出,终止此行后面拼接

if blank== 180

sign= 0;

break;%跳出本循环,进入p循环

else

ri=right_col(:,S(r,p));%计算左右拼接精确度

le=left_col(:,j);

c=ri-le;

c= c.^2;

error=sum(c(:));

end

if num>= error%找出差值最小的 ,精确度最高

num= error;

w= j;

end

end

end

if sign== 0

sign= 1;

break;%跳出p循环,进入r循环

else

S(r,p+1)=w;%二维数组储存每个碎纸片拼接位置

end

end

end

S= S- O;%数据整理,图片从000.bmp开始 ,数组下标从1开始

//////////////////////////////////////////////////////////////////////////

第三题碎纸片特征分类代码:

clear%释放空间

clc%清屏

%图片数据读取

char namea=(209,7);

char nameb=(209,7);

for fpa= 0: 208

str= int2str(fpa);

if fpa< 10

fpa= fpa+ 1;

namea(fpa,:)= ['0''0' str'a.bmp'];

elseif fpa>= 10& fpa< 100

fpa= fpa+ 1;

namea(fpa,:)= ['0' str'a.bmp'];

else

fpa= fpa+ 1;

namea(fpa,:)= [str'a.bmp'];

end

end

for afp= 1:209

a= imread(namea(afp,:));

fdataa(:,:,afp)= a;

end

%%%读取反面b的数据

for fpb= 0: 208

str= int2str(fpb);

if fpb< 10

fpb= fpb+ 1;

nameb(fpb,:)= ['0''0' str'b.bmp'];

elseif fpb>= 10& fpb< 100

fpb= fpb+ 1;

nameb(fpb,:)= ['0' str'b.bmp'];

else

fpb= fpb+ 1;

nameb(fpb,:)= [str'b.bmp'];

end

end

for bfp= 1:209

b= imread(nameb(bfp,:));

fdatab(:,:,bfp)= b;

end

%读取完毕

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

qfdataa=~fdataa;%取反

qfdatab=~fdatab;%取反

for lj= 1:209%行累加求和

Ldataa(:,lj)= sum(qfdataa(:,:,lj),2);%正面(a)累加求和

Ldatab(:,lj)= sum(qfdatab(:,:,lj),2);%反面(b)累加求和

end

Ldataa(Ldataa>0)=1;%正面归一化

Ldatab(Ldatab>0)=1;%反面归一化

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%数据分类横向正面(a)分类

for flta= 1:209;

for pflta= 1:209

numa= 0;

for flha= 1:180;

if Ldataa(flha,flta)== Ldataa(flha,pflta)

numa= numa+ 1;

end

end

tsavea(flta,pflta)= numa;%保存每两张图片之间的匹配度

end

end

%数据分类横向反面(b)分类

for fltb= 1:209;

for pfltb= 1:209

numb= 0;

for flhb= 1:180;

if Ldatab(flhb,fltb)== Ldatab(flhb,pfltb)

numb= numb+ 1;

end

end

tsaveb(fltb,pfltb)= numb;%保存每两张图片之间的匹配度

end

end

%%%%%%%%%%%%%%%%%%%%%%%

%总匹配度

%tsave=(tsavea+ tsaveb)/2;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%找纸片最左边(left_col)像素全为255(空白)的所有列

% fdataa= double(fdataa);

% fdatab= double(fdatab);

row= 1;

for bi=1:209;

number=length(find(fdataa(:,1,bi)~=0& fdatab(:,72,bi)~=0));

if number== 180

S(row,1)=bi;%保存第一列像素为空(灰度值:255)的放在数组S第一列

row= row+ 1;

end

end

S= [S(:,1) zeros(row-1,18)];%矩阵初始化

O= [ones(row-1,19)];%初始化一个单位矩阵

%%%%%%%%%%%%%%%%%%

最新文章