数学建模算法与程序范例(12篇)

来源:网络

数学建模算法与程序范文篇1

摘要:本文试图通过对因子分析法、灰色关联度法、AHP、TOPSIS、模糊综合评判法具体评价过程的分析,来说明该五种方法实证结果存在差异的原因,并对评价方法的选择给出了建议。关键词:评价方法实证分析过程分析自20世纪初杜邦公司运用投资报酬率指标进行绩效评价以来,绩效评价已从单指标评价发展成多指标综合评价。在多指标综合评价中,评价方法的恰当选择对评价结果具有重要影响。本文拟对AHP、模糊综合评价法、灰色关联度分析法、因子分析法及TOPSIS五种方法在上市公司经营绩效评价中进行实证比较,并通过对各种评价方法具体评价过程的差异分析,试图对实证比较结果的差异作出解释,以期为评价方法的选择提供参考。一、上市公司经营绩效评价指标体系由于本文重点是探讨评价方法的比较,故对评价指标的选择不作深入探讨。上市公司经营绩效评价指标是在考虑上市公司特点的基础上,参照《国有资本金效绩评价规则》及其细则来构建的,如图1所示。二、上市公司经营绩效实证分析本文选取沪市八家高速公路运营公司作分析样本,分别运用上述五种评价方法对其经营绩效进行评价。原始数据来源于“巨潮资讯”(),对原始数据的预处理原则为:(1)对于极小型指标,取其倒数使用转化为极大型指标;(2)对适度型指标(如资产负债率),按公式xij=1/转换,其中k为原始数据xij’的均值,xij为处理后的数据;(3)无量纲化处理的方法是均值化方法。1.运用AHP进行经营绩效评价层次分析结构的构建按图1的模式构建,通过咨询专家,在各层元素中进行两两比较,构造判断矩阵,所有的判断矩阵均通过了一致性检验,并运评价对象皖通高速东北高速中原高速福建高速楚天高速赣粤高速宁沪高速深高速绩效得分1.32140.06711.46721.47331.31311.51391.06351.1020排名483251762.运用灰色关联度分析进行经营绩效评价取八家公司各指标的最大值所构成的序列作为最优指标集,计算灰色关联系数时取ξ=0.5,计算加权关联度时,权重取上述AHP法所得到的权重。按计算出的灰色加权关联度,上述八家公司的经营绩效评价结果如表3所示:表3评价对象皖通高速东北高速中原高速福建高速楚天高速赣粤高速宁沪高速深高速绩效得分0.92440.85160.94130.93940.92790.94390.90100.9066排名582341763.运用模糊综合评价法进行经营绩效评价在这里,评判因素集为图1所示14个指标,即:U={X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14}评价集为V={经营绩效高V1,经营绩效中V2,经营绩效低V3};评价因素集中的所有指标均为定量指标,故采用梯形隶属度函数建立指标值与评价等级间的隶属关系(如图2所示)。将预处理后的数据带入隶属度函数,可得到三个评价等级的隶属度向量R1,R2,R3,对三个等级取权重(本文取(0.5,0.3,0.2))计算评判矩阵R,故评判矩阵R=0.5R1+0.3R2+0.2R3。本例在建立模糊评价模型时,各评判因素权重A的确定采用上述AHP法所确定的权重,评判模型为:B=A*R,其中合成运算采用普通矩阵乘法。运用模糊综合评价法对上述八家公司经营绩效的评价结果如表4所示:表4评价对象皖通高速东北高速中原高速福建高速楚天高速赣粤高速宁沪高速深高速绩效得分0.46350.24210.59640.50000.59820.51790.35660.3911排名582413764.运用TOPSIS法进行经营绩效评价运用TOPSIS法时,取八家公司各指标的最大值所构成的序列作为最优向量,最小值所构成的序列作为最劣向量,通过计算各评价对象对最优向量和最劣向量间的欧氏距离,来获得评价对象与最优向量的“拟合”程度,以此作为评价依据。其基本模型为:Ci=(Di-/Di-+Di+),其中Di-为评价对象到最劣向量间的距离,Di+为评价对象到最优向量间的距离,Ci为评价对象与最优向量的相对接近度,Ci越大则经营绩效越好,加权时的权重仍采用AHP法所得的权重。运用TOPSIS法的评价结果如表5所示:表5评价对象皖通高速东北高速中原高速福建高速楚天高速赣粤高速宁沪高速深高速绩效得分0.65610.08370.72260.72530.65230.74390.53850.5560排名483251765.运用因子分析法进行经营绩效评价运用SPSS软件可直接得出上述八家公司的因子得分,本例中,通过因子分析,前四个因子的特征值大于1,所解释的方差占总方差的91.35%,为精确起见,本例取前7个因子,该7个因子解释了所有的方差。对各公司经营绩效评价是以其综合得分为依据的,综合得分的计算方法是以各因子的贡献率为权数,将各公司在7个因子上的得分进行线性加权而求得的。运用因子分析法的评价结果如表6所示:表6评价对象皖通高速东北高速中原高速福建高速楚天高速赣粤高速宁沪高速深高速绩效得分0.0185-1.07990.27550.30730.23180.3956-0.15110.0024排名58324176三.评价结果的比较分析上述实证过程的5种排序结果汇总如表7所示:表7排序方法皖通高速东北高速中原高速福建高速楚天高速赣粤高速宁沪高速深高速AHP48325176灰色58234176模糊58241376TOPSIS48325176因子58324176序号总和58324176上文实例中各种评价方法所用的评价指标体系、原始数据及其预处理方法均相同,因此表7所示实证评价结果的差异仅取决于评价方法本身,即各种方法从输入原始数据到输出评价结果这一过程的差异导致评价结果的差异。本文对过程差异分析的前提是,因子分析、关联度系数、欧氏距离等所基于的数学理论均是可靠的,均能真实反映了评价对象间客观存在的差异。为便于比较,将上述五种方法按评价过程中包含主观因素的程度作如下分类:因子分析法属客观评价法,AHP、灰色评价法和TOPSIS为主观评价方法Ⅰ,模糊综合评价属主观评价法Ⅱ。表8所示为各种评价方法得到的排序结果间的Spearman相关系数,系数越大表明排序结果越接近。表8排序方法客观评价法主观评价方法Ⅰ主观评价法Ⅱ因子AHP灰色TOPSIS模糊客观评价法因子10.9760.9760.9760.786主观评价方法ⅠAHP00.97610.95210.69灰色0.9760.95210.9520.833TOPSIS0.97610.95210.69主观评价法Ⅱ模糊0.7860.690.8330.6911).客观评价法与主观评价法Ⅰ的比较:通过表8的Spearman相关系数可知,因子分析法的排序结果与三种主观评价方法Ⅰ的结果具有相同的相关度,相关系数均为0.976。因子分析法在构造综合评价值时所涉及到的权重都是从数学变换中伴随生成的,同时因子分析的具体过程在数学上都有严格的逻辑,可以说因子分析法从处理数据开始直至输出综合因子得分的整个过程都具有很强的客观性;而主观评价法Ⅰ与因子分析法相比,其中的AHP法对原始指标加权综合前、灰色关联度法对关联度系数加权综合前、TOPSIS法对欧氏距离加权综合前的过程都是数学运算过程,不同的是在加权权数的确定上主观评价方法Ⅰ是主观确定的;因此从评价结果的输出过程来看,因子分析法与主观评价法Ⅰ的差异取决于加权权数。2).客观评价法与主观评价法Ⅱ的比较:因子分析法的排序结果与模糊综合评价法的结果相关度较低,相关系数为0.786。模糊综合评价法从评价集的定义、特别是隶属度函数的构建、合成算子的选取直到权重的选取、输出评价结果全过程均包含主观判断的因素,随意性较大,其评价结果很大程度上取决于参与评价的专家的素质。因此模糊评价与因子分析法评价结果的差异可能产生于评价过程的任一环节,两者的评价结果很容易产生较大差异。3).主观评价方法Ⅰ与主观评价法Ⅱ比较:两者评价结果的相关度也不高,如上文所述,主观评价方法Ⅰ在加权综合前的过程是数学运算过程,而模糊评价在加权综合前的过程是主观判断,如果两者用于加权综合的权数是通过同样的方法取得的(上文的实例均是采用AHP法得到的权数),则评价结果的差异取决于加权综合前的任何一环节。4).三种主观评价方法Ⅰ间的比较:AHP与TOPSIS法的排序结果完全相同,两者与灰色关联度法高度相关,相关系数为0.976。这三种方法都是通过对原始指标值的数学运算,再利用主观确定的权数对数学运算的结果进行加权综合后输出评价结果的,在采用的加权权数相同的情况下,应该输出相同的结果,上文AHP与TOPSIS法的排序完全相同也证实了这一点;但灰色关联度法在加权综合前的数学运算过程中,计算灰色关联度系数时“分辨率ξ”的确定无一个合理的标准(本例取ξ=0.5),这与AHP和TOPSIS法有点区别,也正是这点差别,使灰色关联度法与AHP和TOPSIS法的评价结果产生差异。上述分析与实证的结果基本一致,但并不能说明评价过程中客观的数学运算和主观判断的优劣,实际上数学运算有时可能扭曲真实情况,主观判断有时能结合评价对象的特点形成更真实的反映。不过有的学者认为综合各种评价方法的结果可以找到一个最优排序,并提出序号总和理论、众数理论和加权平均理论等,所谓“序号和理论”是指把各种不同的评价方法下的排序序号相加,得到序号总和,按序号总和从小到大的排序即为最优的位序,当序号总和相等而无法排序时,可按众数理论确定其位序,本例按序号总和排序的结果见表7。这里运用spearman相关分析对各种排序与序号总和排序的相关性作了简要分析,结果如表9所示:表9排序方法客观评价法主观评价方法Ⅰ主观评价方法Ⅱ因子分析法AHP灰色关联度TOPSIS模糊评价Spearman相关系数10.9760.9760.9760.786由表9可知,客观赋权法即因子分析法与序号总和法的结果完全相同,三种主观评价方法Ⅰ与序号总和法的相关度相同,且高度相关(相关系数均是0.976),模糊评价法与序号总和法相关度最低,相关系数为0.786。四、结束语鉴于上述各种评价方法间在评价过程上存在的差异,在选择评价方法时要结合评价对象的特点,充分考虑这些差异可能给评价结果造成的影响。比如当某项决策需突出评价对象某方面的特征时,运用主观性更强的评价方法可能会得到较好的结果;而评价对象的特性不易把握、或评价人员的知识不足以准确把握评价对象的特性时,运用客观性更强的评价方法更恰当。参考文献:1)周国强.经济系统综合经济效益评价方法比较.武汉理工大学学报(交通科学与工程版)2002(4)2)白雪梅,赵松山.多种综合评价方法的优劣判断研究.统计研究2000(7)3)杭州商学院自然科学基金课题组.序号总和理论及其在综合经济效益排序中的应用.数量经济技术经济研究1996(1)

数学建模算法与程序范文1篇2

【关键词】数控车床仿真教学系统研究开发

【中图分类号】G【文献标识码】A

【文章编号】0450-9889(2012)02C-0190-02

随着机械加工技术的发展,数控机床的应用日趋广泛。在这样的产业背景下,社会对从业人员数控加工技能的要求也日渐增高。在高职教育中,数控技术已经成为机械类学生的重点课程。技能的掌握必须通过实践去获取,然而在多数职业院校中,设备资金的短缺使得可供学生训练的机床有限,学生无法在学校获得较好的训练,制约了其技能的掌握。计算机技术特别是虚拟技术的发展及应用,使数控技术的实践教学有了一个新的平台,利用计算机虚拟数控机床的功能及操作模式,学生身临其境,一方面解决了设备少、学生多的矛盾;另一方面降低了操作的危险性,并减少机床的损坏风险。

数控仿真只是利用计算机代替实际的机床对零件进行加工,因此,仿真系统应包含如下几个模块:几何建模、NC代码编译、仿真显示。

一、几何建模

数控仿真中,几何建模主要包括建立毛坯模型、刀具模型、数控机床建模以及数控机床的运动模型。几何建模OpenGL(OpenGraphicsLibrary,开放式图形库)是一个开放的三维图形软件包,可以与VisualC++紧密接口。OpenGL是图形的底层图形库,其本身没有提供几何实体图元,不能直接用来描述场景,但是,通过一些转换程序,可以很方便地将AutoCAD、3DS/3DSMAX等3D图形设计软件制作的DXF和3DS模型文件转换成OpenGL的顶点数组,以它为基础开发的应用程序可以十分方便地在各种平台间移植。

本系统中,采用VisualC++与开放式三维图形编程标准OpenGL相结合,建立一个与OpenGL相应的接口类完成对OpenGL的初始化设置。在使用OpenGL进行渲染的时候,只需要编制根据插补计算得到的刀位轨迹数据表,然后在图形显示类中调用OpenGL基本图元绘制函数和复杂三维曲线/面绘制函数进行环境的建模。OpenGL的工作流程如图1所示。利用对话框来实现对毛坯形状、尺寸、材料的设置以及对刀具的选择。数控车床模型则根据动、静部件拆分后完成,拆分后数控车床就有数控车床床身、主轴、刀架、尾架。各运动部件的坐标均符合右手笛卡尔坐标系。

