可以选计算机科学与技术专业或者软件工程专业。
1、计算机科学与技术专业:计算机科学与技术是研究计算机的设计与制造,并利用计算机进行有关的信息表示、收发、存储、处理、控制等的理论方法和技术的学科。
2、软件工程专业:软件工程专业以计算机科学与技术学科为基础,强调软件开发的工程性,使学生在掌握计算机科学与技术方面知识和技能的基础上熟练掌握从事软件需求分析、软件设计、软件测试。
软件维护和软件项目管理等工作所必需的基础知识、基本方法和基本技能,突出对学生专业知识和专业技能的培养,培养能够从事软件开发、测试、维护和软件项目管理的高级专门人才。
扩展资料:
软件工程专业是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。它涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
参考资料:百度百科——软件工程专业
求组装电脑主机高手,工程软件建模仿真用,需要强大数据运算处理,内存也要高,要有刻录机,不带显示器,
这个配置大约3100元,CPU绝对够猛了,这几个软件主要靠CPU,如果觉得内存不够大的话自己再加上去,这点儿预算就不够用了。固态硬盘方面截图用的这个网站没有浦科特M6S,这个更好,128G版的大约480元。显卡的话淘宝买一个GT210用来当亮机卡,不超过30块钱,E3没有核显这种鸡肋的东西,散热器用九州风神(DEEPCOOL) 冰凌 MINI 旗舰双刃版,同一个问题不要发两遍,会被我发现的~~去中关村别被坑啊!
更多好吧,刚才是没人回复
图看得见么?
至强E3-1230V3 1430元
技嘉GA-B85M-HD3 455元
金士顿骇客神条8G单条 461元
浦科特M6S 128G 480元
先锋DVR0221CHV 132元
辛苦走线王爽玩版机箱 89元
百事得430电源 99元
九州风神冰凌Mini旗舰双刃版 39元
杂牌GT210 30元(最好自己去淘宝二手买好)
看到了,3Q
软件建模的四大流派是什么
软件工程的建模和数学建模不是一个感念,楼上先生对数学建模的解释很好,我就不多说了.
软件工程的建模是要把一个现实应用问题表述成一个软件问题,核心有两点,就是明确这个应用的数据是什么?对这些数据如何进行处理(也叫操作).
建模的过程在软件工程中叫做“需求分析”。
建模的结果要形成两个技术文档,需求分析说明书和需求规格说明书。
建模的模型化方法有多种,针对具体的应用问题可以采取不同的方法,常用的有数据流图、统一建模UML方法等。现在普遍采用的是UML方法。
建模的软件工具有VISIO等。Visio是和微软的开发平台Visual Studio .Net一起发布的大概是其中第七块盘,网上搜索Visio可以找到D版软件下来玩玩,支持多种建模方法,还有案例。
建模的目的是要得到软件系统设计的基本要素:数据流图、数据字典;或者,用例、类图、状态图等,并且为下一步的系统设计奠定基础。
数学建模常用软件有哪些哈
Matlab
Mathematica
lingo
SAS
详细介绍:
数学建模软件介绍
一般来说学习数学建模,常用的软件有四种,分别是:matlab、lingo、Mathematica和SAS下面简单介绍一下这四种。
1.MATLAB的概况
MATLAB是矩阵实验室(Matrix Laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处
理,可视化建模仿真和实时控制等功能。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等
语言完相同的事情简捷得多.
当前流行的MATLAB 5.3/Simulink 3.0包括拥有数百个内部函数的主包和三十几种工具包(Toolbox).工具包又可以分为功能性工具
包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强
的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.
开放性使MATLAB广受用户欢迎.除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改
或加入自己编写程序构造新的专用工具包.
2.Mathematica的概况
Wolfram Research 是高科技计算机运算( Technical computing )的先趋,由复杂理论的发明者 Stephen Wolfram 成立于
1987年,在1988年推出高科技计算机运算软件Mathematica,是一个足以媲美诺贝尔奖的天才产品。Mathematica 是一套整合数字以
及符号运算的数学工具软件,提供了全球超过百万的研究人员,工程师,物理学家,分析师以及其它技术专业人员容易使用的顶级
科学运算环境。目前已在学术界、电机、机械、化学、土木、信息工程、财务金融、医学、物理、统计、教育出版、OEM 等领域广
泛使用。
Mathematica 的特色
·具有高阶的演算方法和丰富的数学函数库和庞大的数学知识库,让 Mathematica 5 在线性代数方面的数值运算,例如特征向量、 反矩阵等,皆比Matlab R13做得更快更好,提供业界最精确的数值运算结果。
·Mathematica不但可以做数值计算,还提供最优秀的可设计的符号运算。
·丰富的数学函数库,可以快速的解答微积分、线性代数、微分方程、复变函数、数值分析、机率统计等等问题。
·Mathematica可以绘制各专业领域专业函数图形,提供丰富的图形表示方法,结果呈现可视化。
·Mathematica可编排专业的科学论文期刊,让运算与排版在同一环境下完成,提供高品质可编辑的排版公式与表格,屏幕与打印的 自动最佳化排版,组织由初始概念到最后报告的计划,并且对 txt、html、pdf 等格式的输出提供了最好的兼容性。
·可与 C、C++ 、Fortran、Perl、Visual Basic、以及 Java 结合,提供强大高级语言接口功能,使得程序开发更方便。
·Mathematica本身就是一个方便学习的程序语言。 Mathematica提供互动且丰富的帮助功能,让使用者现学现卖。强大的功能,简 单的操作,非常容易学习特点,可以最有效的缩短研发时间。
3.lingo的概况
LINGO则用于求解非线性规划(NLP—NON—LINEAR PROGRAMMING)和二次规则(QP—QUARATIC PROGRAMING)其中
LINGO 6.0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再10^4量级以上。虽然LINDO和
LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。
模型建立语言和求解引擎的整合
LINGO是使建立和求解线性、非线性和整数最佳化模型更快更简单更有效率的综合工具。LINGO提供强大的语言和快速的求解引擎来阐述和求解最佳化模型。
■ 简单的模型表示
LINGO可以将线性、非线性和整数问题迅速得予以公式表示,并且容易阅读、了解和修改。
■ 方便的数据输入和输出选择
LINGO建立的模型可以直接从数据库或工作表获取资料。同样地, LINGO可以将求解结果直接输出到数据库或工作表。
■ 强大的求解引擎
LINGO内建的求解引擎有线性、非线性(convex and nonconvex)、二次、二次限制和整数最佳化。
■ Model Interactively or Create Turn-key Applications
LINGO提供完全互动的环境供您建立、求解和分析模型。LINGO也提供DLL和OLE界面可供使用者由撰写的程序中呼叫。
■ 广泛的文件和HELP功能
LINGO提供的所有工具和文件可使你迅速入门和上手。LINGO使用者手册有详细的功能定义。
4.SAS软件概况
SAS系统全称为Statistics Analysis System,最早由北卡罗来纳大学的两位生物统计学研究生编制,并于1976年成立了SAS软件研究所,正式推出了SAS软件。SAS是用于决策支持的大型集成信息系统,但该软件系统最早的功能限于统计分析,至今,统计分析功能也仍是它的重要组成部分和核心功能。SAS现在的版本为9.0版,大小约为1G。经过多年的发展,SAS已被全世界120多个国家和地区的近三万家机构所采用,直接用户则超过三百万人,遍及金融、医药卫生、生产、运输、通讯、政府和教育科研等领域。在英美等国,能熟练使用SAS进行统计分析是许多公司和科研机构选材的条件之一。在数据处理和统计分析领域,SAS系统被誉为国际上的标准软件系统,并在96~97年度被评选为建立数据库的首选产品。堪称统计软件界的巨无霸。在此仅举一例如下:在以苛刻严格著称于世的美国FDA新药审批程序中,新药试验结果的统计分析规定只能用SAS进行,其他软件的计算结果一律无效!哪怕只是简单的均数和标准差也不行!由此可见SAS的权威地位。
SAS系统是一个组合软件系统,它由多个功能模块组合而成,其基本部分是BASE SAS模块。BASE SAS模块是SAS系统的核心,承担着主要的数据管理任务,并管理用户使用环境,进行用户语言的处理,调用其他SAS模块和产品。也就是说,SAS系统的运行,首先必须启动BASE SAS模块,它除了本身所具有数据管理、程序设计及描述统计计算功能以外,还是SAS系统的中央调度室。它除可单独存在外,也可与其他产品或模块共同构成一个完整的系统。各模块的安装及更新都可通过其安装程序非常方便地进行。SAS系统具有灵活的功能扩展接口和强大的功能模块,在BASE SAS的基础上,还可以增加如下不同的模块而增加不同的功能:SAS/STAT(统计分析模块)、SAS/GRAPH(绘图模块)、SAS/QC(质量控制模块)、SAS/ETS(经济计量学和时间序列分析模块)、SAS/OR(运筹学模块)、SAS/IML(交互式矩阵程序设计语言模块)、SAS/FSP(快速数据处理的交互式菜单系统模块)、SAS/AF(交互式全屏幕软件应用系统模块)等等。SAS有一个智能型绘图系统,不仅能绘各种统计图,还能绘出地图。SAS提供多个统计过程,每个过程均含有极丰富的任选项。用户还可以通过对数据集的一连串加工,实现更为复杂的统计分析。此外,SAS还提供了各类概率分析函数、分位数函数、样本统计函数和随机数生成函数,使用户能方便地实现特殊统计要求。
数学建模数学公式输入软件有哪些呢,谢谢啦
数学公式输入都是用mathtype,或者是word自带的公式编辑器
逆向工程中数据测量的方法有哪些,有何优缺点
在产品的逆向设计中,产品三维数据的获取方法基本上可分为两大类,即接触式与非接触式,由于这两种方式各有优缺点,而且它们的结合可以实现伏势互补,克服测量中的种种困难,因而世界各国的逆向设备生产商纷纷研制具有接触式与非接触式两种扫描功能的逆向设备。
三坐标测量机是一种接触式测量设备,它具有精度高、重复性好等优点,其缺点是速度慢、效率低。非接触式方法利用某种与物体表面发生相互作用的物理现象来获取其三维信息,如光、电磁等。非接触式方法具有测量过程非接触、测量迅速等优点,其缺点是对所测量物体材料要求严格,如采用激光测量时,所测量物体材料要求不能透光,表面不能太光亮,而且对直壁和徒坡数据的采集往住存在一定误差。
逆向工程中数据采集与处理
逆向工程中的测量数据量大,扫描的数据点可达数十万,而且扫描的数据点具有离散性。为了有效地利用这些测量数据进行CAD建模,必须对数据云进行必要的处理。
1.数据采集
数据采集的过程为:机床初始化—根据要扫描的物体设置扫描基准(包括Z平面、坐标轴、基准点等)—设置并进行2D轮廓扫描(此步可根据实际情况进行选择)—根据2D轮廓或坐标区域进行3D曲面扫描设置(包括扫描方向及步距、3D空间极值、允许的最小误差及弦向误差、探头半径、扫描速度等)—进行数据采集。
2.数据处理
数据处理的目的是为了获得正确的数据信息,生成相应格式的数据文件(如igs, dxf, vda, UG格式、Cimatron格式、Pro-E格式等)并与UGII, Surface, Pro-E, Catia等著名工程软件进行数据交换,以便用它们进行3D模型重构。在Renishaw公司的Tracecut23软件中提供了多种数据处理方法,这些方法包括数据调整、复制、数据光顺、噪声去除、数据镜像、阴阳转换、生成真实表面、CAD数据输出等。数据处理中要避免造成形状变形、精度降低、数据点不足等问题,一般要进行以下几方面的工作:
(1)补偿点的产生对于接触式扫描,由于从扫描仪获得的测量数据并不真正代表接触点的坐标,而反映的是探头的中心或顶部的值,因此,要对这些数据进行补偿,转换为被测物体表面的坐标值。对于产生补偿点,首先需要计算出标准点,而由于没有表面的数学表达公式,不能使用通常的方法计算出标准点。目前已开发出特殊的算法,能够在所规定的公差范围之内,获得近似的标准值。
(2)噪声点删除逆向工程测量过程中,受扫描测量方式、测量物体材料的种类、设备的精度等因素的影响,极易造成测量数据误差点的产生,对这类误差点,习惯上称为噪声点。在数据处理的第一步先要利用系统所提供的噪声点去除功能,选择合适的去噪精度去除多余的误差点,保证测量数据的准确性。
(3)数据点精化在CAD系统中,需要对逆向工程中获得的扫描数据点进行曲线构造、曲线光顺处理、曲面重构、曲面光滑处理、曲面拼接、三维建模等工作。在进行这些操作之前,要根据所测量物体的各部分的形伏特点设置适当的截面终距离和相邻两数据点的距离,利用系统中的CAD数据输出功能输出适当格式的数据文件,再利用CAD软件对数据点进行删除和拼接,这样可保证所测物体曲率较大处有较少的数据点,曲率较小处和复杂处具有较多的数据点。
数据采集方法及技巧
在实物测量中,会遇到各种复杂的形状,为保证所测量数据的准确性和所测量形状的完整性,采用的测量方法和测量工装是数据采集的关键。
1.翻模测量法
汽缸是汽油机的核心部件,它的形状及尺寸的准确性直接影响着汽油机的功率及对环境的污染程度。根据汽油机汽缸的特点,将其划分为两部分进行扫描,即分成气道、燃烧室。对燃烧室来说,在用线切割机床对汽缸进行适当切割剖分后可直接用接触探头扫描;气道的形状极为复杂而且细节极多,有许多细节部分接触探头无法达到,致使接触探头无法扫描。基于此种原因,对气道部分采用翻模测量法,将汽缸的气道用硅胶、石膏、树脂等材料进行翻模,然后用接触探头对翻制的模型进行扫描。由于硅欣、石膏、树脂的充型能力极佳、而且充型后变形小可较好地复制原来气道的形状。因而对翻制的模型进行扫描,可保证扫描的精度。
经反复实验,发现石膏在所有材料中的翻模精度最高,而且模型的表面质量与原件接近。在用接触探头扫描时,接触探头有一定的接触力,接触探头(特别是小直径探头)能划伤石膏模型,从而影响扫描的精度。为了保证扫描精度,采用特种胶粘剂(如:502胶)对石膏模型进行硬化。选用的胶粘剂要具有两种特性:一是,胶粘剂能在石膏模型表面形成一定厚度的渗透层,对石膏表面进行固化;二是,胶粘剂固化后,石膏模型表面要保持光滑,以保证扫描精度。
用翻模测量法测量的气缸点云数据及根据测量数据设计的汽缸如图1所示。
2.旋转测量法
对于某些零件可能需要完整地测量全部数据,这对于不带回转探头的Cyclone Series II测量机来说是一件困难的事情,但是该设备的随机软件具有回转测量功能,只要将Tracecut中的“辅助功能—参数调整—采集设备参数调整”中的“8216”项参数改为“on",便可激活三维数据采集的绕X、Y、Z回转对话框。这样利用普通的铣床同转头和一些简便的工具便可完成需要数万美元的数控回转头才能完成的工作,而且可较好地保证采集数据的精度。
在用普通回转头替代数控回转头时,要注意以下问题:①要正确地设置扫描基谁,将固定被测物体的回转轴设置为X或Y轴,并将基准点设置在回转轴上;②固定被测物体的回转轴要求有较高的同轴度;③在回转测量中,不能通过二维轮廓限制测量区域,在每回转一定角度并划分测量区域时,只能通过坐标区域限制;④在每次旋转时,所测量的数据均应包含回转轴的数据,便于以回转轴为基准进行数据拼接。
用旋转测量法测量的柴油机螺旋进气道的点云数据如图2所示。
在用石膏翻制模型时,要尽量避免石膏浆中含有空气,以免影响模型的表面质量,无法保证测量的精度。若发现石膏浆中含有较多气体,可将石膏浆放在真空设备中脱去气体。
在用旋转测量法测量时,为便于设置测量设备的基准点及基准轴,固定被测物体的回转轴一端截面为圆形,便于用普通铣床回转头夹持,另一端截面为正方形,便于固定被测物体,并有利于寻找回转轴的轴心。另外,为保证测量精度,回转轴两端要有较高的同轴度。
软件设计的基本步骤是什么
软件开发是指一个软件项目的开发,如市场调查,需求分析,可行性分析,初步设计,详细设计,形成文档,建立初步模型,编写详细代码,测试修改,发布等。
软件是怎么样开发出来的
第一个步骤是市场调研,技术和市场要结合才能体现最大价值。
第二个步骤是需求分析,这个阶段需要出三样东西,用户视图,数据词典和用户操作手 册。
用户视图 是该软件用户(包括终端用户和管理用户)所能看到的页面样式,这里面包含了 很多操作方面的流程和条件。
数据词典 是指明数据逻辑关系并加以整理的东东,完成了数据词典,数据库的设计就完成了一半多。
用户操作手册是指明了操作流程的说明书。
请注意,用户操作流程和用户视图是由需求决定的,因此应该在软件设计之前完成,完成这些,就为程序研发提供了约束和准绳,很遗憾太多公司都不是这样做的,因果颠倒,顺序不分,开发工作和实际需求往往因此产生隔阂脱节的现象。
需求分析,除了以上工作,笔者以为作为项目设计者应当完整的做出项目的性能需求说明 书,因为往往性能需求只有懂技术的人才可能理解,这就需要技术专家和需求方(客户或公司市场部门)能够有真正的沟通和了解。
第三个步骤是概要设计,将系统功能模块初步划分,并给出合理的研发流程和资源要求。
作为快速原型设计方法,完成概要设计就可以进入编码阶段了,通常采用这种方法是因为涉及的研发任务属于新领域,技术主管人员一上来无法给出明确的详细设计说明书,但是 并不是说详细设计说明书不重要,事实上快速原型法在完成原型代码后,根据评测结果和 经验教训的总结,还要重新进行详细设计的步骤。
第四个步骤是详细设计,这是考验技术专家设计思维的重要关卡,详细设计说明书应当把 具体的模块以最’干净’的方式(黑箱结构)提供给编码者,使得系统整体模块化达到最 大;一份好的详细设计说明书,可以使编码的复杂性减低到最低,实际上,严格的讲详细 设计说明书应当把每个函数的每个参数的定义都精精细细的提供出来,从需求分析到概要 设计到完成详细设计说明书,一个软件项目就应当说完成了一半了。换言之,一个大型软 件系统在完成了一半的时候,其实还没有开始一行代码工作。
那些把作软件的程序员简单理解为写代码的,就从根子上犯了错误了。
第五个步骤是编码,在规范化的研发流程中,编码工作在整个项目流程里最多不会超过1/ 2,通常在1/3的时间,所谓磨刀不误砍柴功,设计过程完成的好,编码效率就会极大提 高,编码时不同模块之间的进度协调和协作是最需要小心的,也许一个小模块的问题就可能影响了整体进度,让很多程序员因此被迫停下工作等待,这种问题在很多研发过程中都 出现过。
编码时的相互沟通和应急的解决手段都是相当重要的,对于程序员而言,bug永 远存在,你必须永远面对这个问题,大名鼎鼎的微软,可曾有连续三个月不发补丁的时候 吗?从来没有!
第六个步骤是测试
测试有很多种:
按照测试执行方,可以分为内部测试和外部测试
按照测试范围,可以分为模块测试和整体联调
按照测试条件,可以分为正常操作情况测试和异常情况测试
按照测试的输入范围,可以分为全覆盖测试和抽样测试
以上都很好理解,不再解释。
总之,测试同样是项目研发中一个相当重要的步骤,对于一个大型软件,3个月到1年的外部测试都是正常的,因为永远都会又不可预料的问题存在。
完成测试后,完成验收并完成最后的一些帮助文档,整体项目才算告一段落,当然日后少不了升级,修补等等工作,只要不是想通过一锤子买卖骗钱,就要不停的跟踪软件的运营 状况并持续修补升级,直到这个软件被彻底淘汰为止。
什么是软件开发的核心问题
按照软件工程鼻祖,《人月神话》作者 Brooks 在“没有银弹——软件工程中的根本和次要问题”一章中阐述的思想,软件开发的核心问题就是如何从概念上对一个复杂的业务系统进行建模。这个建模是含义广泛的,不仅仅包括对象建模,还包括数据建模、算法建模等等一系列的内容。总而言之是要先找到解决复杂问题的突破口(先要搞明白需要做什么,然后再考虑如何做)。至于采用什么表示方法(简单文本、UML 图、E-R 图)、采用什么高级语言、是否一定要用面向对象、使用什么开发工具都是次要的问题。
软件开发方法
软件开发方法(Software Development Method)是指软件开发过程所遵循的办法和步骤。
软件开发活动的目的是有效地得到一些工作产物,也就是一个运行的系统及其支持文档,并且满足有关的质量要求。软件开发是一种非常复杂的脑力劳动,所以经常更多讨论的是软件开发方法学,指的是规则、方法和工具的集成,既支持开发,也支持以后的演变过程(交付运行后,系统还会变化,或是为了改错,或是为了功能的增减)。
关于组成软件开发和系统演化的活动有着各种模型(参见软件生存周期,软件开发模型,软件过程),但是典型地都包含了以下的过程或活动:分析、设计、实现、确认(测试验收)、演化(维护)。
有些软件开发方法是专门针对某一开发阶段的,属于局部性的软件开发方法。
特别是软件开发的实践表明,在开发的早期阶段多做努力,在后来的测试和维护阶段就会使费用较大地得以缩减。因此,针对分析和设计阶段的软件开发方法特别受到重视。其它阶段的方法,从程序设计发展的初期起就是研究的重点,
已经发展得比较成熟(参见程序设计,维护过程)。除了分阶段的局部性软件开发方法之外,还有覆盖开发全过程的全局性方法,尤为软件开发方法学注意的重点。
对软件开发方法的一般要求:当提出一种软件开发方法时,应该考虑许多因素,包括:
①覆盖开发全过程,并且便于在各阶段间的过渡;
②便于在开发各阶段中有关人员之间的通信;
③支持有效的解决问题的
④支持系统设计和开发的各种不同途径;
⑤在开发过程中支持软件正确性的校验和验证;
⑥便于在系统需求中列入设计、实际和性能的约束;
⑦支持设计师和其他技术人员的智力劳动;
⑧在系统的整个生存周期都支持它的演化;
⑨受自动化工具的支持。此外,在开发的所有阶段,有关的软件产物都应该是可见和可控的;软件开发方法应该可教学、可转移,还应该是开放的,即可以容纳新的技术、管理方法和新工具,并且与已有的标准相适应。
学习数学建模需要哪些书籍及软件?
我也要参加今年九月份的数学建模比赛,以下是我们老师给我们的几点建议,希望对你有些帮助。
赛前学习内容
1建模基础知识、常用工具软件的使用
一、掌握建模必备的数学基础知识(如初等数学、高等数学等),数学建模中常用的但尚未学过的方法,如图论方法、优化中若干方法、概率统计以及运筹学等方法。
二、,针对建模特点,结合典型的建模题型,重点学习一些实用数学软件(如 Mathematica 、Matlab、Lindo 、Lingo、SPSS)的使用及一般性开发,尤其注意同一数学模型可以用多个软件求解的问题。
例如, 贷款买房问题: 某人贷款8 万元买房,每月还贷款880.87 元,月利率1%。
(1)已经还贷整6 年。还贷6 年后,某人想知道自己还欠银行多少钱,请你告诉他。
(2)此人忘记这笔贷款期限是多少年,请你告诉他。
这问题我们可以用 Mathematica 、Matlab、Lindo 、Lingo 等多个不同软件包编程求解
2 建模的过程、方法
数学建模是一项非常具有创造性和挑战性的活动,不可能用一些条条框框规定出各种模型如何具体建立。但一般来说,建模主要涉及两个方面:第一,将实际问题转化为理论模型;第二,对理论模型进行计算和分析。简而言之,就是建立数学模型来解决各种实际问题的过程。这个过程可以用如下图1来表示。
3常用算法的设计
建模与计算是数学模型的两大核心,当模型建立后,计算就成为解决问题的关键要素了,而算法好坏将直接影响运算速度的快慢答案的优劣。根据竞赛题型特点及前参赛获奖选手的心得体会,建议大家多用数学软件(Mathematica,Matlab,Maple,Lindo,Lingo,SPSS 等)设计算法,这里列举常用的几种数学建模算法.
(1)蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法,通常使用Mathematica、Matlab 软件实现)。
(2)数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab 作为工具)。
(3)线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo 软件实现)。
(4)图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备,通常使用Mathematica、Maple 作为工具)。
(5)动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中,通常使用Lingo 软件实现)。
(6)图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用Matlab 进行处理)。
(7)最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用,通常使用Lingo、 Matlab、SPSS 软件实现)。
4 论文结构,写作特点和要求
答卷(论文)是竞赛活动成绩结晶的书面形式,是评定竞赛活动的成绩好坏、高低,获奖级别的唯一依据。因此,写好数学建模论文在竞赛活动中显得尤其重要,这也是参赛学生必须掌握的。为了使学生较好地掌握竞赛论文的撰写要领,(1)要求同学们认真学习和掌握全国大学生数学建模竞赛组委会最新制定的论文格式要求且多阅读科技文献。(2)通过对历届建模竞赛的优秀论文(如以中国人民解放军信息工程学院李开锋、赵玉磊、黄玉慧2004 年获全国一等奖论文:奥运场馆周边的MS 网络设计方案为范例)进行剖析,总结出建模论文的一般结构及写作要点,去学习体会和摸索。
参加全国大学生数学建模竞赛应注意的问题
一、心里要有“底”
首先,赛题来自于哪个实际领地的确难以预料,但绝不会过于“专”,它毕竟是经过简化、加工的。大部分赛题仅凭意识便能理解题意,少数赛题的实际背景可能生疏,只需要查阅一些资料,便可以理解题意。其次,所有的赛题当然要用到数学知识,但一定不会过于高深。用得较多的有运筹学、概率与统计、计算方法、离散数学、微分方程等方面的一部分理论和方法,这些内容在赛前培训要学过一些,真的用到了,总知道在哪些资料中查找。
二、当断即断
在两个赛题中选择做哪一个不能久议不决,因为你们只有三天时间,一旦选定了,就不要再犹豫,更不要反复。选定了赛题之后,在讨论建模思路和求解方法时会有争论,但不能无休止地 争论,而应学会妥协。方案定下来后,全队要齐心协力地去做。
三、对困难要有足够的心理准备
“拿到题目就有思路,做起来一帆风顺”,哪有如此轻松的事?参加竞赛可以说是“自讨苦吃,以苦为乐”,竞赛三天中所经受的磨炼一定会终生难忘,并成为自己的一份精神财富。好多同学赛后说:“参赛会后悔三天,而不参赛则遗憾一生。”做“撞到枪口上”的赛题,不一定比“外行”强。如学机械的队员做机械方面的赛题,学投资的队员做投资方面的赛题,学统计的队员做统计方面的赛题,都有可能“聪明反被聪明误”,这些情况在全国赛区都曾发生过。这就需要大家多方面涉猎知识尽全能做到全面
关于数模竞赛的几本好书
▲ 姜启源,《数学模型(第二版)》,高等教育出版社
▲ 姜启源、谢金星、叶俊《数学建模(第三版)》,高等教育出版社
▲ 萧树铁等,《数学实验》,高等教育出版社
▲ 朱道元,《数学建模案例精选》,科学出版社
▲ 雷功炎,《数学模型讲义》,北京大学出版社
▲ 叶其孝等,《大学生数学建模竞赛辅导教材(一)~(四)》,湖南教育出版社
▲ 江裕钊、辛培清,《数学模型与计算机模拟》,电子科技大学出版社
▲ 杨启帆、边馥萍,《数学模型》,浙江大学出版社
▲ 赵静等,《数学建模与数学实验》,高等教育出版社,施普林格出版社
▲ 韩中庚, 《数学建模方法与应用》,高等教育出版社
▲杨启帆,《数学建模案例集》,高等教育出版社.
需要了解的基础学科
1.数学分析(高等数学)
2.高等代数 (线性代数)
3.概率与数理统计
4.最优化理论 (规划理论)
5.图论
6.组合数学
7.微分方程稳定性分析
8.排队论
精通了C++,C,MFC,SQL数据库,操作系统,UML建模,软件工程可以找到专业方面的工作么? 大概可以找什么工作?
前5个是技术,后两个是管理协调;
在国内基本上首先要靠技术去找工作,然后利用你的软件工程的理念(还要看你的口才和魅力)去影响公司从而获得更高的收入。
不过这个谁也不敢说精通的。
例如我问一下,C++你是精通STL还是VC还是,C/C++你用过什么编译器,编译选项熟悉吗,Makefile或者prj文件熟悉吗,操作系统你熟悉哪几个,对内核对象,系统调用熟悉多少;
当然其实这些都不重要;
最重要的是,假设现在有个产品的Spec,你觉得你能多久选好工具,做好架构,多久完成开发。
转载请注明出处51数据库 » 数据建模软件工程 想学计算机编程应该选什么专业