借助Matlab-GUI的弹性力学教学实践

Matlab是由Math Works公司于1984年推出的一套数值计算软件,它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以快捷而准确的解决问题。和很多高级编程语言一样。Matlab也有图形用户界面开发环境,称为GUI,即Graphical User Interface,是由窗口、菜单、图形、光标、按键、对话框和文本等各种图形对象组成的用户界面。GUI可以允许用户定制与Matlab的交互方式,通过鼠标或键盘选择、激活这些图形对象,直观的达到用户的求解、分析目的。

 

在弹性力学的学习中,数学推导求解较为繁琐,学生容易在学习中产生畏难情绪,影响学习效果。考虑到Matlab-GUI具有编程简单、界面友好等特点,开发弹性力学的推导、求解界面,将一部分数学推导工作交给计算机完成,学生可以集中精力加强对原理和数学逻辑的理解,这样可在一定程度上降低弹性力学的学习难度。本文正是基于这一目标开展的教学实践,以下先介绍Matlab-GUI设计环节,然后再通过一个例题展示其计算结果。

01 问题规划及Matlab-GUI的界面设计

本节将采用应力函数法求解一个受任意载荷的简支梁模型。对于均布载荷作用下的简支梁,多项式应力函数可得到完整的弹性解,然而,对于复杂载荷,甚至是不连续载荷问题,就需要用三角级数表示的应力函数来求解,该应力函数中待定参数较多,求解过程繁琐,大多数教材中只提出该方法,不对其例题演示。基于MATLAB-GUI编程设计三角级数应力函数的求解界面,可以使学生从繁琐的数学推导和求解中解脱出来,重点理解三角级数应力函数法求解思路与过程,这对于培养学生实践能力具有积极的示范作用。

 

在进行Matlab-GUI编程时,要根据“人-机”交互功能,规划好输入、输出参数和输出结果,首先对问题进行分析规划,确定问题中的各项参数,包括基本输入常量,求解过程中所产生的变量以及核心算法,绘制流程如图1所示

借助Matlab-GUI的弹性力学教学实践的图1

图1

其次,将各种控件在设计区域内进行布局设计,主要包括基本输入参数以及所需显示的输出结果。本软件考虑一简支梁在上、下表面受任意载荷情况,需要输入梁的基本参数、载荷参数、材料参数等,为此设置相应的控件,完成控件的布局,并设置求解过程中的功能按钮,在控件布局中注意保证界面的简洁性与美观性。可参考图2所示界面

借助Matlab-GUI的弹性力学教学实践的图2

图2

利用菜单可设计多窗口以完成不同的功能,菜单主要包括文件操作(文件打开、保存、清除和退出),求解(可跟踪求解过程),以及结果分析(包括结果的可视化、最大值分析、项数分析和生成报告),窗口和帮助(可查看基本理论和软件使用方法)五项,如图2和图3所示。

 

对界面控件进行布局设计之后,控件还不具备计算、分析功能。需要对每一个控件进行Matlab编程,要将Matlab程序代码放在相应的控件代码下,这样各控件就具备了计算、分析功能。

 

另外,形象地展示求解结果是Matlab程序设计的优点,利用图形输出可以将分析结果可视化,使弹性力学问题中复杂繁琐的数学公式能够转变为图形结果,有利于提高学生的学习兴趣。如图3所示,将在结果中以图形方式展示应力结果和误差分析结果。

借助Matlab-GUI的弹性力学教学实践的图3

图3

运行设计好的程序,用户可依照以下使用流程进行分析:

  • 打开程序主界面,输入简支梁的基本参数,包括简支梁的高度h,跨度l,及其材料的弹性模量E与泊松比,并输入加载的非均布载荷的函数形式;

  • 点击求解菜单转入求解界面,输入项数,根据操作按钮区的内容进行相容方程的判断,系数求解等系列操作;

  • 点击结果分析菜单,选择图形分析,转入图形分析界面,通过选择不同种类的图形可以分别得到应力分析图形与应变分析图形;

  • 选择项数分析可以转入项数分析界面,进行项数分析以及简支梁内某一点的应力状态的数值观测;

  • 选择最大值分析可以观察简支梁内应力的最大值及其相应位置。如有疑惑,用户可以点击主界面的帮助菜单,打开帮助界面查看相应步骤的帮助。

 

通过自主完成编写弹性力学求解系统,学生可以形成对弹性力学基本概念、求解思路的自我归类和主动学习,对于弹性力学涉及到的相关理论形成更加深刻的理解,提高学习效率。以下将通过一个例题来展示基于Matlab-GUI编程技术分析三角级数作为应力函数的弹性力学求解问题。

02  三角级数应力函数法求解举例

借助Matlab-GUI的弹性力学教学实践的图4

图4

依据上一节中的步骤输入参数,并进行求解。观察x=90mm截面上应力分布,如图5所示。该曲线表示在x=90 mm的截面上,应力分量随简支梁高度的变化。

借助Matlab-GUI的弹性力学教学实践的图5

图5

借助Matlab-GUI的弹性力学教学实践的图6

借助Matlab-GUI的弹性力学教学实践的图7

图6

借助Matlab-GUI的弹性力学教学实践的图8

借助Matlab-GUI的弹性力学教学实践的图9图7


总结 

结合Matlab-GUI编程学习弹性力学,以图形方式展示求解结果,可以在一定程度上减小弹性力学问题求解的繁琐过程。同时,学生在自主完成编写弹性力学求解系统的过程中,可形成对弹性力学基本概念、求解思路,以及程序逻辑的主动学习,在一定程度上提高学习效率和实践能力。

来源:力学酒吧

作者:张伟伟

MATLAB

借助Matlab-GUI的弹性力学教学实践的评论2条

  • Jacklee1234
    0
    非常喜欢这种教学方式
  • yahn
    0
    能否分享一下源代码学习一下,谢谢

借助Matlab-GUI的弹性力学教学实践的相关案例教程

Matlab是由Math Works公司于1984年推出的一套数值计算软件,它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以快捷而准确的解决问题。和很多高级编程语言一样。Matlab也有图形用户界面开发环境,称为GUI,即Graphical User Interface,是由窗口、菜单、图形、光标、按键、对话框和文本等各种图形对象组成的用户界面。GUI可以允许
MATLAB GUI界面实现图像二值化处理的实时显示 参考彭军大神的《一个实例搞定MATLAB界面编程》——matlab-gui界面编程入门教程 GUI界面是采用一个滑块来调整彩色变黑白的程度。 界面主要包含两个函数,一个主函数untitled,另外一个通过滑块即时控制二值化的函数im2bw_args,在主函数中主要需要设置当点击“打开”时的反应 读取路径下的图片,这里面使用uigetfile函数
基于matlab的日历GUI制作,可实时显示当前的日期和时间,精确到秒。非常漂亮,也很基础,学习GUI的不错程序,程序已调通,可直接运行。
基于matlab的蚁群算法路径寻优的GUI实例程序代码,通过MATLAB GUI框架编写,生动形象逼真, 很好的诠释了蚁群算法的原理。可主动输入优化方法的参数,包括地图和测试数据,可输出路径结果。程序已调通,可直接运行。
基于matlab的凸轮机构GUI界面 , 凸轮设计与仿真 绘制不同的凸轮轮廓曲线 ,凸轮机构运动参数包括推程运动角,回程运动角,远休止角,近休止角。运动方式,运动规律。运动仿真过程可视化。内容齐全详尽。用GUI打开mycam就可以了。程序已调通,可直接运行。
影响力
粉丝
内容
获赞
收藏
    项目客服
    培训客服
    2 0