二、NC代码编译

数控加工是通过数控加工程序来实现的。一个完整的数控程序由若干NC代码构成的程序段组成。因此,在仿真系统中,对NC代码的编译是实现数控仿真的关键。NC代码的编译根据数控机床执行数控加工程序的一般原则,自上而下进行编译。NC代码的编译主要包括以下内容:

(一)对NC程序的语法进行检查。对NC程序的语法进行检查,主要是对准备功能G代码、辅助功能M代码以及其他功能代码的格式进行标准化、相容性检查。

在数控程序中,指令代码应遵循一定的规则:一是N为顺序号,用于标明程序的前后顺序,两个N之间的内容为一个完整的程序段。二是准备功能G代码根据功能不同分两大类,一类为续效(模态)指令代码,即某一指令代码在某一程序段中被指定后,在后续的程序段中就持续有效,并且在后续的程序段中也不必写出该指令,直至在其他程序段中出现同一组的其他准备功能指令,该指令才失效。此外,同组的指令不能同时出现在同一程序段中。例如,G00、G01、G02、G03为同组的模态指令。另一类为非续效(非模态)指令代码,即在其被指定的程序段中,指定功能被执行,在后续的程序中未被指定则无效,如要再次被执行必须再次指定。例如,G04。三是在一个程序段中,I、J、K和R不能同时出现。四是同一个程序段中同一字被多次指定则后者优先。

(二)数据的处理。数控加工中,零件轮廓是由程序中指定的坐标值决定的。数控程序中给定的坐标数据为此次刀具轨迹的终点,同时也是下一次刀具轨迹的起点,因此,数据具有连续性、有序性,在数据的处理上采用动态的数据链表。

(三)译码。译码主要是把各个程序段中的信息提取出来,并将信息转换成相应的数据量或状态量进行存储、处理。为了能得到较高的系统运行速度,提高加工效率,对数据的处理采用编译的数据处理方式,前期译码,将生成的数据存入缓冲区内,插补计算时再从缓冲区中调用,以获得较快的运算速度,但对内存的要求比较高,内存开销大。处理的流程如图2所示。

三、数控仿真显示

数控加工实际是刀具相对于毛坯的运行过程,刀具运动的精确性影响着生产的结果。数控仿真的意义就在于把刀具相对于零件毛坯的运动轨迹通过计算机的图形处理功能显示出来,方便操作者判断刀具加工轨迹的正确性,能够在实际加工前发现问题,并能检查刀具与工件的干涉问题。通过数控仿真,可以减少试切甚至可以不试切就进行实物加工,减少试加工时造成的原料、人工成本的消耗,这对于复杂的零件加工尤为重要。刀具轨迹的仿真主要通过主控模块完成对NC程序编译模块、分析模块和图形处理模块三部分的相关处理,处理流程如图3所示。

(一)模块功能。NC程序编译模块根据数控NC程序的规则读入NC程序,并按照NC程序的语法结构检查其正确性,根据指令类型调用相应的函数进行处理。NC程序分析模块将相应的NC程序指令处理结果转换成为相应的控制参数或图形参数。NC图形处理模块则将转换好的控制参数和图形参数,完成加工过程中所形成的直线或圆弧线,以完成对程序的刀具轨迹的生成。

(二)控制与显示模块。数控机床在操作时主要通过操作面板来实现各种动作,如机床参数的初始化,机床主轴的启停操作,超程报警和解除,程序的启动、暂停,机床急停,自动执行、手动执行、回零点的转换等。利用VisualC++开发软件强大的控件设计,对各种按钮进行状态监控,实现对操作界面上对应的事件实时地作出响应。在进行运动控制、零件加工状态时,动态地对刀具、机床、工件进行处理,根据加工的速度,在窗口中实时地显示出各工具运动和工件成型的动态图像。仿真的总体构架如图4所示。

上述数控仿真教学系统是在PC机的开放平台基础上开发的,具有很好的使用普遍性,系统采用模块化的构建方式设计,这对于数控系统NC格式不同的编程有较好的兼容性,嵌入或置换不同的NC指令模块可形成不同的数控系统。VisualC++中控件的灵活使用,增加了系统的易控性、交互性,且界面友好。

【参考文献】

[1]费广正,乔林.VisualC++6.0高级编程技术-OpenGL篇[M].北京:中国铁道出版社,2001

[2]朱洪波.VisualC++6.0完全自学宝典[M].北京:清华大学出版社,2008

[3]应珂.基于OpenGL的数控仿真三维图形的研究[J].微计算机信息,2006(25)

[4]范建明,曹锋,刘金磊.数控机床仿真系统研究[J].煤矿机械,2010(1)

数学建模算法与程序范文篇3

关键词:离散数学;实验教学;实践能力

离散数学课程所涉及的概念、理论和方法,大量地应用在计算机科学体系中,数理逻辑是计算机中的逻辑学、逻辑电路、人工智能的基础课程,集合与关系是数据结构、数据库系统的理论基础,而代数系统则是现实世界的缩影,直接模拟了现实系统,图论知识更是直接应用在计算机网络、数据结构、编译原理等专业课程中。但传统教学中过于注重理论教学而忽略实践,学生普遍认为枯燥难懂,认为是纯粹的数学课程,对计算机编程用处不大。因此教师在授课过程中要注重理论联系实践,培养学生的专业素养,我们将从以下方面循序渐进加强教学理论与实践。

1课程教学注重教学方法与教学实践的改革与创新

加强理论联系实际,从提高计算机编程思想的角度对学生展开教学,教师在讲解理论的同时,要注重其实际应用与算法描述。例如在讲解最短路径时,就要介绍Dijkstra算法,单源最短路径的基本思想如下:设S为最短距离已确定的顶点集(看作红点集),V-S是最短距离尚未确定的顶点集(看作蓝点集)。

①初始化:只有源点s的最短距离是已知的(SD(s)=0),故红点集S={s},蓝点集为空。

②重复以下工作,按路径长度递增次序产生各顶点最短路径:在当前蓝点集中选择一个最短距离最小的蓝点来扩充红点集,以保证算法按路径长度递增的次序产生各顶点的最短路径。当蓝点集中仅剩下最短距离为∞的蓝点,或者所有蓝点已扩充到红点集时,s到所有顶点的最短路径就求出来了。

我们通过实例给学生模拟算法执行过程,验证算法的正确性,但细心的学生会发现前面加进去的点并不一定是后期考察路径的必经点,例如有三个点A,B,C,AB、BC、AC间权值分别为1,2,4,如果设A为源点,则第一次加进来的点是B,到C的最短路径应该是A-B-C,如果BC权值为4,则到C的最短路径应该是A-C,这里就要注意红点集加入的点不是其他点必经点,这是因为集合元素是无序的,不是联结已有的点作为最后点的路径的。

我们给出求解的动画演示过程,加深学生的认识,实际多应用在交通网络中路径的查询中,两地之间是否有路径以及如果有多条路径时找最短路径等,最后再对算法进行扩展解决单目标最短路径问题、单顶点对间最短路径问题等,扩展学生对算法的理解等。

在讲解逻辑推理时,建议学生使用Prolog语言可以轻松实现命题和联结词表示以及逻辑推理,代数系统则是无处不再,自动售货机、电梯系统、自动取款机等都是一个代数系统,有自己的运算关系,鼓励学生定义一些运算,完成一个具有输入输出的可交互的系统。

2建设完善实验课程体系,加强学生实验实践能力

挖掘课程内容,建设完善的实验课程体系,实验课程的主要目的是,培养学生的数学建模能力、算法设计能力、编写程序能力和应用创新能力,使学生养成良好的数学素质。学生可以有选择地做。

(1)基础实验如表1所示,基础实验设计一些离散数学基本问题,要求学生利用所学基础知识,完成相应的算法设计和程序实现。如在集合论部分,设计有限集基本运算算法设计实验,要求学生利用熟悉的程序设计语言完成有限集合的数据结构、集合间的交、并、差、迪卡尔积、子集判断等基本运算。学生可以在每部分中自由选部分题,完成一定的基础实验。这样的设计使得学生学会基本操作,巩固程序设计基本调试方法的掌握。

(2)综合性实验如表2所示,设计一些比较复杂的离散数学问题,要求学生综合运用各章知识或多学科知识,完成问题的分解与求解、综合和整体实现。例数理逻辑部分的命题真值表计算实验中,要求学生设计实现命题数据结构、五种基本逻辑运算的代数运算转换、表达式求值等;学生需要综合运用命题逻辑、数据结构等知识,完成实验各个环节,实现运算结果的显示。可由几个同学组成一个学习小组完成实验。

(3)设计性实验如表3所示。这一层次要求较高,对那些学有余力、兴趣浓厚的学生,给出一些难度较高的课题,要求他们自行设计问题描述模型和实验方案,开发实现小型应用软件。例如,要求学生针对某景区内景点的分布情况,设计可满足旅游者不同需求(如费用最省、线路最短、重复较少、景点最全等各种要求)的实用小软件。教师检查实验现象和实验结果。学生对实际程序的运行结果应能进行分析并提出改进方法,每完成一个实验,都要求写一份实验报告,挑选出好的作品,做成精品演示系统。

3发现实际应用点,扩大学生知识面

让学生了解离散数学在现实生活中的主要应用,有意识地引导学生运用所学理论去分析问题、解决问题,从而让学生充分感受到离散数学这门课程的魅力和实用价值。部分实际应用如表3所示。鼓励学生按照如下流程操作:发现问题,然后构思一个可能求解该问题的算法过程,再设计算法并将其表达为一道可执行程序,最后精确地评价这个程序,考查其作为一种工具去求解其它问题的潜能,锻炼学生数学建模能力,提高分析问题,解决问题的能力。

4建设开放式教学环境,丰富网络教学资源

充分利用网络学堂、课程学习网站等丰富的教学资源,构建了开放式的教学环境,我们开发了离散数学教学网站,模块包括:实验、实验申请、已审核实验、成果展示、精品展示、在线解答(前台如图1所示,后台如图2所示)、资料下载等模块,实验项目可选或自拟,增强了师生间互动,也为学生个性化学习提供了良好的条件。

学生可以在任何时间远程登陆,发表咨询,下载资料,参与实验项目,申请实验项目,获得批准后,我们开放实验室免费提供设备,实验项目结题后提交成果,我们从中提炼出精品,做成精品演示系统,学生还可以对已有成果做深入研究。

总之,鼓励学生吃透书本,挖掘理论的应用领域,鼓励学生改进算法、挖掘应用点,从抽象的理论到实际应用,再扩大应用,抽象到一般情况,让学生感觉到学习离散数学的重要性,理论与实践相结合,互相促进,切实提高大家学习离散数学的兴趣,能够达到学生积极主动为了实现应用而吃透理论,发挥主观能动性。采用项目训练为主的教学理念,切实提高学生的实际动手能力、创新能力和自学能力。

参考文献:

[1]耿素云,屈婉玲.离散数学[M].北京:高等教育出版社.

数学建模算法与程序范文篇4

从学生的课程设计、毕业设计的情况及用人单位反馈回来的信息来看,本专业的基本理论知识和基本操作技能学生都能掌握,甚至有一些学生还具有一定的程序开发能力,但与企业需求的专业能力的应用还是显得学生存在专业能力不足。1)基本操作技能不熟练,专业操作能力不高。计算机专业学生不够重视办公类软件、常用工具软件的使用,缺少对其的操作和训练;而对系统安装与维护、硬件安装、网络组建、网络布线等方面实践也不够认真对待,动手能力不强,甚至个别学生制作不好网络水晶头,以至这部分学生应聘计算机软硬件销售公司时候没有办法录用。2)分析程序能力及编写程序能力明显不足。由于学生平时少阅读程序,加上少上机调试和少编写代码,缺乏程序的分析和编程能力,导致实现程序功能时没有足够能力完成。3)系统设计与开发能力不足。大部分学生由于专业技术不精,经验不够,有些学生仅停留在模仿课本例子的水平;有些学生在开发具有前后台程序时,只会进行前台界面设计,后台设计部分就不会了,或者在访问后台数据时却连接不上或访问出错,总会出现这样或那样的错误问题,出现这些问题,总的来看就是其系统设计与开发能力不足。

2计算机专业应用型人才所具的专业能力

根据计算机专业培养人才类型的培养目标,从专业知识、能力和素质三方面去培养学生。专业知识是能力的表现和素质体现,是三者的基础。素质是工作的基本素质,具有的责任心。能力是核心,是人才特征的最突出表现,因此,培养计算机专业应用型人才应着手培养具备的如下的专业能力。1)有较强的计算机基本操作能力,能够熟悉软硬件安装及系统的维护,能组建网络、管理和维护等能力;2)具有较强的编程能力和数据应用能力;3)具有较强的网络编程、系统的设计与开发能力;4)具有较强学习能力和适应新技术的能力;5)较强的系统设计与开发以及维护能力。概括来说,就是要培养学生五个方面的专业能力,分别是计算机基本操作能力、解决问题的分析思维能力、算法设计能力、程序设计与实现能力、系统设计与开发能力。

