搜档网
当前位置:搜档网 › matlab学习资料

matlab学习资料

matlab学习资料
matlab学习资料

其实最好的matlab学习资料还是matlab各种Help和Demos

一些比较好的参考书有:

1、《MATLAB 7.0从入门到精通(修订版)》

作者:刘保柱,苏彦华,张宏林编著

出版社:人民邮电出版社

2、《精通Matlab 7》

作者:(美)亨塞尔曼,(美)利特菲尔德著,朱仁峰译

出版社:清华大学出版社

3、《精通MATLAB 6.5版教程(含CD-ROM光盘一张)》

作者:张志涌编著

出版社:北京航空航天大学出版社

需要数学知识、计算机知识、最好找个字迹漂亮的队友。

过程

模型准备

了解问题的实际背景,明确其实际意义,掌握对象的各种信息。用数学语言来描述问题。

模型假设

根据实际对象的特征和建模的目的,对问题进行必要的简化,并用精确的语言提出一些恰当的假设。

模型建立

在假设的基础上,利用适当的数学工具来刻划各变量之间的数学关系,建立相应的数学结构(尽量用简单的数学工具)。

模型求解

利用获取的数据资料,对模型的所有参数做出计算(或近似计算)。

模型分析

对所得的结果进行数学上的分析。

模型检验

将模型分析结果与实际情形进行比较,以此来验证模型的准确性、合理性和适用性。如果模型与实际较吻合,则要对计算结果给出其实际含义,并进行解释。如果模型与实际吻合较差,则应该修改假设,再次重复建模过程。

模型应用

应用方式因问题的性质和建模的目的而异。

数学建模应当掌握的十类算法

1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法)

2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具)

3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现)

4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备)

5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中)

6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用)

7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具)

8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的)

9、数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)10、图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab 进行处理)

数学建模资料

竞赛参考书

l、中国大学生数学建模竞赛,李大潜主编,高等教育出版社(1998).2、大学生数学建模竞赛辅导教材,(一)(二)(三),叶其孝主编,湖南教育出版社(1993,1997,1998).3、数学建模教育与国际数学建模竞赛《工科数学》专辑,叶其孝主编,《工科数学》杂志社,1994).

国内教材、丛书

1、数学模型,姜启源编,高等教育出版社(1987年第一版,1993年第二版,2003年第三版;第一版在1992年国家教委举办的第二届全国优秀教材评选中获"全国优秀教材奖").

2、数学模型与计算机模拟,江裕钊、辛培情编,电子科技大学出版社,(1989).

3、数学模型选谈(走向数学从书),华罗庚,王元著,王克译,湖南教育出版社;(1991).

4、数学建模--方法与范例,寿纪麟等编,西安交通大学出版社(1993).

5、数学模型,濮定国、田蔚文主编,东南大学出版社(1994). 6..数学模型,朱思铭、李尚廉编,中山大学出版社,(1995) 7、数学模型,陈义华编著,重庆大学出版社,(1995) 8、数学模型建模分析,蔡常丰编著,科学出版社,(1995).9、数学建模竞赛教程,李尚志主编,江苏

教育出版社,(1996).10、数学建模入门,徐全智、杨晋浩编,成都电子科大出版社,(1996). 11、数学建模,沈继红、施久玉、高振滨、张晓威编,哈尔滨工程大学出版社,(1996). 12、数学模型基础,王树禾编著,中国科学技术大学出版社,(1996). 13、数学模型方法,齐欢编著,华中理工大学出版社,(1996).14、数学建模与实验,南京地区工科院校数学建模与工业数学讨论班编,河海大学出版社,(1996).15、数学模型与数学建模,刘来福、曾文艺编,北京师范大学出版杜(1997).16. 数学建模,袁震东、洪渊、林武忠、蒋鲁敏编,华东师范大学出版社. 17、数学模型,谭永基,俞文吡编,复旦大学出版社,(1997).18、数学模型实用教程,费培之、程中瑗层主编,四川大学出版社,(1998).19、数学建模优秀案例选编(工科数学基地建设丛书),汪国强主编,华南理工大学出版社,(1998).20、经济数学模型(第二版)(工科数学基地建设丛书),洪毅、贺德化、昌志华编著,华南理工大学出版社,(1999).21、数学模型讲义,雷功炎编,北京大学出版社(1999).22、数学建模精品案例,朱道元编著,东南大学出版社,(1999),23、问题解决的数学模型方法,刘来福,曾文艺编著、北京师范大学出版社,(1999).24、数学建模的理论与实践,吴翔,吴孟达,成礼智编著,国防科技大学出版社,(1999).25、数学建模案例分析,白其岭主编,海洋出版社,(2000年,北京).26、数学实验(高等院校选用教材系列),谢云荪、张志让主编,科学出版社,(2000).27、数学实验,傅鹏、龚肋、刘琼荪,何中市编,科学出版社,(2000).28、数学建模与数学实验,赵静、但琦编,高等教育出版社,(2000).

国外参考书(中译本)

1、数学模型引论,E.A。Bender著,朱尧辰、徐伟宣译,科学普及出版社(1982).

2、数学模型,[门]近藤次郎著,官荣章等译,机械工业出版社,(1985).

3、微分方程模型,(应用数学模型丛书第1卷),[美]W.F.Lucas主编,朱煜民等译,国防科技大学出版社,(1988).

