2011-2012学年的计算机辅助分析的课程设计。
笔者花了好几个星期的课余时间,将其初略的完成了。这段时间里可以说是现学现用,因为笔者所学的Matlab课程中没有设计到GUI的相关内容。正是如此,整个设计中难免会有差错,或者说是理解不深的地方。还是希望那些要借鉴此设计的朋友甄选辨别一下,再做决定。整个设计尚不完善,还在进一步的修改中。
今笔者将其上传。本来有个源文档,很是占页数。因为里面程序较多。笔者想了一下,大无上传的必要。这些程序就算复制下来,也不能单独运行,传上来反而增加大家阅读的负担。
所以将打印稿传至百度文库,供大家参考。
课程名称:计算机辅助分析
设计题目: 基于GUI的误差分析
院 系: 电气工程系
专 业: 电子信息工程
年 级: 2010 级
姓 名: XXX
学 号: XXXX
指导教师: XXXX
西南交通大学峨眉校区
2011年12月16日
第一章摘 要
关于GUI(Graphical User Interface)
图形用户界面,是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。
Matlab整个系统中集成了大量的GUI函数,这些函数与Matlab本身兼容良好,调用极为方便。同时,用户亦可通过编程创建新的GUI函数,这样大大拓展了Matlab的GUI的创造力。
Matlab的工程师们为了用户编程方便提供了一个简便易用的GUI工具,GUIDE(向导)。GUIDE本身就是一个GUI程序,用于帮助用户直观快速的生成控件的基本代码。每当用户向GUIDE界面增添控件后,点击运行,便可自动生成与控件相关的程序,减少不必要的书写。这样使每个初学GUI的朋友快速上手!
本次课程设计,笔者是依靠GUIDE来完成窗口函数的建立的。
程序功能简介
此次编写的程序功能简单,主要针对一维数据,对它们求和、求均值、求A类不确定度、B类不确定度、直接合成不确定度以及间接测量合成不确定度。
用户输入数据时,会根据这些数据绘制原始数据的直角坐标连线图,方便查看数据的变化趋势。
用户可以从Excel表格中导入数据,进行相应的计算;也可以将计算好的数据以表格的形式输出到Excel文件中。计算过程中会产生各种量的更替,这些更替可以保存到*.datM文件中,在下次进行计算时可直接导入。如果不需要数据可以先将此状态文件导入,再输入数据或者导入数据,这样先前*.datM中的数据将被覆盖,但是相应的设置未变。
处理关系复杂的数据时可以将计算分成多个部分,依次处理。
数据输入或计算好后可以进行简单的绘图。
程序特点(架构):
现阶段所完成的程序是一个底层,后续的设计将会在这个底层基础上建立模型及库文件,这些模型或库可以描述各种各样数据结构的表格。这样只需花少量的人力和时间,在文本文档中用易懂的语言描述表格的特征,导入软件就可以实现对这类表格的数据处理。
关键词: GUI 误差分析 Excel表格 状态导出 状态载入 绘图 模型 库
第二章想法的提出
笔者向来热爱物理,更喜欢动手实验。来到大学之前,一直认为大学将给每个学子以一个更为开放和自由的环境。可是让人失望的是依旧有许许多多的无奈。
而这种种无可奈何中,又以实验最为让人无奈。我本无心于对制度指指点点,又提不出任何有建设性的方案。但对于实验,我确实极为不满,不得不抱怨一下。
实验目的是在于发掘事物间的规律。实验可以发现一些问题,透过这些问题,我们或可发现规律,或可检验理论,或可掌握知识,或可培养兴趣。而笔者现在所做过的那么多的大学实验(电路,物理,模电),没有哪个是完完全全的投入精神和时间去完成的!倒是在平日的时间里,笔者自己用有限的材料和器材完成的探索和实验让笔者兴趣百倍,记忆深刻。平时的实验冲忙而又浮躁,还有各种制约。要那样要这样,不要那样不要这样,必须写实验报告,必须计算结果,必须是这个结果,不准迟到,不准乱动仪器……
实验早就成为了一种负担,笔者大部分的可用课余时间都被满纸的实验报告占据,有时还为实验数据(结果)处理焦头烂额。这种情况不仅仅是出现在笔者一个人身上。我们大家都不得不去做那些得花一个小时抄报告还弄不清楚上边是什意思的实验。用身边朋友调侃的话来说,不是每个人都有这样历经高考磨难,交了钱来做这种实验的机会,我们该庆
幸啊!
在这种情况下,笔者果断地将Matlab的大作业定为了——误差分析与数据处理。主要还是因为这个课程设计若完成,在笔者一直没有鼓起勇气逃离制度的情况下,还是非常有用的,至少处理数字型的实验可以派上用场。二来,能在误差分析方面更深入了解一些,这些知识在今后的工程工作中大有用处。
这个课题大的方面就已经确定好了。细想一下,只做误差分析和数据处理好像内容过于单调。加之,要是做一个完完全全依赖于Matlab的程序,这样也不太好用。如果将这个程序放在一个独立的界面上运行的话,就可以称之为一个小型的简易数据处理软件,这样既便于使用,也更加独立,通用性更强。于是笔者将题目定为了“基于GUI的误差分析和数据处理”。除此之外,还有个原因,笔者确实对面向对象的编程饶有兴趣,希望能够到机会学习,而现在机会来了!
课程设计由此展开,到后来这个程序的复杂程度渐渐增大,时间又紧迫,一方面课程设计需要在第十六周之前完成;另一方面,期末已至,这学期笔者花在课外的时间较多,预习兼复习的任务艰巨。所以在只勉强完成了“误差分析”的功能后,没有更多的时间去完成更
多的功能。若以后能腾出时间,必要好好将程序完善。
第三章
相关设想
相关设想
程序及界面(不设置运行数据模型):
Excel表格文件:读入和保存为表格文件; 界面美化:窗口背景,按钮图标;
多窗口:依靠主窗口可产生其他副窗口; 工具栏:有一些快捷的工具按钮
提示音:错误时有提示声音; 数据自动保存
不改变已知表格的数据 数据校检(可略)
界面输入数据 图像输出和保存
数据模型:
考虑单位变换 求和、求均值、A类不确定度、B类不确定度
如何用matlab将已知点连线设置最为基本的模型结构,在无加载模型的情况下使用
该模型下的文件输出,输出工作状态和计算结果
库(写出基本库:密立根油滴和偏振光研究,电阻、电压、电流关系等) 模型
B类不确定度的置信因子:正态分布、均匀分布和三角分布
A类不确定度的扩展倍数(设置初始值1(不能为空))
计算A类不确定度 计算B类不确定度 计算直接合成不确定度
计算间接测量合成不确定度 区分表达式的属性(加减还是乘除)
计算函数关系 计算相对误差 将计算好的结果覆盖到源数据所在位置
其他细节:
完善帮助文档、完善错误提示、优化窗口结构、光标的指示说明
注:红标注的表示尚未实现的功能或想法,其他的都是或多或少完成了的。
2011-12-14
第四章需要解决的问题:
1程序功能方面
什么是面向对象?什么是GUI? Matlab的GUI怎么用?怎么学习Matlab的GUI?
应该用怎样的结构来描述尽可能多的表格,和表格中数据的计算?(程序设计的核心)
怎么控制程序获得对象数据的起始和终结地址?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论