3培养计算机应用型人才专业能力的方法与途径

3.1改革旧的教学体系,构建新的课程教学体系

1)改革旧的课程体系结构,建立实用课程体系结构根据培养应用型人才目标构建新的课程体系,将整个课程体系设置成五个模块,分别是“公共课”模块、“学科基础课程”模块、“专业基础课程”模块、“专业课程”模块和“实践课程”模块。其中“公共课”模块有分为“公共必修课”和“公共选修课”两个模块。“专业课”模块又分为“专业必修课”和“专业方向选修课”模块。各模块的课程设置要体现该功能模块整个课程体系中所承担的培养任务。其中,公共必修课程主要任务是体现培养学生思想品德、人生观、价值观等能力;公共选修模块课程主要培养学生的社会科学、自然科学和人文与艺术的能力,等方面的修养与能力;“专业学科基础课”模块是培养学生计算逻辑思维和学科基础知识等;专业基础课模块主要培养学生专业基本知识、基本原理、程序设计思想等;专业必修课模块是培养学生专业技术、算法分析与设计、系统设计的基本方法和能力;专业选修模块又设置“软件工程方向”及“网络工程”两个专业方向的不同课程供学生进行选择,以便培养学生掌握多方面的基本操作能力和实用的编程技术以及系统开发的能力,为学生毕业后就业需要打下坚实基础。实践课程模块主要是训练学生对系统的分析、设计与实现的技能以及加强学生文字表达能力。2)加大实践类课程的比重,扎实推进实践类课程教学除了构建新的课程体系结构外,我们还增加了实践课程在整个课程体系的比重,对应用型学科课程及专业课程都开设课程实验或课程设计,相对减少理论学时,加大学生对基本操作、综合设计类课程的实践训练,以提高学生实践动手能力和系统开发能力。3)根据人才市场需求,改革教学内容根据社会用人单位对人才需要,适应社会市场发展,着重对课程及教学内容进行改革,培养学生的程序分析、设计等能力以及团队合作精神。除了更新专业主干课程的教学内容以外,还不断根据市场需求增加目前较流行软件开发工具,如C、C++、C#、、JAVA、JSP、J2EE、Android等开发语言,让学生学习以便为以后就业打下基础,同时,我们还对课程设计中大项目,进行分小组完成,要求组内成员分任务合作完成,从而达到培养学生团队合作精神。

3.2培养学生扎实理论知识,为专业能力学习奠定基础

培养应用型专业能力人才,必须具有完整专业知识结构体系,那就必须掌握本专业基础知识和理论知识。我们通过学科基础课模块的课程来培养学生的学科基础知识,如课程高等数学、线性代数、离散数学等数学类课程,培养学生的计算逻辑思维和解决实际专业问题的数学知识。通过专业基础课模块的课程来培养学生的专业知识和专业理论知识,如开设C++、数据结构与算法、计算机组成原理等课程,有针对性地培养学生掌握计算机专业基础知识及算法分析与设计的能力,使学生懂得解决问题的分析、设计等步骤,并通过这些课程的教学来训练学生读写程序的能力。通过专业必修课模块的课程使学生掌握系统分析与设计的方法及步骤,提高学生综合分析理论知识与综合设计能力,如开设软件工程、网站设计、数据库原理及应用、网络编程等课程。

3.3加强实践教学,培养学生专业能力和专业技能

通过开设课程实验、课程设计、课程综合实习、专业实习等环节加大对实践教学在整个教学活动的比例,培养学生的专业能力。1)计算机基本操作能力。基本操作能力是对计算机专业学生的基本要求,包括办公软件、常用工具软件、硬件安装和系统的维护、局域网的组建、网络线制作及布线、网络的维护、常用图形处理和动画制作等使用能力,通过开设办公软件、计算机组装与维护等相应的课程和课程实习来培养学生掌握这些基本操作能力。2)算法分析与编程能力。算法分析能力是计算机专业学生解决专业问题而采用算法;而编程能力是体现学生的编程能力强弱,良好的编程能力是作为软件开发人员必须具备的。在校期间我们要培养学生的算法分析与设计能力、数据库的建立及编辑操作能力、模块化程序设计的理念、面向对象程序设计能力、网络编程的能力、掌握C/S模式和B/S模式的应用软件开发能力,因此,我们通过开设如C++程序设计、数据结构与算法分析、数据库原理及应用、JAVA、JSP、等课程的实验及课程设计来训练学生实操能力。此外,我们组织学生参加每年的市级、省级软件设计大赛等,以便锻炼和提高学生的程序设计与开发能力。3)程序分析与综合设计能力的培养。程序设计与开发能力的培养有赖于课程设计和综合实习等实践课程,每个学期开设一至二门的课程设计或综合实习,除了要完成具体的程序设计外还要上交课程设计报告,这样既能培养学生分析能力,提高程序设计和开发能力外,同时也能提升了学生文字表达能力。4)任务和项目驱动,培养系统设计与开发能力。我们要求学生在校期间必须完成一个系统的设计和一个网站建立,这两门课程放到动态网页设计及网络数据库中进行,作为大作业考核学生开发程序的能力。经过10级计算机专业学生的实践,从学生毕业设计中看出这功效还是挺好的,学生综合开发系统能力显著提高,毕业设计的质量明显有所提高。

3.4加强校企合作,提高学生的专业能力

专业能力的提高离不开实践活动,校企合作可以做到学校、企业、学生三方共赢局面,最近两年我系跟澳翔科技公司的合作,对学生进行Java、.NET、Android程序开发的培训,让学生参与项目的开发,学生从中可以学习很多知识和系统开发流程等,学生专业能力明显提高,综合开发能力进一步的提升。经过近两年实践表明,采用上述方法和途径等方面的培养学生是有效,能有效是培养计算机专业应用型人才的专业能力。

4结束语

数学建模算法与程序范文

数学建模竞赛培训中数学软件教学方法研究现状

随着上世纪80年代数学建模竞赛以及相关课程的开展,高校教育工作者逐渐意识到将数学建模思想以及计算机实现融入到大学数学基础课教学中的重要性,进行相关教学改革的研究并取得了许多研究成果。如王高峡[2]进行了大学生数学建模竞赛软件教学内容安排的研究;胡建伟[3]对数学建模课程中的软件教学进行了探讨;陈陵[4]讨论了如何利用Matlab软件推进高职数学建模教学;周甄川[5]介绍了Lingo软件在数学建模中的应用等。这些研究侧重于从不同角度对建模竞赛培训中数学软件教学进行了研究。但研究研究的深度、系统性还有所不足。本文从数学软件课程本身的特点出发对其教学方法进行了更加细致、全面的讨论。

数学建模竞赛培训中数学软件教学的特点分析

数学软件是数学理论算法的计算机程序实现。与理论课程相似,数学软件的学习在内容和难度上都是前后衔接、循序渐进的过程。数学软件的学习可分为基础入门、巩固深入以及综合提高三个阶段。第一阶段专门针对数学软件知识点进行教学,后两个阶段则分别在理论算法补充和实际应用问题的模拟练习过程中同步进行。同时,两者也存在若干不同之处:在理论知识层面,数学软件涉及到更多的数学理论知识(不管是代数几何、概率统计等基本理论,还是人工智能、模式识别等现代算法都归入其中);在教学方式上,数学软件的上机实践环节比课堂知识讲授更重要;在计算机实现上,数学软件更注重严谨性和规范性;在实际应用中,数学软件更注重创新性和适用性。数学建模中数学软件的培训与教学应根据这些不同特点采取针对性的措施,以提高学习效果。目前,我国大多数普通高校的竞赛数学软件培训与教学中表现出的一些较普遍问题,大都是由于对这些特点的认识不足或处理不当导致,如日常教学中相关课程设置不够合理、上机实践环节的重视力度不够以及集中培训环节培训相关内容和难度安排不够合理等。

数学建模竞赛培训中数学软件教学策略

制定有效的数学软件培训与教学策略对于高校教学改革研究、学生实践能力的培养以及数学建模竞赛成绩的提高具有重要作用。当然,它本身是一个系统工程,应该从多方面综合入手,有计划的展开相关工作,具体列举如下:加强竞赛指导教师的算法实现指导水平在数学软件教学过程中,学生会有各种相应的问题需要教师帮助解决。竞赛指导教师的软件指导水平对于培训效果十分重要。为此,需要按计划请专家讲学、举行与数学软件教学相关的教师培训班等方式提高指导教师的业务水平。同时,通过优化竞赛指导团队的成员组成,使各教师的专业背景能大体覆盖数学建模所涉及的问题领域。这样能够保证对不同问题领域中较复杂算法实现以及具有较深专业背景的问题都有充足的师资保证,从广度和深度上保障数学软件的教学和培训效果。合理安排数学软件的教学内容和进度应该从两个方面对对数学软件的教学内容进行合理安排。首先,在数学软件教学内容的选择上。当前的数学软件相关产品数量众多,但大致上可分为通用型和专业型两类。通用型如Matlab、Mathematic、Maple、MathCAD等;专业型如统计软件SPSS和SAS、图论软件Pajek、数据挖掘软件Weka等。面对品种众多,特点各异的软件产品,可以采用深入学习与大致了解相结合的方式。需要深入学习的应该包括一门通用型数学软件(如,Matlab、Mathematic等)、两门最常用的专业数学软件(如Lingo、SPSS或SAS);而对于其它软件,可根据学生自己的兴趣作简单了解。其次,在数学软件教学进度的安排上。在软件学习三个阶段的上机实践环节中,学生会遇到不同层次的问题,对知识进行消化吸收的时间也有较大差异。一般来说,基础入门使学生掌握相关软件的基本操作知识,可在日常教学中安排相应的理论和实践学时进行讲授;巩固深入阶段应针对各种数学算法展开,本阶段应该适当增加上机实践学时,可在学期中间以周末辅导班的形式进行(半天理论学习,半天上机实践);综合提高阶段利用假期集中培训的形式对复杂的实际应用专题展开讲授,本阶段应该以上机实践环节为主,教师可在集中讨论环节进行适当地点评和讲解。相关课程的统筹开设S在高等数学、线性代数、概率统计等数学基础课程等课程开设的基础上,适当增加开设相关课程:针对数学专业学生开设《数学软件与数学实验》专业课,而其它专业学生开设《数学实验》和《Matlab入门》等全校或学院选修课;同时,进一步增加《数学实验课程设计》课程,利用集中两周的实践学习巩固软件基础知识和解决问题的能力;开设《数学建模竞赛指导》周末提高班,采取半天理论学习,半天上机实践的方式,具体六个专题的内容:数学规划(基于Lingo和Matlab)、回归拟合(基于Matlab)、微分方程模型与案例分析(基于Matlab)、多元统计回归(基于Matlab与SPSS)、蒙特卡洛模拟与仿真(基于Matlab)、图论入门(基于Lingo和Matlab);组织校级数学建模竞赛,进一步增加学生对数学软件重要性的认识以及学习数学软件的热情。注重对经典程序算法以及优秀范例的精读与积累精读一些重要算法的经典程序代码和优秀范例会产生很好的学习效果。首先,经典算法程序代码的精读能够强化学生对算法思想的理解,在竞赛或实际应用中能更正确地应用甚至改进这些算法来解决问题。其次,经典算法的程序代码一般比较规范,深入阅读理解可以提高程序编写的规范性。再次,对于一些优秀范例的精读以及程序重现对学生解决问题能力和程序编写能力的提高会起到重要作用。最后,对常用的重点算法代码的掌握和积累对竞赛过程中问题的准确快速地分析和求解具有重要作用。对于经典算法的精读和讲解可在进行算法专题补充阶段同步完成。此外,实际应用容易看出,要很好的完成这些工作合理地选择一门综合型数学软件非常重要。为此,我们选择Matlab作为教学中使用的综合软件,利用其工具箱以及互联网上的资源可以获得很多重要算法的程序实现代码。强化学生自学和互相讨论提高的环节数学软件的学习主要集中于相关命令、算法工具的使用方法上,其难度偏小,非常适合学生自学和互相交流讨论。因此,在数学软件教学过程中强调各种软件在线帮助文档的学习和相应的网络资源的利用,如Matlab的在线帮助文档中几乎包含了入门阶段可能遇到的所有问题。同时,鼓励学生之间相互讨论和答疑可以充分调动学生的学习主动性和竞争意识,并更高效地完成学习任务。在软件学习第三阶段,即三人一组的模拟练习阶段,不仅要鼓励同组的三人积极讨论,还要提倡组与组之间多交流讨论。因为,组与组的交流和讨论能产生更充分地挖掘他们的竞争意识并产生更大的动力。使数学软件回归其本身的“工具”属性在数学竞赛培训中数学软件教学过程中,应该始终强调数学软件是实现数学建模思想的有效“工具”。只有这样才可使学生在数学软件的学习过程中,始终关注于模型的构造和算法的设计,而不是程序代码本身,这在软件学习的第二、三阶段更为重要。模型和算法是程序代码的灵魂,而程序代码是实现模型和算法的工具。明白这一点,在数学软件学习过程中才更有方向感和针对性。