4、政治及有关模型,(应用数学模型丛书第2卷),[美W.F.Lucas主编,王国秋等译,国防科技大学出版社,(1996).

5、离散与系统模型,(应用数学模型丛书第3卷),[美w.F.Lucas主编,成礼智等译,国防科技大学出版社,(1996).

6、生命科学模型,(应用数学模型丛书第4卷),[美1W.F.Lucas主编,翟晓燕等译,国防科技大学出版社,(1996).

7、模型数学--连续动力系统和离散动力系统,[英1H.B.Grif6ths 和A.01dknow 著,萧礼、张志军编译,科学出版社,(1996).

8、数学建模--来自英国四个行业中的案例研究,(应用数学译丛第4号),英]D.Burglles等著,叶其孝、吴庆宝译,世界图书出版公司,(1997)

专业性参考书

(这方面书籍很多,仅列几本供参考) :1、水环境数学模型,[德]W.KinZE1bach著,杨汝均、刘兆昌等编纂,中国建筑工业出版社,(1987).2、科技工程中的数学模型,堪安琦编著,铁道出版社(1988) 3、生物医学数学模型,青义学编著,湖南科学技术出版杜(1990).4、农作物害虫管理数学模型与应用,蒲蛰龙主编,广东科技出版社(1990).5、系统科学中数学模型,欧阳亮编著,E山东大学出版社,(1995).6、种群生态学的数学建模与研究,马知恩著,安徽教育出版社,(1996) 7、建模、变换、优化--结构综合方法新进展,隋允康著,大连理工大学出版社,(1986) 8、遗传模型分析方法,朱军著,中国农业出版社(1997).(中山大学数学系王寿松编辑,2001年4月)

二、数学软件的主要分类有哪些?各有什么特点?

数学软件从功能上分类可以分为通用数学软件包和专业数学软件包,通用数学包功能比较完备,包括各种数学、数值计算、丰富的数学函数、特殊函数、绘图函数、用户图形届面交互功能,与其他软件和语言的接口及庞大的外挂函数库机制(工具箱)。

常见的通用数学软件包包括Matlab和Mathematica和Maple,其中Matlab是一个高性能的科技计算软件,广泛应用于数学计算、建模、仿真和数据分析处理及工程作图,Mathematica 是数值和符号计算的代表性软件,Maple以符号运算、公式推导见长。

专用数学包包括绘图软件类MathCAD,Tecplot,IDL,Surfer,Origin, SmartDraw,DSP2000),数值计算类:(Matcom,IDL,DataFit,S-Spline,Lindo,Lingo,O-Matrix,Scilab,Octave), 数值计算库(linpack/lapack/BLAS/GERMS/IMSL/CXML), 有限元计算类(ANSYS,MARC,PARSTRAN,FLUENT,FEMLAB,FlexPDE,Algor,COSMOS, ABAQUS,ADINA),计算化学类(Gaussian98,Spartan,ADF2000,ChemOffice),数理统计类(GAUSS,SPSS,SAS,Splus,statistica,minitab), 数学公式排版类(MathType,MikTeX,Scientific Workplace,Scientific Nootbook)。

三、关于数模竞赛的几本好书

▲ 姜启源,《数学模型(第二版)》,高等教育出版社

▲ 姜启源、谢金星、叶俊《数学建模(第三版)》,高等教育出版社

▲ 萧树铁等,《数学实验》,高等教育出版社

▲ 朱道元,《数学建模案例精选》,科学出版社

▲ 雷功炎,《数学模型讲义》,北丅京大学出版社

▲ 叶其孝等,《大学生数学建模竞赛辅导教材(一)~(四)》,湖南教育出版社

▲ 江裕钊、辛培清,《数学模型与计算机模拟》,电子科技大学出版社

▲ 杨启帆、边馥萍,《数学模型》,浙江大学出版社

▲ 赵静等,《数学建模与数学实验》,高等教育出版社,施普林格出版社

四、基础学科

1.数学分析

2.高等代数

3.概率与数理统计

4.最优化理论

5.图论

6.组合数学

7.微分方程稳定性分析

8.排队论

五、常用网站和ftp

▲ https://www.sodocs.net/doc/f413163456.html,/全国大学生数模竞赛官方网站

▲https://www.sodocs.net/doc/f413163456.html,/bbs赛才网

▲ https://www.sodocs.net/doc/f413163456.html,中国数学建模网站

▲ https://www.sodocs.net/doc/f413163456.html,中科大数模网站

▲ https://www.sodocs.net/doc/f413163456.html,/mmb/index.php浙江大学数模网

▲ https://www.sodocs.net/doc/f413163456.html,/hmcm哈工大数模网站

▲ https://www.sodocs.net/doc/f413163456.html,/~fangq/wiki/?MathTools_FAQ数学工具FAQ

▲ ftp://https://www.sodocs.net/doc/f413163456.html,/Public/Document/Science/matlab/

▲ ftp://202.198.71.195

▲ ftp://166.111.8.229

▲ ftp://166.111.30.174

▲ ftp://166.111.68.183

【数学建模】数学建模必备知识

作者:李雅楠文章来源:《青春校园》点击数:759 更新时间:2011/4/30 7:54:58

近半个多世纪以来,随着计算机技术的飞速发展,数学的应用不仅在工程技术、自然科学等领域起着至关重要的作用,并且以空前的广度和深度向经济、金融、生物、医学、环境、地质、人口、交通等新的领域渗透。当今,数学技术已成为当代高新技术的重要组成部分。但是,无论是在科技和生产领域亦或是在与其他学科结合形成的交叉学科,首先都需要建立研究对象的数学模型,所以数学建模知识和计算机技术在知识经济时代尤为重要。

那么,什么是数学建模呢?现在先来解释一下这个概念:当我们需要从定量的角度分析和研究一个实际问题时,就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学的符号和语言把它表述为数学式子,也就是数学模型,然后用通过计算得到的模型结果来解释实际问题,并接受实际的检验,这个建立数学模型的全过程就称为数学建模。也就是用数学的语言来描述实际现象的过程,是一般实际事物的一种数学简化。所以微积分、概率论与数理统计、线性代数以及必要的物理理论常识都是数学建模必不可少的基础知识。

总的来说数学建模的必备知识有:数学规划/最优化理论、微分方程及其稳定性、组合数学、图论优化、统计分析、数据处理。这些知识在平时的学习中会有所涉及,但是只是学习一些基础,如果要进行数学建模,就需要更为深入的学习和研究,在建模中,这些知识的运用大多时候需要借助计算机技术,以软件的形式使得这些知识融合、渗透在建模的每一个过程中。除此之外,数学建模还会涉及到一些扩展知识,这些知识同样占有很重要的地位,要求同学们在课后自学。这些知识有:数值计算、数值模拟、模糊数学、灰色理论、随机过程、时序分析、变分、泛函、有限元分析。现在这些数学名词可能看起来很陌生,令人眼花缭乱,很可能由此而心生畏惧。但是随着大学学习的不断深入和自学能力的不断提高,当然还有自己的不断努力,掌握这些看清起来很复杂的知识也是水到渠成的事,所以不必望而生畏。

数学建模过程中还有重要的一步就是写论文,数学建模的目的是解决问题,而问题的具体解决过程则需要通过论文展示出来,写论文者需要具备较强的语言组织能力和较为清晰的逻辑思维,尽可能运用简洁的语言将整个建模过程完整地表达出来,既要体现出此次建模的创新点又要使得模型的结构合理、有效。论文的摘要部分是重中之重,甚至在某些情况下能够直接决定能否获奖,摘要是对整个论文的高度浓缩,突出模型的优势和闪光点以及整个建模过程,摘要最突出的特点就是重点突出、详略得当,这些都是对一名写作者能力的挑战。除此之外,在参加全美大学生数学建模竞赛时,不仅题目全是英文,而且论文也需要英语写作,这就需要写作者具备扎实的英文写作功底和语言组织能力。

每年一次的全国、全美大学生数学建模竞赛大家可能有所耳闻,而我们也很有可能成为参赛者。竞赛题目一般来源于工程技术和管理科学等方面经过适当简化加工的问题。该竞赛需要三名队员合作,在有限的时间内,应根据题目要求,完成一篇包括模型的假设、建立和求解、计算方法的设计和计算机实现、结果的分析和检验、模型的改进等方面的论文(即答卷)。所以一些数学建模竞赛技能必不可少,需要学会一些常用的综合软件、运筹软件、统计软件和MathCAD、SCILAB 等。同时还需要掌握各种基础算法、数值算法、启发式算法。由于答卷以论文的形式提交,所以需要学会科技写作技巧和科技英语翻译。再有,由于在竞赛期间,参赛队员可以使用各种图书资料、计算机和软件,在国际互联网上浏览(但不可与队外任何人讨论)。因而掌握图书馆、数学期刊库和Internet的检索技巧会方便很多。最后,为了使论文更为清晰美观,就不得不涉及到编辑

排版和图形处理,这就要求我们学会使用Word、LATEX等排版软件和画图板、Photoshop等绘图软件。这些软件知识只有与算法结合运用,才能起到事半功倍的效果。

最后,不得不提的就是团队写作能力和一个人的毅力,在比赛过程中,只有综合所有人的知识,凝聚所有人的力量才能在短时间内较好地完成任务。数学建模竞赛不仅是对一个人知识的考查,更是对一个人毅力的考验,几天几夜研究同一个问题,甚至连续二十几个小时不睡觉,没有毅力和一往无前的信心是无论如何都无法坚持的。

在这个在知识大爆炸的时代,数学理伦与方法的不断扩充使得数学已经成为当代高科技的一个重要组成部分和思想库,数学已经成为一种能够普遍实施的技术。培养学生应用数学的意识和能力已经成为数学教学的一个重要方面,所以掌握这一知识技能,在今后的工作和研究中会获得更多的机会,为自己叩响成功的大门添加一块敲门砖,使自己的人生更为辉煌灿烂。

运筹学和数值分析很重要,尤其是运筹学,用到的概率很大,运筹学的一些问题如规划和图与网络问题完全可以用Excel解决,所以要精通EXCEL

另外就是要掌握数理统计的知识,推荐看多元统计分析,时间序列分析和回归分析,实验设计,如果想涉及马尔科夫模型还要简单的看一下随机过程,对应的软件就是spss,sas

其它的模型可以用C语言或MATLAB处理,给你一个经验,选程序员时一定要选同时数学也好的,上次我们组就吃亏选了一个数学不好但编程好的人身上。

你现在里比赛时间还长,推荐看一下姜启员,谢金星的《数学模型》

《数学实验基础》王兵团,北京交通大学出版社

Mathematics数学软件简明教程与数学实验,王兵团,中国铁道出版社

数学建模(数学建模小知识)

一:略

二:检查答卷的主要三点,把三关:

a. 模型的正确性、合理性、创新性

b. 结果的正确性、合理性

c. 文字表述清晰,分析精辟,摘要精彩

三、关于写答卷前的思考和工作规划

答卷需要回答哪几个问题――建模需要解决哪几个问题;

问题以怎样的方式回答――结果以怎样的形式表示;

每个问题要列出哪些关键数据――建模要计算哪些关键数据;

每个量,列出一组还是多组数――要计算一组还是多组数。

四、答卷要求的原理

1. 准确――科学性;

2. 条理――逻辑性;

3. 简洁――数学美;

4. 创新――研究、应用目标之一,人才培养需要;

5. 实用――建模、实际问题要求。

五、建模理念

1. 应用意识

要解决实际问题,结果、结论要符合实际;

模型、方法、结果要易于理解,便于实际应用;站在应用者的立场上想问题,处理问题。

2. 数学建模

用数学方法解决问题,要有数学模型;

问题模型的数学抽象,方法有普适性、科学性,不局限于本具体问题的解决。

3. 创新意识

建模有特点,更加合理、科学、有效、符合实际;更有普遍应用意义;不单纯为创新而创新。

1.时间和体力的问题

竞赛中时间分配也很重要,分配不好可能完不成论文,所以开始时要大致做一下安排,不必分的太细,比如第一天做第一小题,第二天做第二小题,这样反而会有压力。开始阶段不忙写作,可以将一些小组讨论的要点记录下来,不要太工整,随便一下,到第三天再开始写论文也不迟的。另外要说的就是体力要跟上,三天一般睡眠只有不到10个小时。建议是赛前熬夜编程几次,但比赛前一天可不许熬呀,呵呵。

2.团队合作是能否获奖的关键

三天的比赛中,团队交流所占用的时间可能会超过一半。当出现分歧的时候应当如何解决是很关键的,甚至直接决定你是否可以获奖,我的建议是"妥协",不要总认为自己的观点是正确的,多听听别人的观点,在两者之间谋求共同点。合作在竞赛前就应当培养,比如一块儿做一道题什么的,充分利用每个人的优点,也可以张三准备图论,李四准备最优化方法,然后几天后大家一块交流,这些都是可以磨合团队之间的关系的。

3.重视摘要

摘要首先不要写废话,也不要照抄题目的一些话,直奔主题,要写明自己怎样分析问题,用什么方法解决问题,最重要的是结论是什么要说清楚,在中国的竞赛中不写结论的话是一定不会得奖的。摘要至少需要琢磨两个小时,不要轻视了它的重要性。多看看优秀论文的摘要是如何去写的很有必要的,并要作为赛前准备的课题之一。

4.论文写作要正规

论文一定要大致按照摘要、问题重述、模型假设、符号说明、问题分析、(建立、分析、求解模型)、……、参考文献、附录等等的方式来写。一般初评会先淘汰一些结构失败的文章,如果没有论文的结构,内容再好也没有用。论文前面的结构一般都不会变的,后面可以按照实际情况来安排自己的结构,省略的部分可以有结果说明、灵敏度分析、其他模型、模型扩展、优缺点分析等等的东西,多看些优秀论文就知道还有哪些形式的了,附录可以贴一些算法流程图或比较大的结果或图表等等。

5.模型的假设与模型的建立

评委看完摘要后紧接着就是看模型假设了,有一个万能的方法就是可以抄题目中可

以作为假设的几句话,这样会给人留下好的印象,毕竟说明你审题了。但不能全抄,要加上自己论文中的一些假设,最好不要太具体了,一些重要参数不要被定死只能取某些值,这样会让人感觉到论文的局限性较强。模型的建立是根据你对问题分析而来的,提出的数学符号和建立模型最好要比较接近,在同一页最好,以便评委可以对照符号来看,数学公式要严谨,推导要严密,这些都反映了一个人的数学素质和能力,即使你推导不对,别人看到你的阵势也首先会误以为你是对的。

6.图文表并茂可以增色

我听说一个不确切的信息是评委老师喜欢用Matlab编程的论文,不知道有没有这回事,但这说明了老师需要看一个具有图或表在其中的论文,一篇如果像政治书那样写的论文估计没有人会对它感兴趣的,尤其是科技论文。Matlab编程之所以受到青睐是因为Matlab提供的图形处理能力很强大,图表的说明性特别强,如果结论有很多数据的话,最好做成图表的形式加以说明,会令你的论文更有说服力,也更加会受到评委的好评。

一、数学建模竞赛中应当掌握的十类算法

1.蒙特卡罗算法

该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法。

2.数据拟合、参数估计、插值等数据处理算法

比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具。

3.线性规划、整数规划、多元规划、二次规划等规划类问题

建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现。

4.图论算法

这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备。

5.动态规划、回溯搜索、分治算法、分支定界等计算机算法

这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中。

6.最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法

这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用。

7.网格算法和穷举法

网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具。

8.一些连续离散化方法

很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的。

9.数值分析算法

如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用。

10.图象处理算法

赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab进行处理。

二、数学软件的主要分类有哪些?各有什么特点?

数学软件从功能上分类可以分为通用数学软件包和专业数学软件包,通用数学包功

能比较完备,包括各种数学、数值计算、丰富的数学函数、特殊函数、绘图函数、

用户图形届面交互功能,与其他软件和语言的接口及庞大的外挂函数库机制(工具

箱)。

常见的通用数学软件包包括Matlab和Mathematica和Maple,其中Matlab是一个高性

能的科技计算软件,广泛应用于数学计算、建模、仿真和数据分析处理及工程作图

,Mathematica 是数值和符号计算的代表性软件,Maple以符号运算、公式推导见长

专用数学包包括绘图软件类MathCAD,Tecplot,IDL,Surfer,Origin, SmartDraw

,DSP2000),数值计算类:(Matcom,IDL,DataFit,S-Spline,Lindo,Lingo

,O-Matrix,Scilab,Octave), 数值计算库(linpack/lapack/BLAS/GERMS/IMSL

/CXML), 有限元计算类(ANSYS,MARC,PARSTRAN,FLUENT,FEMLAB,FlexPDE,A

lgor,COSMOS, ABAQUS,ADINA),计算化学类(Gaussian98,Spartan,ADF2000,ChemOffice),数理统计类(GAUSS,SPSS,SAS,Splus,statistica,minitab)

, 数学公式排版类(MathType,MikTeX,Scientific Workplace,Scientific Noo

tbook)。

三、关于数模竞赛的几本好书

▲ 姜启源,《数学模型(第二版)》,高等教育出版社

▲ 姜启源、谢金星、叶俊《数学建模(第三版)》,高等教育出版社

▲ 萧树铁等,《数学实验》,高等教育出版社

▲ 朱道元,《数学建模案例精选》,科学出版社

▲ 雷功炎,《数学模型讲义》,北京大学出版社

▲ 叶其孝等,《大学生数学建模竞赛辅导教材(一)~(四)》,湖南教育出版社

▲ 江裕钊、辛培清,《数学模型与计算机模拟》,电子科技大学出版社

▲ 杨启帆、边馥萍,《数学模型》,浙江大学出版社

▲ 赵静等,《数学建模与数学实验》,高等教育出版社,施普林格出版社

四、基础学科

1.数学分析

2.高等代数

3.概率与数理统计

4.最优化理论

5.图论

6.组合数学

7.微分方程稳定性分析

8.排队论

五、常用网站和ftp

https://www.sodocs.net/doc/f413163456.html,/softweb/bcly/web/math/东师软件俱乐部

▲ https://www.sodocs.net/doc/f413163456.html,/全国大学生数模竞赛官方网站

▲ https://www.sodocs.net/doc/f413163456.html,中国数学建模网站

▲ https://www.sodocs.net/doc/f413163456.html,中科大数模网站

▲ https://www.sodocs.net/doc/f413163456.html,/mmb/index.php浙江大学数模网

▲ https://www.sodocs.net/doc/f413163456.html,/hmcm哈工大数模网站

▲ https://www.sodocs.net/doc/f413163456.html,/~fangq/wiki/?MathTools_FAQ数学工具FAQ ▲ ftp://https://www.sodocs.net/doc/f413163456.html,/Public/Document/Science/matlab/

▲ ftp://202.198.71.195

▲ ftp://166.111.8.229

▲ ftp://166.111.30.174

▲ ftp://166.111.68.183

▲ ftp://166.111.158.102

▲ ftp://166.111.163.248:40021

▲ ftp://166.111.172.77

六、历年试题

1.MCM(美国大学生数学建模竞赛)

1985 A题动物群体管理

1985 B题战略物资存储管理

1986 A题水道测量数据

1986 B题应急设施的位置

1987 A题盐的贮存

1987 B题停车场

1988 A题确定走私船的位置

1988 B题两辆铁路平板车的装货问题

1989 A题蠓的分类

1989 B题飞机排队

1990 A题药物在大脑中的分布

1990 B题扫雪问题

1991 A题估计水箱的流水量

1991 B题最小费用极小生成树

1992 A题航空控制雷达的功率

1992 B题应急电力修复系统

1993 A题加速餐厅剩菜堆肥的生成

1993 B题倒煤台的操作方案

1994 A题建筑费用

1994 B题计算机传输

1995 A题单螺旋线

1995 B题教师薪金分配

1996 A题海底探测

1996 B题竞赛论文的评定

1997 A题疾走龙属问题

1997 B题开会决策

1998 A题MRI扫描仪

1998 B题学生等级划分

1999 A题小型星撞击

1999 B题非法集会

1999 C题大地污染

2000 A题空中交通控制

2000 C题大象的数量

2002 A题风和喷水池

2002 B题航空公司超员订票

2003 A题特技人员

2003 B题GAMMA刀治疗计划

2004 A题指纹是独一无二的吗?

2004 B题更快的快通系统

2.CUMCM(全国大学生数学建模竞赛)

1993年A题非线性交调的频率设计

1993年B题球队排名问题

1994年A题逢山开路

1994年B题锁具装箱

1995年A题一个飞行管理模型

1995年B题天车与冶炼炉的作业调度

1996年A题最优捕鱼策略

1996年B题节水洗衣机

1997年A题零件的参数设计

1997年B题截断切割

1998年A题投资的收益和风险

1998年B题灾情巡视路线

1999年A题自动化车床管理

1999年B题钻井布局

2000年A题DNA序列分类

2000年B题钢管定购和运输

2001年A题血管的三维重建

2001年B题公交车调度

2002年A题车灯线光源的优化设计

2002年B题彩票中的数学

2003年A题SARS的传播

2003年B题露天矿生产的车辆安排

2004年A题奥运会临时超市网点设计

2004年B题电力市场的输电阻塞管理

参考文献

1. 《运筹学》教材编写组,运筹学(修订版),北京:清华大学出版社,1990。

2. 萧树铁主编,数学实验,北京:高等教育出版社,1999。

3. 杨启帆,方道元,数学建模,杭州:浙江大学出版社,1999。

4. 叶其孝主编,大学生数学建模竞赛辅导教材(一),长沙:湖南教育出版社,1993。

5. 叶其孝主编,大学生数学建模竞赛辅导教材(二),长沙:湖南教育出版社,1997。

6. 叶其孝主编,大学生数学建模竞赛辅导教材(三),长沙:湖南教育出版社,1998。

7. 姜启源,数学模型(第二版),北京:高等教育出版社,1993。

8. 赵静,但琦主编,数学建模与数学实验,北京:高等教育出版社;施普林格(Springer)出版社,2000。

9. 王沫然,MA TLAB 5.X 与科学计算,北京:清华大学出版社,2000。

10.李涛,贺勇军,刘志俭等编著,Matlab 工具箱应用指南—应用数学篇,北京:电子

工业出版社,2000。

11.胡运权主编,运筹学习题集(第三版),北京:清华大学出版社,2003。

12.雷功炎,数学模型讲义,北京:北京大学出版社,1999。

13.谢金星,刑文训,网络优化,北京:清华大学出版社,2000。

14.《现代应用数学手册》编委会,现代应用数学手册—运筹学与最优化理论卷,北京:

清华大学出版社,1998。

15.白其峥主编,数学建模案例分析,北京:海洋出版社,2000。

16.李火林等主编,数学模型及方法,江西:江西高校出版社,1997。

17.陈理荣主编,数学建模导论,北京:北京邮电大学出版社,1999。

18.丁丽娟,数值计算方法,北京:北京理工大学出版社,1997。

19.李哲岩,张永曙,变分法及其应用,西安:西北工业大学出版社,1989。

20.盛骤,谢式千,潘承毅,概率论与数理统计(第二版),北京:高等教育出版社,1989。

21.飞思科技产品研发中心编著,MA TLAB6.5 辅助优化计算与设计,北京:电子工业

出版社,2003。

22.谢云荪,张志让主编,数学实验,北京:科学出版社,2000。

23.蔡锁章主编,数学建模原理与方法,北京:海洋出版社,2000。

24.陈桂明,戚红雨,潘伟编著,Matlab 数理统计(6.X),北京:科学出版社,2002。

25.陆君安,尚涛,谢进,谷平编著,偏微分方程的Matlab 解法,武汉:武汉大学出

版社,2001。

26.边肇祺,张学工等编著,模式识别(第二版),北京:清华大学出版社,2001。

27.吴翊,吴梦达,成礼智编著,数学建模的理论与实践,长沙:国防科技大学出版社,1999。

28.王振龙主编,时间序列分析,北京:中国统计出版社,2000。

29.唐焕文,贺明峰编,数学模型引论(第二版),北京:高等教育出版社,2002。

30.范金城,梅长林编著,数据分析,北京:科学出版社,2002。

31. 张宜华编写,精通MA TLAB5,北京:清华大学出版社,2000。

32. 黎锁平,张秀媛,杨海波,人工蚁群算法理论及其在经典TSP 问题中的实现,交

通运输系统工程与信息,V ol. 2, No. 1, (2002),54~57。

33. 谢金星,薛毅编著,优化建模与LINDO/LINGO 软件,北京:清华大学出版社,2005。

本文来自: 人大经济论坛Matlab及其他计量软件专版版,详细出处参考:https://www.sodocs.net/doc/f413163456.html,/forum.php?mod=viewthread&tid=824614&page=1&fromuid=2767262

MATLAB简介

MATLAB简介 MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。 目前MATLAB产品族可以用来进行: ?数值分析 ?数值和符号计算 ?工程与科学绘图 ?控制系统的设计与仿真 ?数字图像处理 ?数字信号处理 ?通讯系统设计与仿真 ?财务与金融工程 MATLAB产品家族的构成见上图,下面对各个组成部分进行介绍: MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。

MATLAB Compiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件、COM 组件等等,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言例如C/C++语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。 利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB产品的工具箱有四十多个,分别涵盖了数据采集、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。 Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车动力学系统等等,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。 Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATL AB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。 在MATLAB产品族中,自动化的代码生成工具主要有Real-Time Wor kshop(RTW)和Stateflow Coder,这两种代码生成工具可以直接将Simulink 的模型框图和Stateflow的状态图转换成高效优化的程序代码。利用RTW生成的

Matlab GUI编程教程

Matlab GUI编程教程 介绍 什么是GUI呢 ? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C 语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default)

