基于Matlab平台的水力学教学模式探索论文

时间:2020-08-02 16:59:30 其他类论文 我要投稿

基于Matlab平台的水力学教学模式探索论文

  一、引言

基于Matlab平台的水力学教学模式探索论文

  在水力学这一学科中,会涉及一些复杂的水力计算问题,如非线性高次方程求根问题。这类问题不存在根的解析表达式,普通教材只介绍查图法、图解试算法,过程繁琐,且精度较低。还有一类限于课程学时只能笔算的问题,如明渠非均匀流水面线计算。由于笔算的重复性,学生对此类问题没有兴趣,也没有进一步探究的学习动力。如今这些问题完全可以借助数值计算方法和计算机解决,这需要工程人员具备数值计算和程序编写的双重能力。

  目前多数土木工程专业都开设“数值计算方法”和“计算机程序语言设计”课程。“数值计算方法”以书本教学为主,涉及的数值计算以课后练习为主,基本依靠笔算完成。对于程序设计语言选择问题,由于窗口编程为现代程序语言的主流,土木工程专业盲目追赶这一潮流,设置了VB、VC之类的程序设计课程。因为缺乏指导,学生的兴趣点在于如何创建一个漂亮的对话框,如何应付计算机等级考试。后续课程也没有将这两门课程与土木工程专业紧密结合,学生没有实践的机会,因此这一问题成为土木工程专业的薄弱环节。

  土木工程专业的学生今后需从事工程设计工作,因此学生应具备解决实际工程计算,并根据计算结果分析实际问题的能力。如果能够找到一条“水力学”与这两门课程相结合的教学模式,学生的这种能力必然得到锻炼。

  二、“水力学”的教学改革平台

  VB这类窗口编程语言优势在于强大的软件开发功能,窗口编程过程复杂,提供的函数有限,实现一个简单的计算需花费很大的精力,不适合工程计算。Matlab软件是以矩阵计算为基本运算的语言,其中内置大量的数值计算函数,具有强大的图形功能,编程效率可大大提高,是工程人员实现科学构想的快捷途径。Matlab语法简单,非常灵活,初学者可在较短的时间内掌握。既可以象BASIC一样编写最基本的程序,也可以运用内置函数直接计算。例如可编写一段矩阵求和的程序,也可用求和函数sum直接计算。在Matlab系统中,教师既可授予学生编写程序解决水利计算的方法,也可综合训练学生分析和解决问题的能力,为土木工程领域培养高素质人才。Matlab已成为欧美国家理工科院校的主要教学软件,国内一些院校也开始进行Matlab的教学应用实践,取得了不错的教学效果。因此,Matlab可将“数值计算方法”、“计算机程序语言设计”和“水力学”整合在一起,成为“水力学”课程教学改革的平台。

  三、Matlab应用于“水力学”的教学思想

  (1)内置函数的引入

  向学生介绍内置函数时,不应只限于介绍此函数的代入格式,还应讲授此函数所涉及的算法。简单的函数可以在教师指导下让学生自己查阅“数值计算方法”教材,对于复杂的函数最低标准也应讲清算法的基本思想。只有这样学生在应用内置函数时,才能对计算结果充满信心,出现问题后知道如何处理。学生仅限于用内置函数进行简单计算是违背高等教育理念的,应注重其综合应用能力的培养,让Matlab切实成为学生解决实际工程问题的有效工具。

  (2)计算程序的编写

  以高次非线性方程计算为例,学生只应用fzero函数计算,对以数值方法求解高次非线性方程的过程必然理解不深。在引导学生编写二分法、牛顿迭代法的程序,解决了一些水力计算的高次方程问题后,必然加深了学生的理解。

  (3)不同算法的横向比较

  任何算法均不是万能的,在讲述同一类问题的各种算法时,应明确各种算法的应用范围及性能。学生在解决不同问题时,会自觉地考虑这些因素,选择恰当的算法计算。解决同一问题时,比较选择不同的方法,学生的分析问题能力可得到锻炼。

  (4)挖掘Matlab语言的图形功能

  Matlab语言具有强大的图形功能,例如绘制某一函数的图线,二维数据或三维数据的可视化,这些功能均可成为水力计算的有效工具。

  四、Matlab应用于水力学的教学模式

  目前以教师为主的讲授法仍然是主流的授课方法,片面强调系统的学科知识,均遵循“由浅入深,由表及里”教学思想,教学过程很单一,忽视了学生的问题解决能力和学习策略的培养。学生由于长时间处于接受学习状态,大脑极易疲劳,缺乏发现知识的快乐感,因此对所学课程没有兴趣,对自己的各种潜质,诸如学习能力、问题解决能力和创造能力等,缺乏了解,很难对个人今后的发展充满信心。

  20世纪90年代的建构主义教学理论被誉为“教育心理学的一场革命”。它强调从复杂问题入手,自上而下教学,学生在教师的帮助下发现新知识,这种过程更符合解决实际工程问题的一般模式。这是一个探索与建构的过程,通过大量的协作学习,学生之间可示范正确的思维方式,暴露和挑战彼此的错误观念,因此更容易促进发现和理解复杂的概念和知识,同时帮助学生掌握独立解决问题的技能。Matlab软件解决水力计算问题具有典型的应用特征,因此可尝试把这种教学思想引入。

  结合水力计算的教学实际,笔者使用了一种基于案例教学的“倒叙式”教学方法。教师首先提供综合性较强的案例,它应涵盖教师所要讲授的多种水力计算问题。不是象传统方法一样把各种计算方法首先呈现出来,再通过练习强化训练,而是学生通过分析案例,确定解决目标问题的子问题,设法将这些问题逐一解决。在这一过程中,教师需选择适当的方式讲授案例所涉及的水力计算问题。学生分析案例的过程以小组为单位,要求学生讨论以下内容并记录:(1)待解决的问题是什么?(2)此问题可分解几个子问题或几个分步骤解决?(3)子问题或分步骤又需要哪些资料和策略。(4)所遇问题的实质是什么?如何解决?在这一过程中,教师根据各小组的表现给予效果评价。若采用课堂教学法,“倒叙式”教学方法必然需要很多时间,参考国外的一些成功的教学案例,比如建构主义的经典案例———贾斯珀系列,可通过网络课堂解决。根据教学进程,教师在网络论坛上发布问题,组织学生在网上展开讨论。学生可将教师所设问题的解决方案及时在论坛公布,也能够及时了解问题的解决进程。同时,教师需对讨论结果及时予以反馈和指导,并且灵活安排教学内容。

  五、Matlab解决水力计算的教学实践

  笔者根据我校的教学大纲,编写了下面的教学案例,进行水力计算教学试验。此案例涉及高次非线性方程求根问题和水面线计算问题,整个教学过程都是以学生为主体推进的,体现了前述的教学理念。在进行Matlab解决实际水力计算的教学之前,学生应已具备明渠的基础理论知识和Matlab编程的基础知识。

  [水力计算教学案例]闸门下游为一水平渠道,其后连接另一底坡i=0.03的长渠,但断面形状和尺寸不变。渠道断面均为矩形,底宽b=10m,糙率n=0.025,已知通过流量Q=80m3/s,闸下收缩断面c-c处水深0.68m。水平段长度L=60m,试计算渠道的水面线(闸门至收缩断面cc的水平距离忽略不计)

  引导学生讨论得到下列内容:

  (1)水面线类型与水平渠段的长短有关,因此可确定核心问题是研究渠道长度对水面线的影响。

  (2)需定性绘制水平段和陡渠的水面线,可前提是渠道的临界水深和正常水深需计算得出。

  (3)临界水深和正常水深已知后,分析得出受渠长限制,可能发生3种典型的水面线。

  (4)为确定水面线类型,需判别是否发生水跃,关键问题为c0线是否穿越k-k线至缓流区。

  (5)若发生水跃,需判别水跃的类型(包括临界式水跃、淹没式水跃和远驱式水跃),及相应的水面线构成。

  (6)若不发生水跃,判别是水面线②还是③,计算变坡处的水深是关键。

  在讨论得出内容(1)和(2)学生会联想到“明渠”中介绍的试算法和查表法,这时教师可引入“高次非线性方程求数值解”问题,指导学生课下复习“数值计算方法”中求解高次方程的二分法和牛顿法,要求学生以小组为单位设计计算函数,编写简单的求解高次非线性方程的程序。同时教师要介绍Matlab的内置函数fzero求解高次非线性方程根的方法,并引导学生对三种方法比较。学生解决此问题后,也掌握了一种求解非线性方程根的方法。

  上述6项内容全部得出后,学生很自然会提出水面线的计算问题,程序如何编写。在水力学的'“明渠”中已讲授了计算水面线的分段求和法,因此教师可以“水面线计算”为专题,指导学生复习这部分内容并编写水面线计算程序,达到解决水面线计算的目的。然后学生用自编程序,解决本案例所遇问题。计算结果表明,60m的水平渠段不会发生水跃,则需计算变坡处的水深,判别是②还是③。经讨论学生发现,若已知渠道尺寸、底坡和一端控制水深,求一定长度渠道末端的水深,用分段求和法不能直接求出,用前面讲到的简单函数的求根方法很困难。教师给予提示,将“函数”的外延扩大,指导学生定义一个变坡处水深的函数关系,用二分法求解。

  上述案例将多种水力计算融合在一起,教学过程以学生不断发现的问题推进教学进程,教师不仅指导学生学习相关的水力计算方法,而且促使学生学习解决实际工程问题的一般方法。

  六、教学实践效果

  我院“水力学”课程组配合齐清兰教授主编的“十一五”规划教材《水力学》(编入了Matlab解决水力计算的内容),以网络论坛为辅助手段,进行基于Matlab平台的水力学教学改革实践。由于教学过程新颖,学生始终抱有极大兴趣去发现学习。连续两届本科学生的教学反馈证明这种教学模式是成功的,学生在以下几方面均有不同程度的进步:

  (1)促使学生深入理解水力学的基础理论。对于许多水力学理论,学生由于能够通过程序分析计算,因此可以深入理解其内涵。比如明渠恒定非均匀流水面线计算,通过计算同一渠道多种边界下的水面线,可深入理解同一渠道的多种水面线趋势问题。

  (2)促使学生深入理解数值计算理论。相对于《数值计算方法》课程的纯习题训练的教学效果,通过Matlab平台,将数值计算方法与实际工程的水力计算问题相结合,学生可更深入的理解某些数值计算方法,比如二分法、牛顿法。

  (3)促使学生解决问题的科学思维方式形成。由于Matlab内置函数很多,编程快捷,数值结果可实现可视化,所以学生可分析计算综合性较强的工程问题。在解决问题的过程中,学生解决问题的科学思维方式得到训练。在毕业设计中,学生面对问题,不会象以往一样无所适从,而是按照科学解决问题的一般步骤去分析解决问题。

  (4)促使学生编程能力提高。由于计算机语言课程与本专业的工程问题直接相关,因此明确的目的性与强烈的成就感促使学生积极地编写程序解决实际问题。经过这样的训练后,学生的程序设计能力明显提高。在毕业设计中,学生也会自主地应用Matlab解决所涉及到的科学计算问题。

  七、结语

  (1)Matlab引入水力学教学,可将《数值计算方法》、《水力学》和《程序设计》课程有机地整合在一起,促使学生对三门课程的基础理论深入理解,与此同时,学生应用Matlab解决工程计算的综合能力得到锻炼。

  (2)教学案例可将几类水力计算问题融合在一起,根据教学进程教师分专题展开教学,教学内容更具有针对性。

  (3)“倒叙式”教学过程以学生不断发现的问题推进教学进程,教师仅起辅助指导作用。学生以解决实际问题为目的去学习,整个学习过程是个能动学习的过程。

  (4)案例教学所需的教学过程很长,课堂学时无法实施教学。网络论坛可将课堂教学延伸至课外,起到教学监督和反馈的作用。

【基于Matlab平台的水力学教学模式探索论文】相关文章:

1.高职院校教学模式的探索论文

2.教学模式的探索与实践论文

3.医院药学教学培训模式探索论文

4.职业教育模拟教学模式探索论文

5.“三融三改”教学模式探索论文

6.基于问卷的金融会计实践教学探索的论文

7.专业指导类课程现场教学模式的探索论文

8.基于微信的大学英语听说教学探索论文