数学建模算法与程序范文篇6

关键词:

CRH2;轴箱弹簧;参数化建模;二次开发;CAE

中图分类号:U272.041文献标志码:B

0引言

弹簧是工业中最常用的零件之一,具有夹紧、减振、复位和调节等多种功能,其中圆柱螺旋弹簧是最为常见的一种,其对铁路车辆运行的平稳性、曲线通过能力以及保证车辆安全运行起重要作用.

1参数化设计

1.1参数化设计的概念

参数化设计即通过参数、关系和参照元素的方法把部件设计意图融入到模型里,以约束造型为核心,以尺寸驱动为特征,允许设计人员进行草图设计,勾画出设计轮廓,然后输入精确尺寸值完成最终的设计.参数化设计技术使得设计者可以通过设计参数来驱动产品零件的几何模型.

1.2机车车辆零部件的参数化设计现状

目前,国内专家学者对机车车辆零部件的参数化设计方法进行一些研究,如陈德强等提出铁路货车弹簧组的参数化设计系统研发,陈建等提出机车车轴参数化设计研究等.研究人员主要采用三维模型与程序控制相结合的方式,建立零件的参数化模型库供用户调用,利用VB和C++等编程语言以及可视化界面技术,设计方便的人机交互界面实现机械零件的参数化CAD系统.

上述方法建立的模型库并不能满足不同用户对不同模型的要求,并且其建立的参数化系统大多是对零件进行CAD建模,或是自动生成工程图,而对参数化建模后零件的CAE分析没有实现自动化.本文针对这一问题,在SolidWorks平台中,利用VB进行二次开发,建立动车组弹簧的参数化设计系统,该系统能够根据用户输入的参数驱动模型重新建模,不仅实现零件的参数化建模,而且完成零件的CAE自动分析,显著提高设计效率.

1.3VB开发Solidworks的方法和流程

通过编写VB程序对SolidWorks软件进行二次开发,流程图见图1.首先在SolidWorks中实现对模版零件的CAD造型和CAE分析;然后使用VB编制应用程序界面;最后编译程序并生成可执行程序供SolidWorks程序调用.当进行零件设计时,设计者通过应用程序界面录入初始参数,使用SolidWorks的API函数完成参数化驱动,实现模型的CAD建模与CAE分析.

2动车组弹簧参数化设计

2.1确定基本参数

圆柱螺旋弹簧的结构见图2,主要参数之间的关系如下.

螺旋线的节距t=πDtanα(1)

螺旋线的曲率半径ρ=D2cos2α(2)

弹簧的刚度Kv=Gd8nm3=Gd48nD3(3)

弹簧的挠度fv=8Pvm3nGd=PvKv(4)

弹簧的应力τmax=8PmaxDCπd3≤[τ](5)

弹簧全压缩高度Hmin=(n+1)d(6)

式中:α为弹簧的螺旋角;D为弹簧中径,即弹簧内外径的平均值;d为簧条直径;G为剪切弹性模数;Pv为作用于弹簧上的垂向静载荷;m为弹簧指数,m=D/d;C为应力修正系数;Pmax为作用于弹簧上的最大垂向载荷;Hmin为弹簧圈全压缩高度,即弹簧在全压死状态下的高;n为弹簧有效圈数.

由以上各式可以看出,弹簧中径D,簧条直径d,自由高度H0和有效圈数n决定弹簧的几何结构与性能,这4个关键参数可以确定弹簧的基本结构,而其他参数均由关键参数计算得到,为导出参数.因此,将D,d,H0和n定为参数化设计的基本参数.

2.2动车组弹簧CAD建模和CAE分析

采用三段直线法完成弹簧的CAD建模,其造型过程为:先绘制3条首尾相连的螺旋线,并将其组合为一条螺旋线,再绘制簧条圆,然后利用扫描特征创建弹簧基体,最后利用拉伸切除特征创建支撑圈.

模版弹簧的CAD建模完成后,利用SolidWorks软件中的Simulation模块对生成的弹簧进行刚度计算,将弹簧的下支撑圈固定,在上支撑圈施加单位位移,所得固定端支反力即为弹簧刚度.

2.3动车组弹簧参数化设计的关键技术

通过编写VB程序对SolidWorks软件进行二次开发,其关键步骤如下.

1)在SolidWorks中实现对模版零件(本文以CRH2外簧为模版)的造型,以特定的文件名(如后缀为SLDPRT,SLDDRW和SWP)保存到指定文件夹.

2)用SolidWorks中的宏命令,把建模的全过程录制成宏文件,找出宏文件中与模型生成有关的关键函数,即模型的基本参数.弄清基本参数的变化对实体建模的影响,将模型的基本参数用变量代替,建立SolidWorks中的动车组弹簧参数化模型.

3)使用VB编制应用程序界面,编译程序并生成可执行程序供SolidWorks程序调用.

4)完成可执行应用程序后,使用SolidWorksAPI函数完成参数化驱动,实现模型的建立.

3参数化设计系统开发

3.1设计界面

在绘制窗体前首先修改圆柱螺旋弹簧零件模型的特征尺寸,SolidWorks会自动为标注的尺寸命名,并且不同特征的尺寸名称可以重复,如

D1,D2,D3等,但是这种名称极不规则,没有明确的意义,并且可以被多个特征尺寸共用,容易混乱.由于这些特征尺寸是定义变量参数,为在编写程序文件时方便,应该按照一定的规则为变量参数重新命名,并且名称应尽量接近国标中规定的尺寸名称,如d,D和n等.

弹簧参数化设计的VB界面见图3,在窗体上绘制标签和文本框等对象,并进行赋值或调用模型中对应的参数.

3.2编写VB程序代码

设置窗体及控件的属性之后编写如下代码.

PrivateSubCmdOK_Click()

MDiameterValue=Val(TxtMD.Text)/1000

TDiameterValue=Val(TxtTd.Text)/1000

nValue=Val(Txtn.Text)

HValue=Val(Txtfmax.Text)/1000

CallParameterSub(MDiameterValue,TDiameterValue,nValue,HValue)‘调用更新函数

EndSub

4设计实例

本系统模版模型采用CRH2轴箱弹簧外簧,其主要参数见表1.在图3的设计界面中输入相应数据,单击图3窗体界面的“实体建模”按钮通过驱动程序生成所需的弹簧模型,并单击Simulation模块下的刚度算例的运行按钮,自动进行CAE分析,返回给用户.运行程序得到的实体模型和计算结果见图4,刚度计算结果见表2.自动分析出的结果和试验数据、计算数据均相接近.

5结束语

利用VB对SolidWorks软件进行二次开发,实现高速动车组轴箱弹簧三维几何模型的参数化设计.参数化建模完成后,当再设计弹簧时,可直接调用已有的弹簧设计宏程序,修改相应参数即可快速准确地绘制弹簧并自动计算其刚度.为螺旋类零件的三维实体参数化建模提供一种有效的方法,在企业生产中具有较大的推广价值.

参考文献:

[1]周咏翎,谭灿枚,丁亮.基于Pro/E的货车转向架参数化设计系统的研究[J].工程图学学报,2006,27(2):2026.

ZHOUYongling,TANCanmei,DINGliang.ResearchonparametricdesignsystemoffreightcarbogiebasedonPro/E[J].JEngGraphics,2006,27(2):2026.

[2]陈德强,王红,商跃进.铁路货车变刚度弹簧组计算机辅助设计系统研发[J].兰州交通大学学报,2012,28(6):9194.

CHENDeqiang,WANGHong,SHANGYuejin.CADSystemofalterrigidityspringassemblyofrailwayfreightcar[J].JLanzhouJiaotongUniv,2012,28(6):9194.

[3]陈建,米彩盈.基于SolidWorks二次开发技术的机车车辆车轴参数化设计[J].机车电传动,2011,7(4):2730.

CHENJian,MICaiying.ParametricdesignofrailwayvehicleaxlebasedonsecondarydevelopmenttechnologyofSolidWorks[J].ElectrDriveLocomotives,2011,7(4):2730.

[4]严隽耄.车辆工程[M].北京:中国铁道出版社,1999:6264.

[5]曹茹.SolidWorks2009三维设计及应用教程[M].北京:机械工业出版社,2005:100102.

[6]沈海荣,杨勇生,张军.基于VB技术的Solidworks二次开发方法[J].计算机辅助工程,2004,13(4):5156.

SHENHairong,YANGYongsheng,ZHANGJun.SolidWorksAPImethodsbasedonVBtechnology[J].CopmutEidedEng,2004,13(4):5156.

[7]张信群.圆柱螺旋压缩弹簧参数化建模[J].机电工程,2011,28(3):305309.

数学建模算法与程序范文篇7

关键词:汽车CAE;力学专业;数值模拟能力;课程体系

作者简介:丁军(1978-),男,重庆人,重庆理工大学机械工程学院,副教授;黄霞(1977-),女,四川射洪人,重庆理工大学机械工程学院,讲师。(重庆400054)

基金项目:本文系重庆市高等教育教学改革研究项目(项目编号:112013)的研究成果。

中图分类号:G642文献标识码:A文章编号:1007-0079(2013)35-0051-02

力学是研究物质机械运动规律的科学。它以理论分析、实验验证和数值模拟为主要研究手段,揭示和解决工程技术中的普遍规律和共性问题,涉及航空、航天、造船、核能、建筑、机械、汽车、环境、生物医学等诸多领域。它包括力学中的基本问题和方法、动力学与控制、固体力学、流体力学、生物力学、爆炸与冲击动力学等学科。[1]力学基础课程和力学基础知识是大多数工科专业,特别是机械、汽车相关领域的必备基础。力学具有基础和技术学科的双重特征,力学专业不仅十分关注科学技术的发展前沿,成为推动新学科发展的重要力量,而且特别注重解决工程实际问题。例如在固体力学的范畴内,新材料的发展带来了新的固体力学问题。当经典力学的连续、均匀、小变形假设不再成立时,要想找到精确解是不可能的,唯一解决手段是计算力学方法。另一方面,在经济和社会发展中的重大工程问题中,例如交通运输、先进装备以及航空航天等领域,工程力学的作用越来越大。现代力学问题追求更加真实的工程环境以及跨尺度、多物理场耦合的相互影响,因而提出了大量的数值模拟仿真问题,计算力学是解决工程数值模拟关键技术的主要手段。[2-3]我国著名科学家钱学森曾经预言:在21世纪,“力学加计算机将成为工程设计的主要手段”。[4]当今数值计算理论及CAE仿真技术的飞速发展验证了钱老的真知灼见。

重庆理工大学(以下简称“我校”)地处我国兵器工业和装备制造业的集结重镇——重庆。汽车、摩托车产业和装备制造业是重庆市经济发展的重要支柱产业,是催生重庆市地方区域经济发展的新增长点,促进和推动重庆市经济快速稳步增长的核心和动力。目前,重庆已发展成为全国重要的汽车生产基地、世界最大的摩托车零部件制造基地和全国最大的摩托车整车生产基地。《2013重庆经济展望》指出:2012年全年,重庆市汽车、摩托车产值高达3600亿元,预计2013年汽车、摩托车产业总值将达到4000亿元左右。同时,重庆是我国10个重大装备制造业基地之一。《重庆市装备制造业三年振兴规划》指出:未来三年,重庆将依托现有装备制造产业基础,加快产业结构调整,推动产业优化升级,形成特色产业集群,全面提升产业竞争力,预计三年后,即2015年,重庆装备制造业实现工业总产值5000亿元的规模。汽车、摩托车产业和装备制造业带来的庞大经济规模,势必提高产业发展对大学本科应用型人才培养质量的要求。

我校主动适应地方区域经济及产业发展对应用型人才的需求,将理论与应用力学专业与汽车产业紧密结合,形成具有汽车CAE特色的力学专业人才培养模式,培养具有较强汽车CAE分析能力和坚实力学专门知识的应用型人才。

一、数值模拟能力范畴

近年来,数值模拟分析能力水平已成为工科研究生,特别是汽车和机械类研究生的必备工具之一,而对于机械、汽车专业学生来讲,其CAE分析水平主要还是停留在利用软件进行简单的建模分析阶段,由于CAE分析软件具有较强力学专业背景,多数学生并不了解CAE分析的具体过程和产生此种分析结果的缘由;另一方面,力学专业的学生往往又不具备很强的汽车结构专业知识和工程背景。因此,为了弥补既有较强汽车专业知识又具有扎实力学专门知识的人才空白,我们将力学与车辆两个专业有机而紧密结合起来,将数值计算模拟分析能力进行进一步深化和拓展,培养力学专业学生扎实的数值模拟分析能力和较强汽车工程背景。数值模拟能力主要归结为以下方面:

1.数学建模能力