2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。 3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

MATLAB学习知识重点

1,计算矩阵的特征值和特征向量 【V,D 】=eig (A ) 其中A 指的是矩阵 V 指的是特征向量组成的矩阵 D 指的是特征值所组成的矩阵 A=[0 1 0;1 0 1;0 1 0]; >> [V,D]=eig(A) V = 0.5000 -0.7071 0.5000 -0.7071 0.0000 0.7071 0.5000 0.7071 0.5000 D = -1.4142 0 0 0 -0.0000 0 0 0 1.4142 2,求线性方程的解 1231231232314354578950x x x x x x x x x ++=-+=++= 这是一个非齐次方程方程,对于线性代数来讲,很难求解,但是利用MATLAB 来求 A=[1 2 3;3 -5 4;7 8 9]; 1 B=[14 5 50]; 2 x=A\B 3 B=[14;5;50]; 4 这4个语句的区别,特别是2.3两句的区别,2语句中B 表示的是1行3列,但是4语句中的表示的3行1列。 同时,X=A\B 很X=A/B 也是很有能区别的,具体的区别如下: X=A\B 表示的是A*X=B 的解 X=A/B 表示的是X*A=B 的解,在这里,具体解释如下;A*X=B ,

在线性代数中,X=A^(-1)B ,所以X=A\B。X*A=B的解为X=BA^(-1),就是X=B/A。 3,一元方程求根 这个在计算中是个难题,一元多次方程式很难求解的,对于纯粹的手工计算来说,所以有MATLAB比较方便,具体语句如下:()23 1.350.6680.4360.69552 =+++ f x x x x P=[0.69552 0.436 0.668 1.35]; >> X=roots(P) X = 0.2817 + 1.2456i 0.2817 - 1.2456i -1.1902 + 0.0000i 对于这个方程来说,要注意的是,在构成向量时,一定要从告辞往低次排列,中间缺少次数的,用0代替,求解语句是roots(P)。4,图形处理功能 A, 可以绘制函数图像,具体的语句如下: >> x=linspace(0,6); 这个表示X轴,在0到6内取100个点,这是默认的数值100。当然还有可以设定数值的方法linspace(0,6,100)表示的是在0到6内取等间隔取100个点。 >> y1=sin(2.*x); >> plot(x,y1)这是绘制函数sin(2X)的图像,在这里要注意的,

