MATLAB GUI在土木工程软件界面设计中的应用
2019-10-17谷昕阳河北大学
谷昕阳 河北大学
1 概述
1.1 引言
MATLAB是由美国MathWo rks 公司于1984年发布的、面向科学计算、数据可视化以及交互程序设计的高级计算机语言。MATLAB 软件开发的初衷是方便地进行矩阵运算, 如今的MATLAB 已经把功能延伸到了科学研究和工程应用的诸多领域。同传统的土木工程计算机语言FORTRAN 和C语言相比, MATLAB更具有以下几大优势:
a)功能强大。
b)语言简单。
c)扩充能力强、可开发性强。
d)编程易, 效率高。
1.2 文献综述:
如今,随着matlab应用水平的提高越来越多繁琐重复性的问题可以用GUI设计来解决,随着数字图像技术的发展,现在已经拥有很多成熟的算法,并且许多算法在Matlab中都已经实现并形成了图像处理工具箱,数字图像处理技术将会伴随着未来信息领域技术的发展,更加深入到生产和科研活动中,成为人类生产和生活必不可少的内容。MATLAB 以及MATLAB GUI在土木工程中应用广泛例如以下几种情况:
<1> 在土力学中的应用。可以通过GUI设计来解决三相指标换算,地基承载力计算,地基沉降等问题。
<2> 在结构优化时的应用。由于好的优化设计可以降低造价,采用FORTRAN和C编制优化计算程序相当困难,MATLAB的优化工具箱提供了对各种优化问题的完善解决方案。还能方便的与FORTRAN和C接口。
<3>在混凝土结构仿真中的应用。现已有梁柱截面弯矩—曲率关系GUI程序应用。
<4>在木工程中的结构分析中的应用。
土木工程中的结构分析主要是指结构在静力和动力荷载作用时结构内力和位移的求解问题。
<5> MATLAB GUI 数字图像处理平台
图像在航空航天、生物工程、医药图像、军事公安以及道路交通等领域都有很大的需求。
1.3 问题提出:
根据所查得的文献,并没有发现MATLAB GUI在混凝土构件计算配筋方面的应用
而在钢筋混凝土构建中受压构建的计算配筋尤为繁冗,公式多,计算量大,并且还有许多要查规范的地方,对于土木工作者来说计算起来不方便因此我们小组提出了设计混凝土大偏心受压时的配筋计算的GUI用户界面的想法,通过GUI可大大减小了土木工作者的计算量,也可以为非土木工作者提供一个简单便捷的工作环境,从而可以搭建一个不需要掌握理论背景就可以解决问题的平台。
各部分用MATLAB GUI实现方法如下:
(1)利用MATLAB GUI 实现钢筋混凝土构建受压计算配进需要作如下假设:
1、平截面假定, 即构件变形后的截面仍保持为平面. 根据该假定, 只要知道截面上任意两点的应变值, 便可用线性关系算出其它各点的应变值了。
2、 钢筋的应力一应变关系, 受拉或受压钢筋采用理想弹塑性的应力一应变关系,即:
3、钢筋与混凝土之间粘结可靠, 无相对滑移;
4、忽略剪切变形对梁、柱构件变形的影响.
(2) 原始数据部分, 因要输人的参数较多, 故充分利用MATLAB设计图形用户界面的便易性。
(3) 充分利用MATLAB 函数式文件的简洁性及参数传递的灵活性
(4)程序的可扩充性也非常好, 只通过少量的变动就实现了
1.4 关键技术问题及其解决办法
在设计混凝土构件大偏心受压配筋计算的GUI设计时我们遇到了以下问题:(1)给列表框的选项赋值。
由于本组成员在这方面理论基础比较薄弱,通过老师的讲解和查阅资料,得知想要给下拉框选项赋值需要得到下拉框的value值,然后建立一个向量,将向量的维度等于下拉框选项的个数,再通过向量给value赋值从而实现给下拉框选项赋值。
(2)与计算按钮实现连接的问题。
一开始我们将命令都写在了COOM函数里,用set命令使句柄和句柄之间实现连接,发现实现不了,后来发现是由于需要输出的未知量在公示中互相联系不能独立,因此我们重新编辑了函数文件,在主函数调用函数文件,再给未知量设置句柄,与输出框句柄进行连接,解决与计算按钮实现连接的问题的问题。
2 程序界面及功能
功能:可以通过控制单选按钮(as’是否已知)来切换界面,在每一个界面上的输入框输入相关参数即可在输出框得到准确的配筋情况,以及可以验证配筋率是否合格。通过该GUI界面可以求出钢筋混凝土构件大偏心受压情况下的配筋情况,同时还可以验证配筋率是否合格。
3 结论
本文通过具体的MATLAB GUI 界面应用实例的描述, 对用MATLAB进行结构计算机仿真进行了尝试, 通过不断的学习探索解决了一系列遇到的问题,在该过程中逐渐熟练掌握了MATLAB GUI的设计方法,也煅炼了自己的编程能力。通过小组协调合作,高效完成GUI设计,也为今后的专业问题找到了一条新的思路,对于复杂繁冗重复性的问题可以通过编程并且设置成可视化界面来解决。并且从该案例的实现可以看出MATLAB GUI在土木工程中的应用是很广泛的,具有很高的可行性。