建立正确的模型是进行计算分析的基础。对于工程问题,首先要建立反映问题本质的数学力学模型,建立反映问题变量之间关系的微分方程及相应定解条件,这是数值计算的出发点。没有正确完善的数学模型,数值计算就无法模拟真实情况。

2.结果分析能力

在CAE分析过程中,一旦确定了正确的力学模型之后,求解过程是一个关键问题。但问题在于,任何一种通用有限元分析软件的求解过程都是一个“黑匣子”,其所有方程求解都封装于求解器之内,对于一般大学本科生层次来讲,无需深入了解暗箱中的操作。但结果出来之后,结果分析能力就显得至关重要。如何去判断所得的结果是否正确,是CAE分析的关键所在。因此,力学专业本科生要掌握运用所学力学知识进行结果分析和讨论的能力,不能只看到表面上的数字和图表,而是通过分析和讨论,挖掘数字和图表后面所隐含的力学原理和实际意义,学会判断计算结果的正确性、精确度、应用限制与改进方法。

3.程序编制能力

前面所说CAE的求解是一个封装后的黑匣子,对于一般用户来讲无需去细究,但是,对于想要成为具有较强数值模拟能力的CAE专业人员来讲,具备一定的程序编制能力非常必要,是实现自己新思想、新方法的唯一途径。目前,通用有限元分析软件如SIMULIA(ABAQUS)、ANSYS、PATRAN&NASTRAN等都是针对用户实现一般分析功能的通用程序,在某些特定环境下或针对某些具体的工程实际问题,如先进复合材料分析,由于软件本身自带的材料物理本构模型无法表述某种复合材料时,此时就必须利用程序来编制适合工程实际的材料本构方程。

4.软件的综合应用与开发能力

软件的综合应用能力是解决工程问题的利器,也是分析和提高计算的可靠性、有效性和精确性的有利方法。现代计算力学发展已经逐步专业化、产业化,功能强大的、成熟的商业软件是解决工程实际问题的有力工具。在掌握模型建立的基础上,让学生熟悉多种商业软件的使用既有利于对前期建模、计算方法、有限元分析等知识的进一步深化,也为今后解决工程实际问题掌握了有力工具。教学中要求学生针对具体的、较复杂的工程问题采用成熟软件进行模拟分析,写出分析报告,并在课堂讲解接受答辩。

二、汽车CAE特色的数值模拟能力培养和提升的核心课程体系

为了培养既具有汽车结构专业知识,又具有较强数值模拟计算能力的力学专业高素质应用型专门人才,我们在理论与应用力学专业人才培养方案中设置了“汽车构造”和“现代汽车技术”两门课程,专门用于培养学生汽车结构专业知识和提高其对现代汽车技术发展的了解和掌握,强化了学生的工程背景,构建了以数值计算能力培养和提高为驱动的力学专业核心课程体系。整个课程体系设置如图1所示。

数值模拟能力的基础是有限单元法,其将工程结构问题抽象成数学力学模型,然后再采用偏微分方程、泛函分析、数值分析等数学工具求出工程实际问题的近似解,通过不断提高网格质量和增加网格数量等技术手段来逼近物理问题的真实解,学生要很好掌握有限单元法知识必须得具有扎实的弹塑性力学知识(其是理解并抽象工程实际问题的最基本工具和方法),C语言或Fortran语言程序识读及编程能力,以及必备的数值分析能力,这三门学科知识奠定了有限单元法坚固的理论基础。[5-6]

在良好掌握有限单元法知识后,开设了“CAE软件应用”、“多体动力学软件及应用”、“动力学有限元软件及应用”、“计算流体动力学及软件应用”等技术课程。这四门课程的学习可以使学生对有限元法的理论和编程思想有更深刻的理解和认识,实现质的提升。在“CAE软件应用”课程的学习中,采用ABAQUS软件作为学生的操作软件。ABAQUS一直是国外高校科研院所、航空航天领域的标志性工具软件。作为力学专业学生,理应需要学习专业性更强、拓展性更好的分析软件。“多体动力学软件及应用”课程采用的是ADAMS软件,该软件在国际多体动力学分析行业中得到一致认可,通过对多体动力学理论和软件的学习,弥补了理论与应用力学专业学生机械知识薄弱等不足,强化了学生对机构等构件的认识和理解,同时,ADAMS软件在汽车业界也是公认的主流软件,加深了力学专业学生毕业后在汽车业界的被认同感。“动力学有限元软件及应用”主要采用LS-Dyna和Nastran,结合我校的学科特点和专业特色,让学生通过动力学理论及软件的学习掌握对机械零部件、汽车零部件及整车的动力学特性分析(如机械零部件的振动、汽车的碰撞等)。“计算流体动力学软件及应用”课程采用国际公认的专业流体分析软件Fluent。随着近年来国内汽车工业的飞速发展,国产轿车技术的突飞猛进,产生大量需要利用空气动力学理论来解决的汽车工程问题,如车身外形的设计及优化、发动机的冷却、车内空调制冷优化等问题。在掌握了ABAQUS、ADAMS、Nastran、Fluent等通用或专业分析软件之后,在人才培养方案中,我们结合“汽车构造”和“现代汽车技术”两门专业课程,让力学专业学生系统地学习汽车专业知识,将汽车工程实际问题与已获得的CAE分析能力有机结合起来,达到力学专业并不是只注重理论,还要将力学专业知识与工程背景相结合的人才培养目标。

三、教学环节的实施

在每门课程教学中,特别注意重点内容的选择,把主要精力放在有限单元法的基本原理、工程实际问题建模和程序实现上,特别是不能把有限单元法的求解过程讲解成计算方法或线性代数。主要的实施环节可以归结为三项。

1.研读源程序

学生最早接触有限元源程序是在有限单元法课程学习中,因此,要求学生不仅理解有限元法程序的设计流程、主要模块功能、算法实现和调试验证等主要环节的基本原理,而且要求学生具备对源程序进行修改、增加功能模块和自行编制调试程序的能力。在有限单元法课程上准备了三个源程序,即入门级的三角形常应变程序、平面问题的等参元程序和板壳单元程序。

2.自主建模

为了培养学生解决实际工程问题的能力,特别是汽车工程的建模能力,在上机实习、考试和课外作业中实行自我命题、自我解决、自我判断的能力培养环节。工程实际问题的分析模型可能有多个,鼓励学生对不同的几何简化、载荷工况和边界约束进行分析比较。找到合理模型,积累建模经验。

3.阅读经典著作及文献

以有限元分析软件为手段的数值模拟计算现在已经成为各个研究领域解决工程实际问题特别是大工程问题的主要手段。因此,培养和提高数值模拟计算能力对于地方工科院校人才培养是十分重要的环节。地方高校要加强内涵发展,培养和提高学生的工程实践能力,培养学生的创新精神,全面提高人才的培养质量。实现学生创新精神和能力的培养需要对所学行业、学科及专业的纵深有了解,因此,在教学过程中,我们十分重视向学生引入汽车的先进技术知识、数值模拟先进手段、超高性能计算机的发展现状及趋势。推荐学生阅读优秀的科研论文以对计算力学的先进理论成果进行了解,对CAE领域的发展具有一个总体的研判。

有限单元法课程理论深奥,涉及学科错综复杂,不同版本教材的作者站在不同的学科和专业视角,可能会让学生产生难学难懂的错觉,甚至有学生产生学习抵触情绪。我们就此专门向学生推荐有限单元法领域世界级大师的著作,如K.JBathe,J.NReddy等有限元法原著,倾听大师对有限元法的风趣诠释和超凡理解,让学生从另外一个角度来深刻体会和学习知识。

在该课程体系的实践下,我校首届理论与应用力学专业学生取得了良好成绩和效果,有33%左右的学生考上了国内著名985高校的研究生,多名学生就读于在国际国内计算力学领域具有重大影响的大连理工大学,师从业界有名的计算力学专家。其中一名学生更是以专业第一名的优异成绩完胜其他高校学生,被大连理工大学计算力学专业录取为直博研究生。部分学生凭借其在校期间掌握和积累的数值模拟计算分析能力就职于国内多家著名汽车整机或零部件企业,获得用人单位一致好评。

四、结论

以掌握有限元软件分析应用为手段的数值模拟计算能力是地方工科院校力学专业学生应具备的基本素质。将力学专业知识和飞速发展的汽车行业紧密结合,培养学生坚实的力学知识且具有热门行业的专业知识和工程背景。拓宽了地方工科院校力学专业人才培养的思路和渠道,为力学专业毕业生提供了更为广阔的用武之地和发展愿景。通过系列化的课程设置、工程化的培养手段和融入少许国际元素的教学理念,为国家培养具有高水平数值计算模拟能力的力学和汽车专业人才。

参考文献:

[1]国家自然科学基金委.未来10年中国学科发展战略:力学[M].北京:科学出版社,2012.

[2]杨庆生,龙连春,刘赵淼,等.力学专业研究生计算力学能力培养及其课程体系建设[J].力学与实践,2012,(4):66-69.

[3]李建,林贤坤.力学专业车辆方向有限单元法课程教学探讨[J].科技信息,2012,(23):13-14.

[4]钱学森.我对今日力学的认识[J].力学与实践,1995,17(4):1.

数学建模算法与程序范文篇8

Abstract:ThisarticlefirstlyintroducesthefeaturesofMATLABsoftwareandtheconceptandprocessofmathematicalmodeling.AndthenthedetailedprocedureofmathematicalmodelingbasedonMatlabisexplainedwithanexampleofanationalmathematicalmodelingcompetition.PracticeshowsthattheapplicationofMATLABsoftwareinmathematicalmodelingcanimprovetheefficiencyandqualityofmathematicalmodeling,whichenrichesthemethodsandmeansofmathematicalmodelingandisalsoofimportantteachingsignificanceformathematicalcourses.

关键词:MATLAB软件;数学建模;数学模型

Keywords:MATLABsoftware;mathematicalmodeling;mathematicalmodel

中图分类号:TP319文献标识码:A文章编号:1006-4311(2013)26-0233-03

0引言

数学软件就是专门用来进行数学运算、数学规划、统计运算、工程运算、绘制数学图形或制作数学动画的软件。其中常用的数学软件有:MATLAB、Mathematica、Maple、SAGE等;目前在科技和工程界中使用的比较多的数学软件主要是MATLAB,其应用的非常广泛。MATLAB是1984年由美国MathWorks公司推出的数学软件,其优秀的数值计算能力和数据可视化能力使它很快在数学软件中脱颖而出,历经十几年发展和竞争,MATLAB现已成为适合多学科、多种工作平台的功能强大的大型科技应用软件。

MATLAB主要面对科学计算、可视化及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统的非交互式程序设计语言,代表了当今国际科学计算软件的先进水平。MATLAB经过三十多年的研究和不断完善,现已成为国际上最流行的科学计算与工程计算软件工具之一,现在MATLAB已经不仅仅是最初“矩阵实验室”了,它已发展成为一种具有广泛应用前景的、全新的计算机高级编程语言。

1MATLAB的语言特点

1.1语言简洁紧凑,程序设计自由度大,可移植性好

MATLAB是一个高级的矩阵列语言,它包含控制语句、函数、数据结构、输入输出和面向对象编程特点。MATLAB以矩阵为基础,不需要预先定义变量矩阵(包括数组)的维数,可以方便地进行矩阵的算术运算、关系运算和逻辑运算等。而且MATLAB有特殊矩阵专门的库函数,可以高效地进行信号处理、图像处理、控制处理等问题。

1.2用户使用方便MATLAB中以复数矩阵或数组作为基本编程单元,使得矩阵操作变得轻而易举。另外MATLAB语句功能强大,一条语句往往相当于其他高级语言中的几十条、几百条甚至几千语句,而且MATLAB中提供了非常多的功能函数,从而使得用户使用起来非常方便。

1.3方便的绘图功能MATLAB的绘图是十分方便的,它有一系列绘图函数,例如线性坐标、对数坐标、半对数坐标及极坐标,均只需要调用不同的绘图函数,在图上标出图题、XY轴标注,网络线的绘制也只需要调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不能及的。

1.4扩充能力强,交互性好高版本的MATLAB语言有丰富的库函数,在进行复杂的数序运算时可以直接调用,而且MATLAB的库函数同用户文件在形成上一样,所以用户文件也可作为MATLAB的库函数来调。因而,用户可以根据自己的需要方便地建立和扩充新的库函数,以便提高MATLAB的使用效率和扩充它的功能。另外,为了充分利用FORTRAN、C等语言的资源,用户可以通过混合编程,方便地调用有关的FORTRAN、C语言的子程序,还可以在FORTRAN、C语言中方便地使用MATLAB的数值计算功能。这样良好的交互性使用程序使用以前编写过的程序,减少重复性工作,也使现在编写的程序具有重复利用的价值。

1.5编程效率高MATLAB是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编程序,而且比BASIC、FORTRAN等语言更加接近我们书写计算公式的思维方式。用MATLAB编写程序犹如在演算纸上排列出公式与求解问题。因此,MATLAB语言也可通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂。

2数学建模简介