matlab入门经典范例

num1=[13]; den1=conv([1,1],[1,0]); G1=tf(num1,den1); num2=[5.096,13]; ssys1=conv([1,1],[1,0]); ssys2=conv([0.098,1],[1]); den2=conv( ssys1,ssys2); G2=tf(num2,den2); figure(1) margin(G1); hold on margin(G2); num1=[13]; den1=conv([1,1],[1,0]); G1=tf(num1,den1); num2=[5.096,13]; ssys1=conv([1,1],[1,0]); ssys2=conv([0.098,1],[1]); den2=conv( ssys1,ssys2); G2=tf(num2,den2); figure(1) margin(G1); hold on margin(G2); num=[4.56,10]; ssys1=conv([1,1],[1,0]); ssys2=conv([0.114,1],[1]); den=conv( ssys1,ssys2); G=tf(num,den); figure(1) bode(G) num=[4.56,10]; ssys1=conv([1,1],[1,0]); ssys2=conv([0.114,1],[1]); den=conv( ssys1,ssys2); G=tf(num,den); figure(1) msrgin(G); num1=[13]; den1=conv([1,1],[1,0]);

Matlab简介

MATLAB简介 MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的Cleve Moler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件. 归纳起来,MATLAB具有以下几个特点:易学、适用范围广、功能强、开放性强、网络资源丰富. 由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习. 一MATLAB的运行 启动MATLAB点击MATLAB图标,进入到MATLAB命令窗(MATLAB Command Window).在命令窗内,可以输入命令、编程、进行计算. 学会使用help命令在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次