2.1数学模型与数学建模当我们研究一个问题时需要从定量的角度分析和研究,人们就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学符号和语言,把它表述为数学式子,也是数学模型,所以数学模型是对于一个特定的对象为了一个特定的目标,根据特有的内在规律,做出一些必要的简化假设,运用适当的数学工具,得到一个数学结构。数学结构可以是数学公式、算法、表格、图示等。数学建模就是建立数学模型,建立数学模型的过程就是数学建模的过程。数学建模的语言和方法,通过抽象、简化建立能近似刻化并“解决”实际问题的一种强有力的数学手段。

建立数学模型的过程是把错综复杂的实际问题简化、抽象为合理的数学模型的过程。要通过调查、收集原始信息,观察和研究实际对象的固有特征和内在规律,抓住问题的主要矛盾,建立起反映实际问题的数量关系,然后利用数学的理论和方法去分析和解决问题。这需要深厚扎实的数学基础,敏锐的想象力和洞察力,对实际问题的浓厚兴趣和广博的知识面。数学建模是联系实际问题与数学的桥梁,是数学在各个领域应用的媒介,数学建模的作用越来越受到数学工程界的普遍重视,它已成为现代科技工作者必备的重要能力之一。

2.2数学建模的一般步骤下面结合数学建模的几个环节和数学建模实例,介绍MATLAB在数学建模中的应用。数学建模的过程分成如下几个阶段:①模型准备:了解所研究的问题的实际背景,明确其实际意义,掌握对象的各种信息,从而确定使用何种数学方法与建立何种数学模型,然后用数学的语言来描述问题。②模型假设:为了利用数学方法,通常要对问题做必要的、合理的假设,即根据实际对象的特征和建模的目的,对问题进行必要的简化,并用精确语言提出一些当前的假设。③模型建立:根据所做的假设以及事物之间的联系,在假设基础上,利用适当的数学工具来刻画各变量之间的数学关系,建立相应的数学结构。④模型求解:利用已知的数学方法来求解上一步所得到的数学问题,即利用获取的数据资料,对模型的所有参数做出计算。⑤模型分析:对所得的结果进行数学上的分析,特别要注意数据变化时所得结果是否稳定。⑥模型检验:将模型分析结果与实际情形进行比较,然后可根据情况对模型进行修正,使其符合程度更高,具有更好的合理性和适用性。⑦模型应用:应用方式因问题的性质和建模的目的而异。

3建模实例

2009年全国大学生数学建模竞赛A题为某服务公司承办了一次全国性的会议,会议筹备组要为与会代表预订客馆客房,租借会议室,并租用客车接送代表。筹备组经过实地考察,筛选出10家宾馆作为备选,题目给出客房及会议室的规格、间数、价格等数据,需要先预测与会代表的人数。预测的依据是代表回执数量及往届的与会人员数据。已知本届会议的回执情况(见表1)及以往几届会议代表回执和与会情况(见表2)要解决的问题是:根据这些数据预测本届与会代表人数。

首先根据题目给出的数据我们知道本届发来回执的代表人数为x=75,由于发来回执但未与会的代表人数x1与发来回执的代表人数x之间存有一定的关系,所以我们通过题目给出的以往数据利用最小二乘法拟合出相应曲线,然后得到发来回执但未与会的代表人数。给出MATLAB

程序:

x=[315356408711];

y=[89115121213];

p2=polyfit(x,y,2)

poly2str(p2,'x')

x1=300:800;

y2=polyval(p2,x1);

plot(x,y,'rp',x1,y2)

z=polyval(a,755)

二次拟合曲线为:y=-0.1x^2+446.3x-33870.4,可得今年发了回执但未与会的代表人数为225(人)。

其次由于未发来回执而与会的代表人数x2与发来回执的代表人数之间的影响关系不大,需要使用题目给出的数据单独进行预测,由于题目给出的数据不多,我们采用对数据量要求不大但精度较高的灰色预测模型GM(1,1)来进行预测。根据GM(1,1)模型编写出的MATLAB程序如下:

function[px0,ab,rel]=gm11(x0_number)

ifnargin==1

number=max(size(x0));

end

n=max(size(x0));

x1=zeros(size(x0));

fork=1:n

fori=1:k

x1(k)=x1(k)+x0(i);

end

end

z=zeros(size(x0));

fork=2:n

z(k)=0.5*(x1(k)+x1(k-1));

end

y=x0';y(1)=[];b(;,1)=-z';b(;,2)=1;b(1,:)=[];

ab=inv(b'*b)*b'*y;

a=ab(1);b=ab(2);px0(1)=x0(1);

fork=1:number-1

px0(k+1)=(1-exp(a))*(x0(1)-b/a)*exp(-a*k);

end

temp=px0(1:n);

x0;

temp=(temp-x0)./x0;

temp(1)=[];

temp=abs(temp);

rel=sum(temp)/(n-1)*100;

由以上过程我们可以得到本届大会代表到会情况如表3。

4结论

通过以上模型的求解过程可以看出,MATLAB软件在解决复杂的数学建模问题时具有方便、快捷、易学易用的特点,它的强大功能在许多领域有着其它软件无法比拟的优势。将其应用于数学建模的分析和求解计算过程必将大大推进建模的进程,起到事半功倍的效果。

参考文献:

[1]徐秀华.Matlab软件在数学建模中的应用[J].科技与生活,2010(13).

数学建模算法与程序范文篇9

关键词:浅埋暗挖法;隧道掘进;ANSYS;施工步序;影响分析

1引言

随着我国经济的快速发展和城市化速度的不断加快,越来越多的城市开始进行城市轨道交通的建设,合理的规划、设计和施工是地铁建设面临的关键问题。受既有和规划建构筑物、复杂地质条件的限制,新建地铁隧道近距离穿越建构筑物的施工环境成为设计人员重点研究的课题,如南京地铁南北线一期鼓楼站~玄武门站区间隧道下穿高层建筑、厦门轨道交通一号线中山西路站~中山路站区间矿山法施工下穿中华城桩群等。目前国内外学界对浅埋暗挖法隧道施工已有不少研究,但对浅埋暗挖隧道穿越既有线工程的研究大多为对个别工程的总结与回顾,系统的研究仅见于日本在1997年公布的《既有铁路隧道近接施工指南》,该国学者也发表了一些邻近地下工程施工案例研究的论著[1]。浅埋暗挖法隧道施工引起地表沉降及对周边环境影响的研究较多,但大多数都基于随机介质理论和半经验半解析理论研究,施工上更难于控制[2]。

1.1浅埋暗挖法隧道邻近建筑物施工掘进时动态预测

邻近或下穿建筑物受浅埋暗挖法施工影响程度的大小取决于建筑物的设计条件、结构条件、刚度、地层特性等[5]。浅埋暗挖法掘进施工对环境的影响预测方法主要有:(1)对浅埋暗挖法掘进引起的周边地层变形进行分析,并将结果作为建筑物结构受力分析的输入条件,再进行结构分析;(2)建立地层和建构筑物结构的协同模型,对建构筑物因掘进引起的地层变形和建构筑物变形的动态变形同时进行分析。方法(1)是在继承了地层变形分析基础上的结构分析方法,它的模拟精度很大程度受地层变形模拟准确度的影响,而且它的局限还在于不能模拟岩土体和建筑物结构之间动态协同变形;方法(2)克服了方法(1)的这一缺陷,相比较而言具有很大的进步,不过方法(2)的模拟精度在很大程度上也取决于岩土体和建筑结构体系的输入参数是否能反映客观实体情况。

本文在优选岩土体参数的基础上,建立了较客观的地层和建筑物结构协同模型,对不同施工步序下的浅埋暗挖隧道穿越建构筑物进行了三维数值模拟分析,研究了施工步序对隧道结构变形的影响。

本文结合重庆地铁一号线矿山法施工隧道,利用三维有限元数值计算软件ANSYS对石桥铺~高庙村区间隧道穿越机三院科研大楼桩基的施工力学行为进行数值模拟,根据计算结果,分析总结矿山法隧道与建筑物施工顺序对两者受力变形的影响,为后续安排施工步序提供参考和建议。

1.2浅埋暗挖法施工原理

浅埋暗挖法是在距离地表较近的地下进行各种类型地下洞室暗挖施工的一种方法,它在沿用了新奥法基本原理的基础上,创建了信息化量测设计和施工的新理念;采用先柔后刚复合式衬砌新型支护结构体系,初期支护按全部承担基本荷载设计,二次模筑衬砌作为安全储备;初期支护和二次衬砌共同承担特殊荷载[3]。

浅埋暗挖法广泛应用于第四纪软弱地层的地下工程,此类工程环境的围岩自承能力一般较差。为控制地表沉降,初期支护刚度要大、要及时,以尽量增大支护的承载,减小围岩的自承载。经过大量工程试验探索,王梦恕院士创造性地提出了浅埋暗挖法施工应遵循的十八字方针,“管超前、严注浆、短进尺、早封闭、勤测量”,突出时空效应对防塌的重要作用。初次支护必须从上向下施工,初次支护基本稳定后才能做二次衬砌,且必须从下到上施工[1]。根据地层情况、地面建筑物特点及机械设备情况,选择对地层扰动小、经济、快速的开挖方法。若断面大或地层较差,可采取经济合理的辅助工法和相应的分部正台阶开挖法;若断面小或地层较好,可用全断面开挖法[4]。

2工程实例分析

2.1工程概况

重庆轨道交通一号线石桥铺~高庙村区间隧道,采用双线双洞隧道形式从拟建的机三院科研大楼下方穿过。机三院科研大楼主楼有26层110.2m高,附楼有6层19m高,区间隧道左线从机三院大楼主楼的正下方通过。机三院主楼采用独立基础、条形基础和筏板基础这三种基础形式,基础底部与左线隧道洞顶最小间距为7.98m。机三院科研大楼基础与区间隧道的空间位置关系如图1所示。

图1机三院大楼基础与石高区间隧道空间位置关系透视图

2.2地质条件及相关参数

根据地质勘测报告,本区段围岩为中等风化厚层状砂岩,岩体裂隙较发育,呈块状结构,岩体较完整。砂岩单轴饱和抗压强度标准值36.3MPa,为较硬岩。砂岩的透水性为不透水性,有少量的孔隙水和基岩裂隙水,呈滴状。围岩弹性纵波速度υp=2.3~3.0Km/s。围岩级别为Ⅲ级。有限元计算采用的相关计算参数可参考表1中的内容。

3数值分析

3.1三维有限元建模

本区段分析采用地层―结构计算模型,用ANSYS程序进行计算分析。模拟计算中,初期支护承担70%的释放荷载,二次衬砌承担30%的释放荷载。最后根据《铁路隧道设计规范》(TB10003-2005),按照极限状态法计算二次衬砌在基本组合承载力状态和人防组合承载力状态下的安全系数,并对正常使用状态下的裂缝宽度进行验算。

三维模型的计算荷载有围岩压力、结构自重和机三院大楼作用在基础上的荷载,机三院大楼作用在基础上的荷载可参考相关规范取值。计算模型的长×宽×高分别为324×237×80m,设置好荷载的有限元模型如图2所示。

3.2计算工况

目前石高区间隧道和机三院科研大楼都未修建,因此计算时采用两种计算工况模拟区间隧道和科研大楼不同的修建顺序。工况1模拟科研大楼修建完毕后再修建石高区间隧道;工况2模拟石高区间隧道先修建,然后在其上方修建科研大楼。

3.3计算结果分析

模型计算时,浅埋暗挖法隧道掘进施工考虑使用ANSYS中的生死单元来实现,衬砌采用弹性衬砌模型模拟。根据两种计算工况条件,计算不同的施工顺序引起区间隧道不同的沉降变化和受力情况。

3.3.1位移计算结果分析

(一)工况1计算结果(大楼修建完毕后再修建石高区间隧道)

(二)工况2计算结果(隧道修建完毕后再修建大楼)

图5工况2隧道位移云图

不同的施工顺序会引起石-高区间隧道不同的位移沉降,这里取区间隧道拱顶位移作为研究,分析不同的施工顺序对隧道纵向位移的影响。不同工况隧道拱顶位移的计算结果见图6。

从区间隧道拱顶位移沉降曲线中可以看出,工况1所引起区间隧道拱顶的位移较小,工况2引起的拱顶位移较大。这是因为工况1中,区间隧道的开挖只引起周围局部的岩体松动产生变形;而工况2在区间隧道修建完后修建科研大楼,科研大楼的荷载会直接作用在区间隧道上,使局部产生较大变形。工况2由于科研大楼修建所引起的沉降范围大约为100m。

3.3.2隧道衬砌内力结果分析

(一)工况1内力计算:

(二)工况2内力计算:

从区间隧道衬砌内力计算结果中可以看出,按工况1施工顺序施工,隧道衬砌内力较小,可以按照标准区间段设计参数(衬砌厚350mm,配筋φ20@200)设计,不进行加固处理;按工况2施工顺序施工,隧道衬砌变形、内力均较大,需要对科研大楼下100m范围内的隧道进行加固,建议加固后的隧道衬砌厚450mm,配筋φ25@150。

4结论

通过ANSYS三维有限元软件模拟分析机三院科研大楼与石-高区间隧道修建的先后顺序对隧道结构的影响分析,可以得到如下结论:

(1)先修建机三院科研大楼,再修建石高区间隧道,即按工况1顺序施工,机三院科研大楼对其下方区间隧道施工时的结构变形影响较小,区间隧道可按照隧道标准衬砌类型参数进行设计,隧道掘进施工时区间土体不需要加固;先修建石高区间隧道,再修建机三院科研大楼,即按工况2顺序施工,机三院大楼施工会对下方区间隧道结构变形产生较大影响,机三院科研大楼施工时需要对大楼附近100m范围内的区间隧道土体进行加固。

(2)尽管三维有限元软件分析表明工况1施工顺序优于工况2施工顺序,但由于此次模拟没有考虑隧道开挖时的爆破振动对上方高层建筑物的影响,因此工况1的计算条件与实际施工时的现场环境有一定出入;工况2在隧道施工完毕后再修建科研大楼,不会有大的爆破振动,因此工况2的计算条件与实际施工较符合,其计算结果与实际情况较接近。建议下一步开展矿山法爆破震动环境下的结构变形研究和工程分析。

(3)在实际施工中建议建设方综合考虑施工风险、施工工期以及工程经济等多方面因素的基础上选取安全、经济、合理的施工顺序和方案。

参考文献:

[1]王梦恕,地下工程浅埋暗挖技术通论[M].安徽.安徽教育出版社.

[2]吴昭永,复杂环境条件下城市暗挖隧道施工技术研究.隧道建设,2003;2:34~37

[3]范国问,王先堂,暗挖双连拱隧道穿越基础高层楼群区施工技术.土木工程学会隧道及地下工程分会12届年会论文集,2002.10

[4]陈绍章,陈越,刘智成.矿山法暗挖技术在广州地铁中的应用.世界隧道,2003;4

[5]刘招伟,王梦恕.浅埋暗挖法修建地下工程中几个问题的探讨.第五届全国青年岩石力学与工程学术会议论文集,1999

[5]刘招伟,王梦恕.浅埋暗挖法修建地下工程中几个问题的探讨.第五届全国青年岩石力学与工程学术会议论文集,1999

[6]孙钧.地下工程设计理论与实践[M].上海.上海科学技术出版社.1996

[7]潘景副,李泽光,杨秀仁.北京地铁五号线盾构法隧道施工的三维有限元数值模拟[J].岩土工程界,2004(7):79

[8]郭晨.近距离重叠盾构隧道施工影响的数值模拟[D].成都:西南交通大学,2009

[9]孙钧,易宏伟.地铁隧道盾构掘进施工市区环境土工安全的地基变形与沉降控制[J].地下工程与隧道,2001(2):10-13

数学建模算法与程序范文篇10

什么是云计算

IBM公司于2007年年底宣布云计算计划,云计算的概念仿佛在一夜间就出现在大众的面前,对于云计算的各方解读也众说纷纭。

在展开对云计算的具体实现技术的讨论之前,先让我们看一下云计算的一些基本概念。首先需要回答什么是云计算。

在IBM的技术白皮书“CloudComputing”中,我们可以看到如下的定义:“云计算”一词同时用来描述一个系统平台或者一种类型的应用程序。一个云计算的平台可按需进行动态的供给(provision)、配置(configuration)、重新配置(reconfigure)以及取消服务(deprovision)等。在云计算平台中的服务器可以是物理的服务器或者虚拟的服务器。高级的计算云通常包含一些其他的计算资源,例如存储区域网络(SANs)、网络设备、防火墙以及其他的安全设备等。

云计算的本质

在应用方面,云计算描述了一种可以通过互联网进行访问的可扩展的应用程序。“云应用”使用大规模的数据中心以及功能强劲的服务器来运行网络应用程序与网络服务。任何一个用户通过合适的互联网接入设备以及一个标准的浏览器都能够访问一个云计算应用程序。

从IBM的定义中我们看到,云计算的含义有两个方面。它一方面描述了一种方便的基础设施,用来构造应用程序,其地位相当于PC机上的操作系统;另外一方面则描述了建立在这种基础设施之上的云计算应用。一个计算云是虚拟化的计算资源池,用来容纳各种不同的工作模式,并且这些工作模式可以通过快速部署的方式部署到物理设施上。由于使用了分布式的计算技术,云计算能够将计算扩展到更多的计算资源,以及使用冗余的资源进行容错处理。

在IBM的白皮书中我们还可以看到,云计算能够通过快速提供物理以及虚拟服务器来支持网格应用的运行。网格程序能够将一个大的任务分解成很多小的任务并行地运行在不同的集群以及服务器上。我们可以把云计算看做是一个具有更广泛含义的计算平台,除了能够支持网格的应用之外,云计算还能够支持非网格的应用,例如在网络服务程序中的网络服务器、应用服务器和数据库服务器三层应用程序架构模式。特别值得注意的是云计算模型支持当前Web2.0模式的网络应用程序。云计算是能够提供动态资源池、虚拟化和高可用性的下一代计算平台。

几种典型云计算平台

当前,工业界已经有很多公司聚集在云计算这样一个新型计算概念下面,分别提出了自己针对云计算的理解,用不同的技术来实现上述目标,主要包括下面重要的云计算实现系统。

亚马逊的弹性计算云。事实上,网络零售商亚马逊公司是最早也是一个非常重要的云计算实践者之一。亚马逊公司在构建自身零售平台的时候,也使用了云计算的方法,将自己的购物平台构建在其基础之上。亚马逊公司将自己的云计算平台开放给外部开发人员使用,建立了弹性计算云(ElasticComputeCloud,EC2),使得独立的开发人员也能够使用亚马逊公司内部的计算资源来建立自己的网络应用程序。

Google的云计算平台及其云计算网络应用程序。主要包括Google针对云计算提出的大规模分布式计算的基础架构以及Google在此基础之上构造的云计算应用服务程序。Google将自己的整个基础计算平台以及相应的应用称为云计算,并且成为云计算最大的实践者。

IBM公司在与Google的合作过程中,提出了自己对于云计算的理解以及相应的技术解决方案。IBM公司于2007年11月15日在上海宣布了蓝云“BlueCloud”计划,使得公司内部的数据中心能够按照互联网应用服务程序的形式进行组织,将计算能力分配到分布式全局可以访问的资源组织中,而不是局限于本地的一些服务节点或者固定远端的服务器机群中。IBM在云计算的白皮书中也提出了蓝云计划的基础设施结构,这些基础设施结构构建在IBM本身的x服务器之上。在蓝云中采用了Xen的系统级虚拟化方法,同时提供虚拟化的服务器以及物理服务器的计算资源。在IBM的云计算架构中也采用了类似于Google进行大规模数据处理的基础设施,在其蓝云计算环境中部署了GoolgeFileSystem以及MapReduce用以实现Hadoop。Hadoop是Apache旗下的一款有关大规模数据的开源软件,Yahoo在其中做出了不少贡献。

未来展望

当前已经有很多公司参与到云计算的研究与发展当中。

Yahoo公司就参与了云计算平台Hadoop的开发,雇佣了Hadoop软件的创始人员,并且为此软件贡献了很多代码。同时为了测试与部署Hadoop系统,在Yahoo公司内部也使用了Hadoop软件,建立了世界上最大的Hadoop集群系统,这个集群系统包含了1万个Linux节点,规模还是很大的。现在,Yahoo公司的很多应用程序都构建在云计算平台之上。而上述的最大Hadoop平台则用来计算网络搜索的页面连接图,处理海量的数据。

微软自然也不甘落后,与Google类似,微软重构了自己的搜索引擎平台。除此之外,微软也构建了自己的云计算平台,并在此平台之上推出了云计算的应用。与Google类似,微软的云计算平台只是为自己的网络应用程序服务,现在还没有看到相应的云计算软件模块公开出来以帮助其他开发商构建云计算平台。微软的网络平台服务WindowsLive就可以看成是云计算应用的一个典型,它是一个Web2.0应用程序形式的云计算用户平台。用户在这个应用平台上可以进行照片的共享,文件的存储以及运行其他的应用程序。这些应用都建立在新型的云计算平台之上,也是微软针对网络实施的重大战略之一。在Live平台上,用户可以访问自己的电子邮件,可以使用SkyDrive来存储数据以及构建自己的网络平台等。

另外,硬件公司Dell提供了DCS(DellCloudComputingSolution)解决方案,帮助用户构建云计算平台,该解决方案能够降低数据中心的运维成本,提升计算速度、简化数据中心管理,具有良好的可扩展性。软件公司RedHat则与亚马逊公司合作,在亚马逊公司的弹性计算云中部署了RedHatEnterpriseLinux,并通过虚拟化的方式部署整个弹性计算云平台。

在云计算研究方面,在Google与IBM的支持下,美国的多所大学参与到云计算中来,包括6所非常著名的大学:卡内基•梅隆大学、麻省理工学院、斯坦福大学、加州大学伯克利分校、马里兰大学和华盛顿大学。

数学建模算法与程序范文1篇11

关键词:程序设计类课程;在线考试系统;遗传算法;自动组卷;自动判卷

DOIDOI:10.11907/rjdk.171014

中图分类号:TP319

文献标识码:A文章编号:1672-7800(2017)006-0066-04

0引言

随着计算机技术在教学中的广泛应用,考试方式由以前单一、固定试题和人工阅卷的传统方式,逐渐向多样化、灵活试题和计算机自动评分的无纸化考试过渡。在数字化考试中,使用在线网络考试是当今主流的考试方式。在欧美地区,较有影响力的机构如美国教育考试中心ETS举办的美国研究生入学考试GRE和计算机文化考试、高级就业计算机科学考试等,其考试形式即完全采用计算机在线进行。除此之外,目前的托福和雅思等标准化英语水平能力测试也采用了网络考试方式。很多职业资格认证机构、教育主管部门以及大型公司招聘应届生时都开发了针对各自目标考生的考试系统,如中国计算机学会计算机职业资格认证(CCF)即采用了网上出题、在线编程提交的方式。在各大高校,在线网络考试也得到了广泛认可,如清华大学、上海交通大学等高校都开发出了符合学校需求的在线考试系统[1]。

在上述众多考试系统中,大部分考试系统都实现了对客观题的自动评分,部分考试系统还研究出了对于不同种类主观题的评分方法。如在GRE考试中,美国教育考试中心根据近年来对作文的自动评分研究机制,推出了对于考试写作部分的自动化评分系统,减轻了阅卷人过去批改大量作文的负担;中国计算机学会在其开展的计算机职业资格认证考试系统中,也对考生提交的代码实行自动评分。然而,实现主观题评分的系统适用性很窄,无法将其项目推广到程序设计类课程考试中。针对这些问题,本文提出一种借鉴ACM在线测评机制的自动判卷功能方式,对程序设计类的主观编程试题进行客观评判。同时,自动组卷也是实现在线考试的重要环节之一,本设计采用遗传算法,按照教师对试卷构成的期望,随机、高效、快速地从试题库中抽取试题,组成一套高质量的试卷。通过自动组卷与判卷两者的结合,实现面向程序设计的高度自动化的考试系统,进一步摆脱了人工干预,提供了一个能更好地展示学生实践和思维能力的平台。

1系统功能设计

本系统主要涉及3类用户:管理员、教师、学生。对于不同用户,则需要设置用户管理模块来维系这种角色分级,并设置不同权限。对于学生角色,系统设置在线答卷模块来管理整个考试过程;对于教师角色,需参与出卷、组卷、考试的考试准备流程。因此,设置试卷管理模块来实现对于试卷的常用操作,同时设置题库管理模块,由教师负责出题、管理题库;管理员角色具备所有权限,主要涉及对各种关键实体的管理,因此设置了后台管理模块。系统自动完成的模块是自动组卷模块和自动判卷模块,该模块是本系统的关键模块。本系统的功能架构如图1所示。

2核心功能设计

2.1基于遗传算法的自动组卷

遗传算法的机器自动组卷,利用教师提供的参数,灵活建立相应组卷模型,然后对题目进行筛选,以自动生成科学合理的试卷。

遗传算法(GeneticAlgorithm,简称GA)是一种借鉴生物进化机制(适者生存、优胜劣汰)的随机搜索算法[2-4]。其通^建立计算模型,模拟达尔文的遗传选择和生物进化过程,搜索出符合“环境”要求的最优解,所以该算法常用来解决多约束下求最优解的问题。本系统在应用遗传算法之前,首先要将试卷解码成“染色体”,然后抽取一定数量的携带遗传物质的试卷集合初始化为种群,再根据环境选择、交叉、变异等一些基本的演化操作,模拟生物进化行为,筛选出最适合“环境”生存的最优试卷集。

该自动组卷实现流程如图2所示。

2.2.1染色体编码与初始群体设计

按照传统的遗传算法问题,首先将要求解的问题化成0、1形式的编码染色体。染色体应该按题型分段,因为本文针对的是程序设计类考试,基本题型是单选、多选、判断、程序设计4种类型,所以分段染色(例如一个数据结构试题有单选5、双选5、判断5、程序设计题2),如图3所示。

2.2.3遗传算子设计

(1)选择算子。选择算子主要用于模拟自然选择的选择概率,确定该个体是否能够“生存”。本文采用赌算法,每个个体的选择概率为Aj/∑Nj=1Aj。其中Aj代表第j个个体的适应度,适应度高的个体将有更大机率“生存”下来。

(2)交叉算子。由于染色体是分段编码,所以采用多点交叉,交叉率设为0.90~0.95比较合适。在“交叉”时必须保证互换的题目分数一样,分数相加等于总分,而且不能在交叉点前出现题目,否则此次“交叉”不合法。

(3)变异算子。在遗传中,一般较少发生变异,变异率设置在0.02~0.05范围内比较适宜。

2.3自动判卷

要实现较为客观地考核学生的编程能力,程序设计类考试的重点不是单纯地将选择、填空等客观题搬到计算机上,而是包含代码编写类试题的考核,这类试题可较为准确、客观地反映学生对程序设计思想和语言的掌握情况。本文根据程序设计试题代码的特点,设计沙盒来真实运行学生编写的代码,并根据得到的结果智能评判该类主观题的得分。

本文设计的自动判卷是面向程序设计类的客观题和主观题。对于客观题,系统可以直接通过与标准答案对比而得出对应分数[5-6];对于主观题,它的输入和输出也具备唯一性,其中一个输入对应一个输出,利用预先设置的测试数据即输入集,执行输入程序,得出输出集。通过将输出集的每个点与标准答案输出集对比,即可将通过测试点作为该题的评分依据,得到该题的分数。通过该方式可大大减少对主观程序题的主观性判断,而是以更科学的客观依据进行判断。在此期间,自动判卷功能辅助子系统必须保持沉睡状态,以等待唤醒。自动判卷流程如图4所示。

其中每层的解释如下:

(1)试题程序传入。首先利用Linux消息队列方式,将试题中源程序的代码、题号、所用语言等信息封装在上述mesg上,写入Linux系统下的消息队当中。通过系统msgget函数[intmsgget(key_tkey,intoflag);]创建消息队列,命名为key,并获取消息队列的标识符,然后调用系统msgsnd函数[intmsgsnd(intmsqid,constvoid*ptr,size_tlength,intflag)]将消息存入对应的消息队列中。

(2)试题程序接收。在接受消息时,通过系统msgget函数[intmsgget(key_tkey,intoflag);]获取对应key的消息队列的标识符,再通过系统msgrcv函数[ssize_tmsgrcv(intmsqid,void*ptr,size_tlength,longtype,intflag);]读取对应标识符消息队列中的一条消息mesg,从而获取队列中的消息内容。

(3)编译。对GCC、JDK等编译器进行必要的安全处理,利用bash命令对C++/C、Pascal、Java等语言程序的程序源码选择对应的编译器进行编译。编译成功则进行下一步,否则返回结果到父进程等待计算。

(4)链接。经过编译成功后,获取对应的obj二进制代码,通过调用ld链接命令,执行自动链接,产生可执行代码,提供给下一步使用。

(5)运行。通过系统调用子进程child_process,child_process运行编译链接后的程序,由父进程监控子进程,一旦子进程崩溃或正常退出,会发送相应的SIGNAL给父进程,此时父进程进行相应处理。

(6)测试数据输入。当前位置主要是为了数据的入和输出位置的转换,通过调用Liunx的系统函数,将数据输入从标准输入Console转换到标准测试文件输入,并将标准输出Console重定向到一个临时文件中,供下一步进行比较。

(7)比较。通过上述4步以后,转入对比结果阶段。本阶段主要是进行数据对比,通过调用bash命令diff,将该程序通过测试输入产生的输出临时文件与标准输出答案文件进行对比,并得出正确率。

(8)获取内存资源等情况。通过父进程监控子进程,可以通过wait4函数,获取进程状态和资源占用情况等,判断是否符合题目要求,一旦检测出非法状况,也当作异常处理,转去计算结果。

(9)计算总分并返回。通过将原试卷主观题与客观题分类后,经过两个子进程得到的总分相加,得到本试卷的分数,并将其存入数据库对应试卷的学生id位置。消息队列的交互如图5所示。

3系统实现

本系统采用B/S结构模式,利用Apache服务器、MYSQL数据库和SSH开源框架进行搭建。Apache服务器、MYSQL数据库是开源软件,所以具有更好的稳定性与安全性。SSH即Struts+Spring+Hibernate,利用该体系设计系统,能够为整个系统后期的维护、扩展等提供更多便利,程序的结构脉络更加清晰明了。实际应用结果表明,该系统运行性能良好。

4结语

本项目旨在让目前高校计算机程序设计类课程考试脱离传统纸质考试的限制。平台采用了一种自动组卷算法,能够大大提高组卷效率以及卷面题目构成的合理性,以符合教师的组卷期望。同时,针对程序设计类课程的特点,引入并实现了特殊的自动裁判评分机制。该在线考试系统可大大减轻教师的工作量,在实践中更加有效地考核并提升学生的编码能力。

参考文献:

[1]余颖,李晓昀,左贵启,等.基于自适应遗传算法的自动组卷策略研究[J].南华大学学报:自然科学版,2016(3):61-65.

[2]吕苗苗.基于遗传算法的自动组卷系统的设计与实现[D].南京:南京理工大学,2012.

[3]张琨,杨会菊,宋继红,等.基于遗传算法的自动组卷系统的设计与实现[J].计算机工程与科学,2012(5):178-183.

[4]袁锋.遗传算法在自动组卷系统中的应用[J].山东师范大学学报:自然科学版,2006(1):53-56.

[5]杨志伟,曾艳姗.基于Linux的ACM在线评测系统研究[J].计算机与现代化,2010(6):166-169.

[6]郑传生.基于B/S结构的程序设计竞赛自动测评系统的设计[J].计算机与现代化,2007(12):109-111.

[7]杨呈永.基于B/S结构的大学英语在线考试系统设计与实现[D].成都:电子科技大学,2011.

[8]李佳.《计算机基础》课程上机考试系统的设计与实现[D].成都:电子科技大学,2011.

[9]颜韵.基于B/S模式的单独招生在线考试系统设计与实现[D].成都:电子科技大学,2013.

[10]楼玉萍.基于B/S模式的计算机基础考试系统的研究与实现[D].长沙:国防科学技术大学,2005.

[11]李亦松.在线考试系统分析与设计[D].昆明:云南大学,2012.

[12]李敏.在线考试系统设计与实现[D].济南:山东大学,2013.

[13]刘楠,孙国道,田贤忠.ACM在线评判系统设计与实现[J].计算机时代,2010(2):34-35,38.

[14]赵磊,吴玉培,廖彬.基于ACM/ICPC在线测评系统的设计[J].电脑知识与技术,2013(8):5004-5006.

[15]张良银.浅论C/S和B/S体系结构[J].工程地质计算机应用,2006(4):20-23,28.

[16]陈鹏.在线评判系统的设计和实现[D].南京:东南大学,2015.

[17]余颖,李晓昀,欧阳纯萍.一种SSH框架的在线程序自动评判系统的设计与实现[J].南华大学学报:自然科学版,2012(4):65-68.

数学建模算法与程序范文

关键词:模块化模块整合自主学习考核方案

中图分类号:TP393文献标识码:A文章编号:1672-3791(2017)01(c)-0139-02

近几年来,本着培养适应市场需求的应用型人才目标,学院开展了模块化教学改革,据此数学与物理系对数学与应用数学专业进行了模块化改革工作。大数据时代背景下,数学与应用数学专业(师范类)的学生只是具备和掌握专业的数学知识是远远不够的,必要的计算机操作能力和应用计算机解决数学类问题的能力成为数学专业培养目标的能力要素之一,因此如何合理地设计计算机类课程并整合相关模块成为数学专业模块化改革所需要思考的问题。

1该专业计算机类课程现状与背景分析

数学与物理系开展的模块化教学改革同步于学院模块化教学改革项目,已4年有余。在最初的改革中,通过具体的改革方案,建立健全了该系数学专业模块化人才培养方案和教学体系。针对该专业开设的计算机类课程,结合数学与应用数学的专业性质,建立了《计算机基础及其应用模块I》《计算机基础及其应用模块II》和《计算机基础及其应用模块III》,并根据模块化改革的要求编写了相应模块教学大纲。在模块建立初,计算机类模块主要包括两个模块,一个模块是专业基础模块――《程序设计》,一个是《数据结构与算法》模块,该模块属于专业拓展模块。模块实施后,发现学生对于拓展模块――《数据结构与算法》的学习效果非常不理想。通过多次追踪和分析发现,一方面,由于《数据结构与算法》模块课程内容比较抽象,课程目标是培养学生抽象的逻辑思维能力和创造能力。课程开始时,学生还能掌握课程内容一二,随着内容的深入,大部分学生觉得很难学习下去,这大大削弱了学生学习这门课程的积极性。另一方面,《数据结构与算法》模块是拓展模块,拓展模块是对学生能力的补充和扩展,被学生潜在地当作了选修课。于是针对该课程的关注程度和喜欢程度大大降低,学生们并没有考虑到《数据结构与算法》模块的实际意义和作用,因而学生对该模块课程的重视程度比较低。

2计算机类课程模块整合的必要性

在传统的课程体系中,数学专业开设了《计算机文化基础》《程序设计》和《数据结构与算法》。通过分析,作为数学专业,课程体系中没有通过计算机使用数学软件解决相关数学问题的课程,而《计算机文化基础》作为单独的一模块,开设在大学一年级,显然不能充分完成知、情、能三位一体的教学目标。《程序设计》和《数据结构与算法》模块分布开设在大学二年级上学期和二年级下学期。由于两个模块课程独立教学且分不同学期,对于学生来说无法充分理解两门课程的内在联系。

因此,作为数学专业模块化改革的模块负责人,必须思考如何提高模块化教学的教学质量和水平,如何提高学生学习积极性,这对学生个人能力的培养及发展有着重要的意义。

3计算机类课程模块化的具体实施

3.1《计算机基础及其应用I》模块

3.1.1模块化后的教学内容和学时分配

《计算机文化基础》模块课程在模块化课程体系框架中具体为《计算机基础及其应用I》,该模块在人才培养中处于基础的地位,模块教学由课程教学变成实训,如计算机基础实验,模K内容实施在计算机机房开展。按照培养方案该模块在第二学期完成。同时结合专业特性,模块内容增加了数学软件Matlab基础及应用。该模块课程的任务是使学生了解计算机文化及数学软件的一些基础知识,掌握操作系统使用、文字处理、电子表格、Matlab的使用等。并且通过相应上机实验引导学生自学,培养自学能力;培养合作的能力和方式方法;培养完成项目的能力和方式及正确撰写科技论文的写作能力和方法,课时为48学时。该模块的主要内容为字处理软件Word、电子表格Excel、数学软件Matlab。该模块课程的学量是84学时,其中:理论=24学时,实践24学时,自主学习36学时。

3.1.2模块化后的考试方案

由于该模块课程在机房内完成,因此课程考核以实践考核为主,结合学生自主学习任务,考核方案如表1所示。

3.2《计算机基础及其应用I》模块

3.2.1模块化后的教学内容和学时分配

《程序设计》模块是数学与应用数学专业的专业基础模块,通过该模块的学习,应使学生掌握传统的结构化程序设计的一般方法,以C为语言基础,培养学生严谨的程序设计思想、灵活的思维方式及较强的动手能力,并以此为基础,让学生逐渐掌握复杂软件的设计和开发手段,为后续专业拓展模块――《数据结构与算法》的学习打下扎实的理论和实践基础。

将《程序设计》模块和《数据结构与算法》模块课程内容进行整合,成为新的模块《计算机基础及其应用II》,模块课程教学主要教学内容为程序设计,在此基础上逐渐将算法和数据结构的内容融入到程序设计的教学中,为了满足应用型本科院校教学的需要对教学内容进行了合理筛选和适当的删减。整合后的模块课程总学时为140学时,其中理论56学时,实验24学时,自主学习60学时。

3.2.2模块化后的考试方案

应用型本科院校的培养目标是提高学生的应用能力,模块化后课程考核依然采用该校特有的N+2考核方案,同时增加了自主学习任务,具体考核方案如表2所示。

4结语

该文从数学与应用数学专业(师范类)的计算机类课程入手,在学院模块化改革中,通过模块实践和应用,将模块进行了整合。在后续的教学研究中结合专业能力要素需求,将会适当地引入新兴模块,以此激发学生学习兴趣、提高学生学习积极性,进而夯实学生基本的计算机技术能力,以便学生进一步取得更高、更强的计算机专业技术水平和能力。

参考文献

[1]叶潮流.大学计算机基础案例教程[M].北京:中国水利水电出版社,2014.

[2]柳青,沈明.计算机应用基础[M].北京:高等教育出版社,2011.

[3]谭浩强.C程序设计[M].清华大学出版社,2007.

你会喜欢下面的文章?