提醒“敲回车键”.)学会使用help命令,是学习MATLAB的有效方法.例如:要想知道MATLAB中的基本数学函数有哪些,可以在总览的第五行查到:MATLAB中的“基本数学函数”用elfun表示,于是,可进一步键入:“help elfun”,屏幕上将出现“基本数学函数”表.(注意:help elfun之间有空格,以后不再每次提醒.)如果想了解sin函数怎样使用,可进一步键入help sin.在工具栏中点击help按扭,或点击?号按扭,与上面获取帮助信息的方法是等效的. 学会使用demo命令在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLAB Demo Window)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type (文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法. 进入演示窗还有另一方法:在工具栏中点击Help栏,下拉式菜单中点击examples and demos项,即可进入演示窗口. 退出在工具栏中点击File按钮,在下拉式菜单中单击Exit MATLAB项即可. 二变量、语句、矩阵与函数 1.变量

一个简单的Matlab_GUI编程实例

Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下

图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 1. 2. 3.function edit1_Callback(hObject, eventdata, handles) 4.% hObject handle to edit1 (see GCBO) 5.% eventdata reserved - to be defined in a future version of MATLAB

6.% handles structure with handles and user data (see GUIDATA) 7.% Hints: get(hObject,'String') returns contents of edit1 as text 8.% str2double(get(hObject,'String')) returns contents of edit1 as a double 复制代码 然后在上面这段代码的下面插入如下代码: 1. 2.%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0if (isempty(input)) set(hObject,'String','0')endguidata(hObject, handles); 复制代码 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; 1.function pushbutton1_Callback(hObject, eventdata, handles) 2.% hObject handle to pushbutton1 (see GCBO) 3.% eventdata reserved - to be defined in a future version of MATLAB 4.% handles structure with handles and user data (see GUIDATA) 复制代码

matlab经典习题及解答

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 页脚内容1

命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径? 在MATLAB中有多种获得帮助的途径: (1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器; (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。 第2章MATLAB矩阵运算基础 页脚内容2

Matlab gui新手入门指南

1、从最简单的开始 编程最基本的目的就是——我执行一个操作,程序做出一个反应。 “一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项…… “做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里…… -------------------------------------------------------------------------------------------------------------------编程的基本思想: 目的->当点击按钮A时,然后执行任务C, 则->进入按钮A的回调函数callback里,写下任务C的代码。 -------------------------------------------------------------------------------------------------------------------a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。 a:不同的回调函数啥意思?? callBack 最常用的就是它。如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。正常用途,全放在callback下就够了。如果其他的,实在是想知道,了解一下也未尝不可。 ButtonDownFcn 就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。) CreateFcn 顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码; DeleteFcn 一样。在控件要销毁,但是被毁灭之前执行这个函数名下的代码。貌似“真的要退出吗”这一类就是写在这里。 KeyPressFcn 当前控件获得焦点且有按键按下时执行。(什么是焦点?就是这个控件被鼠标点了(或者是tab轮选到了)。你打开一个记事本,然后再点这个网页,再随便按几个按键,记事本上有字不?没有对吧。因为它没获得焦点,所以你的按键它不会反应的。只有你最后再点它一下,再按几个按键,结果怎么样?有字了吧?)这里的KeyPressFcn也是一样的道理。 一般在这下面的代码还会判断下按键是什么,然后执行相应的代码。 ResizeFcn,SelectionChangeFcn不常用。也懒得去看了。附几句,控件都有Resize的属性,好像默认是不可调整,如果要用到这个函数,去把它打开先。 SelectionChangeFcn 是在群按钮组件中,改变选择时,所执行的函数。 哪些控件支持哪些回调函数?很简单,你在它上面右键就可以看到了,点进去就可以编辑了。 可以在property inspect中在需要的回调函数下设置%automatic就可以自动添加相应的回调函数框架。 2、常用控件代码框架参考 --------------------------------------------------------------------- Toggle Button的callback一般写法

BP神经网络matlab实例(简单而经典)

p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化 net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = (,[1 2...],{ 1 2...},,,) net newff PR S S SNl TF TF TFNl BTF BLF PF R?维矩阵。 PR:由R维的输入样本最小最大值构成的2 S S SNl:各层的神经元个数。 [ 1 2...] TF TF TFNl:各层的神经元传递函数。 { 1 2...} BTF:训练用函数的名称。 (2)网络训练 = net tr Y E Pf Af train net P T Pi Ai VV TV [,,,,,] (,,,,,,) (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp' BP网络的训练函数 训练方法训练函数 梯度下降法traingd 有动量的梯度下降法traingdm 自适应lr梯度下降法traingda 自适应lr动量梯度下降法traingdx 弹性梯度下降法trainrp Fletcher-Reeves共轭梯度法traincgf

MATLAB模块介绍$

MATLAB 模块介绍 -------- 数学 & 金融 u Curve Fitting Toolbox Curve Fitting Toolbox 扩展MATLAB 环境,集成数据管理,拟合,显示,检验和输入分析过程等功能。所有能通过GUI 使用的功能都可以通过命令行来进行。

u Database Toolbox ——与关系数据库交换数据 Database Toolbox提供了同任何支持ODBC/JDBC标准的数据库进行数据交换的能力。利用在工具箱中集成的Visual Query Builder工具,无需学习任何SQL语句就可以实现在数据库中查寻数据的功能。这样MATLAB就能够对存储在数据库中的数据进行各种各样的复杂分析。在MATLAB环境中,也可以使用SQL命令来进行如下操作: 对数据库数据进行读、写操作;应用简单或复杂的条件查询数据库中的内容。 特点: ?与支持ODBC/JDBC 数据库建立连接,包括Oracle 、Sybase SQL Server ,Sybase SQL Anywhere ,Microsoft SQL Sever ,Microsoft Access ,Informix Ingres 等。?支持SQL 语句,可以在MATLAB 环境下直接执行SQL 查询命令 ?动态数据调入:可以根据需要使用SQL 在MATLAB 中获取数据,本工具箱对某一种类型的数据库进行大量或小量的查询 ?数据类型保持:在MATLAB 中对数据的调入或调出操作都能保持原有的数据类型 ?多个对话能力,采用本工具箱可在MATLAB 中从一个数据库中调入数据,对那些数据进行分析,然后输出到另一个数据库中 ?处理大量数据的能力:采用本工具箱你可以一次或分几次处理大量的数据,这样能让你根据任务高效地进行数据处理 ?连续状态的数据库联接:一旦和某个数据库的联接建立起来后,数据库一直是打开的,除非你在MATLAB 中执行关闭语句。这提高了数据库的读取速度,减少了不必要的命令来调入、输出数据。 ?无需了解SQL 也能够对数据库数据进行查询。 功能: Database Toolbox 可以与流行的数据库交互数据,其中包括Oracle ,Sybase ,Microsoft SQL Server 及Informix 等。工具箱还允许在单个MATLAB 进程中对多个数据库进行操作,同时支持对大量数据处理。工具箱中包含的Visual Query Builder ,即使不知道SQL ,也能可视化地与数据库打交道。 u Financial Derivatives Toolbox Financial Derivatives Toolbox 用于分析金融衍生工具和投资。 特点 ?提供各种利息率模型 ?提供七种金融工具一系列计算的函数

matlab中gui教程

11 图形用户界面(GUI )制作 用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。 图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。 即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。读者只要输入所提供的程序,就可引出相应的界面。 本章第2节叙述图形用户界面的设计原则和一般制作步骤。第3、4节分别介绍用户菜单、用户控件的制作。出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。MATLAB 5.x 版为方便用户制作图形界面,提供了一个交互式的设计工具guide 。关于该工具的使用方法,被放在第6节中,以一个综合例题为设计目标逐步展开。 在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。 11.1 入门 【*例11.1-1】对于传递函数为1 212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标方格控制键的形成;(D )如何使用该界面。 (1)产生图形窗和轴位框: clf reset H=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H); str='\fontname{隶书}归一化二阶系统的阶跃响应曲线'; text(0.12,0.93,str,'fontsize',13); h_fig=get(H,'parent'); set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,... 'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8);

MATLAB考试复习资料大全

MALAB 译于矩阵实验室 MATLAB 的基本数据单位是矩阵 指令执行后矩阵A 被保存在MATLAB 的工作间Workspace 中以 备后用如果用户不用clear 指令清除它或对它重新定义该矩阵会一直保存在工作间中直到本MATLAB 指令窗被关闭为止 用who 检查内存变量 用whos 检查驻留变量的详细情况

保存的指令格式 1 save 工作间中的所有变量保存在磁盘上名为matlab.mat 的文件中 2 save [文件名] [变量名] 将指定的变量保存在指定文件中如 save temp x y z 把x,y,z 这三个变量保存在文件temp.mat 中 在下次加载MATLAB 时可以利用load 指令将保存在文件中的变量恢复到工作间中其格式有 1 load 将保存在matlab.mat 中的变量装入到MATLAB 工作间中 2 load [文件名] [变量名] 从指定的文件中将指定的变量装入 MATLAB 工作间如 load temp x 从文件temp.mat 中只将变量x 装入到MATLAB 工作 间中 A.*B 同维数组对应元素相乘 sqrt(A) 对A 的每个元素求平方根 A^n 矩阵的n 次幂 abs 绝对值angle 复数相角imag 复数虚部 real 复数实部exp 指数aqrt 平方根 syms 可以定义多个符号 diff(f) 函数f 对符号变量x 或字母表上最接近字母x 的符号变量求导数diff(f,t) 函数f 对符号变量t 求导数 int(f) 函数f 对符号变量x 或接近字母x 的符号变量求不定积分 int(f,t) 函数f 对符号变量t 求不定积分 int(f,t,a,b) 函数f 对符号变量t 求从a 到b 的定积分 limit(f) 当符号变量x 或最接近字母x 的符号变量>0 时函数f 的极 限 limit(f,t,a) 当符号变量t >a 时函数f 的极限 limit(1/x,x,0,'left') limit(1/x,x,0,'right') limit((1+x/t)^t,t,inf) solve(f,t) 对f 中的符号变量t 解方程f=0 f=simple(S) 对表达式S 进行化简输出长度最短的表达式 MATLAB 中最常用的绘图函数为plot plot 函数调用格式plot(x,y) 其中x 和y 为坐标向量 axis('equal') 两个坐标因子设定成相等 用MATLAB 语言编写的程序称为M 文件M 文件有两类命令文件和 函数文件 x=rand(1,5) %产生(1×5)的均布随机数组

matlab经典编程例题

以下各题均要求编程实现,并将程序贴在题目下方。 1.从键盘输入任意个正整数,以0结束,输出那些正整数中的素数。 clc;clear; zzs(1)=input('请输入正整数:');k=1; n=0;%素数个数 while zzs(k)~=0 flag=0;%是否是素数,是则为1 for yz=2:sqrt(zzs(k))%因子从2至此数平方根 if mod(zzs(k),yz)==0 flag=1;break;%非素数跳出循环 end end if flag==0&zzs(k)>1%忽略0和1的素数 n=n+1;sus(n)=zzs(k); end k=k+1; zzs(k)=input('请输入正整数:'); end disp(['你共输入了' num2str(k-1) '个正整数。它们是:']) disp(zzs(1:k-1))%不显示最后一个数0 if n==0 disp('这些数中没有素数!')%无素数时显示 else disp('其中的素数是:') disp(sus) end 2.若某数等于其所有因子(不含这个数本身)的和,则称其为完全数。编程求10000以内所有的完全数。 clc;clear;

wq=[];%完全数赋空数组 for ii=2:10000 yz=[];%ii的因子赋空数组 for jj=2:ii/2 %从2到ii/2考察是否为ii的因子 if mod(ii,jj)==0 yz=[yz jj];%因子数组扩展,加上jj end end if ii==sum(yz)+1 wq=[wq ii];%完全数数组扩展,加上ii end end disp(['10000以内的完全数为:' num2str(wq)])%输出 3.下列这组数据是美国1900—2000年人口的近似值(单位:百万)。 (1)若. 2c + = y+ 与试编写程序计算出上式中的a、b、c; 的经验公式为 t at bt y (2)若.bt 的经验公式为 y= 与试编写程序计算出上式中的a、b; y ae t (3)在一个坐标系下,画出数表中的散点图(红色五角星),c + =2中 ax bx y+拟合曲线图(蓝色实心线),以及.bt y=(黑色点划线)。 ae (4)图形标注要求:无网格线,横标注“时间t”,纵标注“人口数(百万)”,图形标题“美国1900—2000年的人口数据”。 (5)程序中要有注释,将你的程序和作好的图粘贴到这里。 clf;clc;clear %清除图形窗、屏幕、工作空间 t=1900:10:2000; y=[76 92 106 123 132 151 179 203 227 250 281]; p1=polyfit(t,y,2);%二次多项式拟合

matlab gui教程

什么是GUI呢? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;

布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double 然后在上面这段代码的下面插入如下代码: %以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字, 则现实空白内容 input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0 if(isempty(input)) set(hObject,'String','0')

如何学习MATLAB (书籍篇)

注:红色表示武汉大学图书馆的索书号,蓝色为本人为该书写的内容提要) 多次被朋友问到:如何快速入门并掌握MATLAB?碍于时间关系,总没能做过多的思考。现在觉得很有必要将这个问题搞个详细的分析。 1如何快速入门MATLAB并掌握MATLAB 如果你是学计算机的可以直接跳转到第二部分。建议你看看,可能会有所收获。其实,任何一门程序语言都是相通的,这正是大学计算机课程为什么只开设一门程序设计课程就可以了的一个很大的原因。如果你有C的基础就可以很快入门任何一门程序语言,加上几天的上机摸索,多参考基本教程,如果你够幸运一个星期就可以掌握一门程序语言。 MATLAB语言在欧美的使用程度就如同我们考试要带计算器一样,相当普及。任何一门课程都会使用MATLAB的。所以,对于工科学生来说,所学的任何一门课程,都可以用MATLAB来检验自己的学习程度。对于教材中的图形,都可以用MATLAB来重现;对于教材中所提出的所谓高深的理论或算法都可以编写自己的程序来检验对其理解的程度。我的理解是:只有你能够把程序编写出来,那就是真的理解该理论了。比如,我在大三学电力系统分析的时候,就自己编写了牛—拉法求潮流的程序,计算暂态稳定的简单程序,计算发电机短路电流的程序等等。自然地这些专业课程都学得不错。 2怎样入门MATLAB 经过多年的发展MATLAB的功能相当强大,积聚了当今世界上各行各业的顶级人士的精华。要学好、用好MATLAB不是短期所能为的。当然,要快速掌握它还是比较轻松的。大致可以分为一下几个阶段。 2.1MATLAB基本操作 这个阶段的目的在于掌握M文件和M函数的编写,掌握MATLAB的语法规则。对任何一门程序的掌握都是通过掌握该程序的语法来完成的。语句的表达对于任何语言都是一样的,如:x+y,x^2,sqrt(x)等等,所以重点是掌握语言三种结构的描述方法:顺序结构、分支结构和循环结构。只要知道了程序是怎么顺序执行的(有没有标号、结束时用分号还是不用还是逗号)、分支结构中的if语句和switch语句和循环结构中的for语句和while语句是怎么执行的,知道子程序的结构,那么你就基本掌握该语言了,至于类呀什么的,用到的时候再学。 在该阶段对于学习MATLAB比较好的书大致有 [1]张平.MATLAB基础应用简明教程[M].北京:航空航天大学,2001.TP213MA/Z278 [2]林雪松等.MATLAB7.0应用集锦[M].北京:机械工业出版社,2005.9.TP213MA/L534 [3]姚俊等.simulink建模与仿真[M].西安:西安电子科技大学,2002.8.TP213MA/Y237 2.2提高阶段

matlab学习笔记(入门)

数据类:double,unit8,unit16,unit32,int8,int16,int32,single,char,logical!Matlab中所有数值计算都可以用double类来进行!,unit8实际中最常用的图像 图像类型:亮度图像,二值图像,索引图像,RGB图像 亮度图像:是数据矩阵,若是unit8或uint16则是【0,255】或者是【0,65535】,若是double 类,则像素取值是浮点数 二值图像只有:0和1的逻辑数组! 、 简单操作: 读图并显示详细情况 >> f=imread('E:\image\book.pgm');whos Name Size Bytes Class Attributes f 289x338 97682 uint8 将图像垂直翻转: >> f=imread('E:\image\book.pgm');fp=f(end:-1:1, : );imshow(fp) 将图像上下左右翻转: f=imread('E:\image\book.pgm');fc=f(end:-1:1,end:-1:1);imshow(fc) 将图像二次采样并显示详情: >> fs=f(1:2:end,1:2:end);imshow(fs) >> whos fs Name Size Bytes Class Attributes fs 145x169 24505 uint8 将图像取出一部分: >> fg=f(200:250,200:300);imshow(fg) 显示图像中的一条水平扫描线: >> plot(f(200, : ) 将两幅图像进行相乘: f=imread('c:\image\liangdian.jpg');g=imread('c:\image\shuiguo.jpg'); g=g(300:715,500:1149);f=f(1:416,1:650);f d=double(f);gd=double(g); p=fd.*gd;数组乘! pmax=max(p(:));pmin=min(p(:));取最大最小值! pn=mat2gray(p);figure,imshow(pn) 亮度变化: 函数imadjust是对灰度图像进行亮度变化的基本ipt工具: g=imadjust(f,[low-in high-in],[low-in high-in],gamma) Gamma为1线性映射,大于1,则映射被加权至更低(更暗的)输出值,小于一,加权至更高的输出值 明暗反转图像(负片)参数不同: >> f=imread('E:\image\book.pgm');g=imadjust(f, [0 1],[1 0 ]);imshow(g) >> f=imread('E:\image\book.pgm');g=imadjust(f, [0 1],[1 0 ],2);imshow(g) >> f=imread('E:\image\book.pgm');g=imadjust(f, [0 1],[1 0 ],0.5);imshow(g) 另外也可以这样:进行明暗反转: g=imcomplement(f);imshow(g) 将0.5到0.75之间的灰度级拓展到0-1,可用于突出我们感兴趣的亮度带

相关主题