Matlab-基于GUI的误差分析与数据处理
基于MATLAB在误差处理中的应用毕业设计(含源文件)

毕业论文任务书一、毕业论文题目 MATLAB在误差理论中的应用二、毕业论文工作自______ ___年____ _月___ __日起至____ _____年月_____日止三、毕业论文进行地点:四、毕业论文内容要求:传统的数据处理方法基于数理统计的理论,计算量较大,数据繁多。
MATLAB程序语言是一种高性能的数值计算软件,将二者结合起来,研究MATLAB程序语言在误差处理中的应用,研究MATLAB程序语言在误差处理中的优点,设计一个误差处理中粗大误差的自动判断,在线剔除,随机误差的数据处理,试验结果的自动生成,回归方程的快速建立的实用型软件。
基于以上过程要求,提出以下毕业论文内容要求:1.查找、搜集、整理、研究MATLAB程序语言的相关文献资料,结合目前误差理论与数据处理在实际使用中存在的问题,提出设计方案。
2.学习MATLAB程序语言,熟悉其各项功能。
进而查阅相关资料,获取目前MATLAB技术在误差数据处理中应用的情况,提出设计方法。
3.设计完成误差处理中粗大误差的自动判断,在线剔除,随机误差的数据处理,试验结果的自动生成的实用型软件,给出源程序,评价其优缺点。
4.完成“MATLAB在误差理论中的应用”论文撰写。
5.完成一篇相关外文文献翻译(要求4000字以上)。
指导教师系(教研室)系(教研室)主任签名批准日期接受论文任务开始执行日期学生签名MATLAB在误差理论中的应用[摘要]利用MATLAB辅助教学手段,传统误差数据处理要花费很长时间才能完成的处理仅仅几秒钟就可以得出其结果,且非常直观。
这在实际误差数据处理中具有很高的使用价值,可以节约大量的时间,达到事半功倍的效果。
另外,通过MATLAB强大的图形功能以及GUI界面,不仅能方便地将数据图形化,还可以在误差处理的应用中创造一个良好的人机界面。
因此,MATLAB在误差理论中的应用是一个非常值得研究的问题。
[关键词]MATLAB GUI 误差数据处理人机界面Application of MATLAB in Error TheoryMA KUI(Grade 08, Class 02,Major measurement control technology and instruments,School Mechanical,ShaanxiUniversity of Technology,Hanzhong,723003,Shaanxi)tutor: JING MINAbstract:The traditional error data processing always takes quite a long time to complete ,but using MATLAB auxiliary teaching method the processing will only take a few seconds to get the results and it’s very intuitive. In this paper ,the error data processing is with high value, and it can save a lot of time to achieve a multiplier effection. In addition, through the powerful graphics capabilities of MATLAB and GUI interface, graphical data can not only conveniently be got, but also for the error data processing application to create a good man-machine interface. Therefore, the application for the MATLAB in the error theory is absolutely worth researching.Key words:MATLAB,GUI,error,data processing, man-machine interface目录1.绪论 (1)1.1研究误差的意义 (1)1.2 误差的基本概念 (1)1.2.1 误差的定义及表示法 (1)1.2.2 误差来源 (3)1.2.3 误差分类 (4)1.3 MATLAB软件介绍 (5)1.3.1 MATLAB软件的基本特点 (5)1.3.2 MATLAB桌面平台 (5)1.3.3 MATLAB标点的含义 (5)1.3.4 MATLAB文件的类型 (6)1.4 本文主要研究意义及内容 (7)2. 误差的基本性质与处理 (9)2.1 随机误差 (9)2.1.1 随机误差的产生原因 (9)2.1.2 正态分布 (9)2.1.3 算术平均值 (11)2.1.4 测量的标准差 (12)2.1.5 测量的极限误差 (17)2.2 系统误差 (19)2.2.1 系统误差产生的原因 (19)2.2.2 系统误差的分类和特征 (19)2.2.3 系统误差的发现方法 (20)2.2.4 系统误差的减小和消除 (22)2.3 粗大误差 (24)2.3.1 粗大误差产生的原因 (24)2.3.2 判别粗大误差的准则 (24)2.3.3 粗大误差判别方法比较 (26)3.MATLAB在误差处理中的程序设计 (27)3.1 随机误差的处理程序设计 (27)3.2 系统误差的程序设计 (27)3.2.1 线性系统误差的程序设计 (27)3.2.2 周期性系统误差的程序设计 (28)3.3 粗大误差程序的设计 (28)3.3.1 3σ法判断粗大误差程序设计 (28)3.3.2 罗曼诺夫斯基准则判断粗大误差程序设计 (29)3.3.3 格罗布斯准则判断粗大误差 (30)3.3.4 根据测量个数自动对测量数据进行判断的程序设计: (31)4. MATLAB GUI介绍 (33)4.1 GUI控件对象及其属性 (33)4.2 GUI开发环境 (36)4.3 GUI程序设计步骤 (38)5.MATLAB在误差处理中的GUI设计 (39)5.1 程序功能设计 (39)5.2 程序界面设计 (39)5.2.1 界面控件对象布置设计 (39)5.2.2界面控件的属性设置 (41)5.2.3 界面美化 (41)5.3 控件代码程序设计 (43)5.3.1 openingFcn程序设计 (43)5.3.2 “选取文件”按钮的回调函数设计 (44)5.3.3 “粗大误差方法选取”案板的选择函数程序代码设计 (48)5.3.4 “开始计算”按钮的回调函数程序代码 (50)5.3.5 下拉菜单的绘图选项的选取函数代码程序设计 (51)5.3.6 “绘图”按钮的回调函数代码程序设计 (52)5.3.7 对翻页按钮进行回调函数代码程序设计 (53)5.3.8 “剔除粗大误差”按钮的回调函数代码程序设计 (54)5.3.9 “退出”按钮的回调函数 (56)5.4 GUI界面的程序测试 (57)5.5 GUI转换成为可独立运行的exe文件 (64)总结 (67)致谢 (68)参考文献 (69)外文原文及翻译附录A附录B1.绪论1.1研究误差的意义人类为了认识自然与遵循其发展规律用于自然,需要不断地堆自然界的各种现象进行测量和研究。
基于MATLABGUI的加工误差的统计分析系统

1 零 件 加 工误 差统 计 分 析 理 论
加工 误 差 的统 计 分析 通 常 包括 两 种 方法 , 即分 布 图分析 法和 X— R 图分析 法[ . 】
1 1 分 布图分 析 法 .
制 线 ;) 4 确定 工序能 力 和工序 等级 . 在 .— R 图上标 出 中线 和上 下 控 制线 , 据 图 z 根 中点 的波动是 否异 常 来 判 别 工艺 过 程 是 否稳 定 . 所 谓 正常 波 的要 求有 : ) 有点 超 出控 制 线 ; ) 1没 2 大部分 点 在 中线上下 波动 , 小部 分在 控制 线附 近 ; ) 3 点没有 明显 的规 律性 . 采用 z—R 图 , 以有效 判断工 艺过 可 程 的稳 定性 .
分布 图分 析法 可 以得 出的 结论 : ) 1 以工件 尺 寸 为横 坐标 , 以频 率 密度 为 纵 坐 标 , 计样 本 容 量 , 统 选 择合 适 的组数 和组 距 , 终 得 出该 批 零 件 加 工尺 寸 最
的实 验 分 布 图 ; ) 算 出 该 样 本 的 统 计 数 字 特 2计 征一 平 均值 z和标准差 ; ) 出理论 分 布曲线 , 一 3得 因为相互 独立 的大 量微 小 随机 变 量 , 总 和 的分 布 其 总 是符 合正 态分布 的 ; )根据 ± 3 则 , 定 正态 4 原 确
进行 直 方 图及 理论 正态 分 布线 分 析 , 以判 断 可 整批 工件 的加工 精度 , 并估 算 出产 品不 合格 率. 分布
图 分析法 只能判 别 加 工误 差 性 质 , 定 工序 能 力 及 确
很 难 用单 因素进 行计 算 分 析 , 须 通 过对 加 工 出 来 必
的一批 零件 进行 检查 测 量 , 用 数 理 统计 的方 法 加 运
基于MATLAB的误差数据处理实验报告

结果:
X=
l 1 1.0280 x1 1.015 0.9830 ˆ 1 X l 2 0.985 x2 ( A A) A L l 3 1.0130 1.020 x3 L 5. 一元线性回归分析 l 2 . 016 4 l 1.981 6 5 3.032 l 6
误差理论与数据处理 实验报告
班 学 姓
级 号 名
测控 10-1 13 刘英皓 庄 严
指导老师
2012 年 7 月 5 日
测控 10-3
刘英皓
前言
门捷列夫说:“科学是从测量开始的” 钱学森说:“新技术革命的关键技术是信息技术。信息技术由测量技术、计 算机技术、通讯技术三部分组成。测量技术是关键和基础”。 测量技术是新科技革命的关键部分,科学技术的发展与实验测量密切相关。 在进行实验测量时,产生误差是不可避免的。因此,必须借助误差理论,研究、 估计和判断测量的数据和结果是否精确可靠,并采用正确的数据处理方法,以提 高测量结果的精确程度。 误差理论是我们认识客观规律的有力工具,是工程学科 学生应该掌握的基础知识 。 但是与此同时, 误差理论具有较为繁复的数据处理量, 有时候面对这些数据, 我们也无能为力,习惯采用经验估计去解决现实问题。毋庸置疑,这样做,引入 的误差必然相当大。 MATLB 具有强大的数据处理能力,若是借助 MATLB 处理那些难以处理的 数据,既可以节约时间,又可以提高精确度。本实验的主旨,就是通过使用 MATLAB 处理数据,让我们体会计算机辅助处理数据优点,让我们更直接,更 直观观察结果。
1
测控 10-3
ቤተ መጻሕፍቲ ባይዱ
刘英皓
实验目的:利用
基于MATLABGUI实现随机信号的分析与处理

Abstract: Using MATLAB GUI as software development platform, designs the system of random signal analysis and processing is designed. The system is based upon the basic theory and methods of random signal analysis , analyzes their correlation and power spectral density, masters the spectrum of both useful signal and noise signal, designs the FIR digital filter to remove the noise and extract the useful signal, so effectively completes the random signal denoising. The system is elegant in interface design, easy and simple in functional design and convenient to further expansion. The experiment shows that the system has achieved the random signal analysis and processing better. Key words: random signal analysis ; signal processing ; MATLAB GUI ; FIR digital filter
1-Σai z-i
(精品word)MATLAB在测量误差分析中的应用

MATLAB在测量误差分析中的应用在技术测量中,按照误差的特点与性质,误差可分为:系统误差,粗大误差和随机误差。
在假定不含有系统误差的情况下,可借助MATLAB对测量数据进行处理,使处理过程快速、结果可靠。
处理测量数据的处理过程如下:(1)按测量的先后顺序记录下个测量值X;i(2)计算算术平均值X;(3)计算残余误差h;(4)校核算术平均值及残余误差V;i(5)判断是否有粗大误差,若有,剔除;(6)计算单次测量的标准差;(7)计算算术平均值的标准差:(8)计算算术平均值的极限误差;(9)列出测量结果。
误差处理时常用的MATLAB函数其算法流程图如下:例:现对某被测量进行20次测量,得到测量序列x,其中第1个数为粗大误差,需运用莱以特准则将其剔除,再对数据进行分析计算,具体程序如下:close allclearclcx= [28.0057 24。
9974 24。
9962 24.9970 24。
9852 24。
9977 25.0012 25。
0031 25。
0144 24。
9965 25.0062 25。
0080 25。
0094 24.9901 25.0021 25。
0024 24。
9899 24。
9926 25.0108 24.9987]; %含有粗大误差的测量值序列aver=mean(x) % 求该序列的平均值v=x-aver; %测量值的剩余误差s=std(x)%测量值的标准差n=length (x); %剔除粗大误差for i=1:nif (abs((x(i)-aver))-3*s) 〉0fprintf('\n’)fprintf(’%ÓдִóÎó²î: ',x(i))x(i)=0;elsecontinueendendx1=x(x~=0) %剔除粗大误差的新测量值序列n1=length(x1);aver1=mean(x1);%新序列的平均值h1=std(x1);aver1 %测量值的最佳近似值s1=h1/sqrt(n1) %算术平均值的标准差运行结果:aver = 25。
基于MATLAB GUI的声速测量实验仿真及数据处理

第32卷第4期大学物理实验Vol.32No.42019年8月PHYSICALEXPERIMENTOFCOLLEGEAug.2019收稿日期:2019 ̄03 ̄25基金项目:国家自然科学基金青年项目(61405152)ꎻ西安建筑科技大学青年基金(6040500724)ꎻ西安建筑科技大学人才基金(6040300486)文章编号:1007 ̄2934(2019)04 ̄0079 ̄05基于MATLABGUI的声速测量实验仿真及数据处理郝劲波ꎬ徐仰彬ꎬ武㊀戈ꎬ王凯君(西安建筑科技大学理学院ꎬ陕西西安㊀710055)摘要:提出一种基于MATLAB软件的空气中声速测量实验仿真及测量数据自动处理系统ꎮ该系统以声波在空气中传播时的波动特性为基础ꎬ应用MATLABGUI构建了测量过程动态仿真系统和数据处理系统ꎬ实现了相位法和双踪法测量过程的动态仿真ꎬ以及四种不同测量方法测量数据和不确定度的自动计算ꎬ得到了完整的实验结果ꎮ关键词:声速测量ꎻMATLABGUIꎻ图形界面ꎻ不确定度中图分类号:O4 ̄39文献标志码:ADOI:10.14139/j.cnki.cn22 ̄1228.2019.04.022㊀㊀声波是一种在弹性媒质中传播的机械波ꎬ对诸如频率㊁波长㊁波速㊁声压衰减㊁相位等声波特征量的测量是声学技术的重要内容ꎬ在声波定位㊁测距和探伤等领域ꎬ声速的测量有着非常重要的意义[1]ꎮ测量声速的常用方法有两种ꎬ一种是根据υ=Ltꎬ测出声波传播的距离L和时间间隔tꎬ算出声速ꎬ我们称之为时差法[2]ꎻ另一种是按照波动理论υ=fλꎬ利用驻波法㊁相位法和双踪法等方法测量波长λꎬ利用信号源测出声波的频率fꎬ从而得到声速的大小[3 ̄5]ꎮ为提高声速测量结果的精确性ꎬ需要对测量数据进行计算处理ꎬ分析测量结果的不确定度ꎬ包括A类不确定度和B类不确定度[6 ̄9]ꎮ由于声速测量实验的测量数据通常较多ꎬ而且测量不确定度的计算过程比较复杂ꎬ使得数据处理计算量大ꎬ若利用手工运算ꎬ则繁琐而耗时ꎬ且误差较大ꎮMATLAB软件具有强大的计算功能和绘图功能ꎬ通过GUI可以设计一个人机友好的交互图形界面程序ꎬ可以将实验原理利用动态图形直观的呈现出来[10 ̄12]ꎬ数据处理结果快速㊁准确的显示出来ꎬ能够加深实验原理的理解ꎬ更高效地完成声速测量数据处理[13 ̄14]ꎮ1㊀空气中声速测量原理空气中声速测量实验使用的仪器主要有信号源㊁示波器和主要部件为超声压电换能器的超声波声速测量仪ꎬ实验装置如图1所示ꎮ图1 实验装置示意图1.1㊀驻波法驻波法是利用超声波在发射换能器和接收换能器之间发生干涉ꎬ形成驻波来进行声速测量的ꎮ设发射换能器所发射的平面超声波方程为y1=Aicosωt-2πλxæèçöø÷(1)接收换能器的接收面对部分入射波发生反射ꎬ反射波方程为y2=Arcos(ωt+2πλx)(Ar<Ai)(2)当发射面与接收面平行时ꎬ在发射面与接收面之间某点的合振动方程为:y=y1+y2=A(x)sinωt+α(x)ωéëêêùûúú(3)其中A(x)=A2i+A2r+2AiArcos4πλxꎬα(x)=tan-1Ai+ArAi-Arcot2πλxéëêêùûúúꎮ此时可在示波器上观察到驻波波形ꎮ根据波的干涉理论可知ꎬ在x=(2n+1)λ4的位置ꎬ声波振幅最小ꎬ称为波节ꎮ由于声波是疏密波ꎬ所以当接收器端面按振动位移来说处于波节时ꎬ则按声压来说处于波腹ꎬ这时接收换能器受到的声压最大ꎬ经转换的电信号在示波器上显示的幅度也就最大ꎮ在测量过程中ꎬ连续改变两个换能器之间的距离ꎬ示波器上就会显示出信号幅度的变化ꎬ对应相邻峰的接收换能器的位置之间的距离即为λ2ꎬ其位置可由声速测定仪上的游标卡尺测出ꎮ1.2㊀相位法设发射换能器位于x1处ꎬ接收换能器位于x2处ꎬ则发射换能器所发射的平面超声波方程为x=Aicos(ωt-2πλx1)(4)接收换能器接收到的平面波为y=Arcos(ωt-2πλx2)(5)如果固定发射面ꎬ那么相位差随x2的改变呈周期性变化ꎮ当x2-x1改变一个波长时ꎬ相位差正好改变一个周期ꎬ因此ꎬ准确测量相位变化一个周期时接收换能器移动的距离ꎬ即可得出声波的波长ꎮ测量过程中ꎬ将两个信号分别输入示波器的X轴和Y轴做垂直方向的叠加ꎬ示波器上显示合成的李萨如图形ꎬ其合振动的方程为x2A2i+y2A2r-2xyAiArcos2πλ(x2-x1)=sin22πλ(x2-x1)(6)当x2-x1一定时ꎬ所合成的轨迹即确定ꎬx2-x1每增加一个波长的值ꎬ相同的图形即再次出现ꎬ对应相邻两个相同图形ꎬ接收换能器的位置之间的距离即为λꎮ1.3㊀双踪法双踪法的基本原理为比较两个换能器信号的相位ꎮ将发射信号与接收信号分别输入示波器ꎬ同时显示两个信号的波型ꎬ以发射换能器的信号为相位基准信号ꎬ即可观测出两个信号的相位差ꎮ测量过程中ꎬ单向连续移动接收换能器ꎬ在示波器上可观测到发射换能器信号波形保持不变ꎬ接收换能器信号的幅度㊁相位呈周期性变化(表现为波形向变动方向蠕动)ꎬ并出现接收换能器信号与发射换能器信号的波形周期性的重合现象ꎬ对应相邻两次重合图形ꎬ接收换能器的位置之间的距离即为λꎮ1.4㊀时差法时差法是根据υ=Lt来测量声速的ꎮ利用信号源发出脉冲波ꎬ经由发射换能器发射ꎬ由接收换能器接收并传输回信号源ꎬ利用其中的高精度计时电路读出信号在空气中传播所用的时间ꎬ用游标卡尺读出两个换能器之间的距离ꎬ即可计算出声速ꎮ1.5㊀空气中声速测量实验的不确定度分析声速测量实验的测量不确定度包括A类不确定度和B类不确定度ꎮA类不确定度反映各测量值Δxi的离散程度ꎬ可通过式(8)进行计算Δx=ðni=1Δxin(7)SΔx=ðni=1(Δxi-Δx)2n(n-1)(8)在驻波法测量过程中ꎬλ2=Δxnꎬ在相位法和双踪法测量过程中则为λ=ΔxnꎮB类不确定度为仪器误差限标准不确定度ujuj=Δins3(9)其中Δins为游标卡尺的仪器误差限ꎮ测量的合成不确定度㊀uΔx=S2Δx+u2j(10)EΔx=uΔxΔxˑ100%(11)根据误差传递公式Ev=EΔx声速的不确定度为uv=Ev v(12)2㊀图形用户界面设计利用MATLABGUI设计的声速测量实验仿08基于MATLABGUI的声速测量实验仿真及数据处理真及测量数据自动处理系统ꎬ系统主界面如图2所示ꎬ系统设计流程如图3所示ꎬ系统结构如图4所示ꎮ图2㊀系统主界面图图3㊀系统设计流程图图4㊀系统设计结构图该系统有实验过程仿真和实验数据处理两个界面ꎮ在数据处理界面ꎬ可以通过下拉菜单进行不同测量方法之间的切换ꎬ系统界面和界面内容也可以通过get()和close()函数进行扩展ꎮ2.1㊀实验过程仿真界面实验过程仿真界面包括入射波与反射波波形显示㊁合成波形显示㊁李萨如图形显示和参数设置四个部分ꎮ能够直观㊁准确的仿真㊁演示相位法和双踪法的实验原理和测量过程ꎬ如图5所示ꎮ通过波形参数和换能器之间距离的设置ꎬ可以方便㊁直观的展示不同相位差情况下的合成波波形图和李萨如图形ꎮ换能器之间的距离既可以利用滑块进行拖动设置ꎬ也可以利用自动按钮ꎬ从零距离开始ꎬ进行合成波形连续变化的动态演示ꎬ这也是本系统特有的功能ꎬ可以使仿真过程更加形象㊁生动ꎮ图5(a)㊁(b)㊁(c)分别展示了相位差为0ꎬπ2和34π时ꎬ程序的运行结果ꎮ此外ꎬ该系统也可以通过修改入射波和反射波的波形参数ꎬ进行不同频率比的李萨如图形连续变化的动态演示ꎬ频率比为32时的运行结果如图5(d)所示ꎮ(a)相位差为0(b)相位差为π2(c)相位差为34π18基于MATLABGUI的声速测量实验仿真及数据处理(d)频率比为32图5㊀实验过程动态仿真界面及不同相位差时的运行结果2.2㊀实验数据处理界面实验数据处理程序运行流程如图6所示ꎬ实验数据处理界面如图7所示ꎮ图6㊀实验数据处理界面程序运行流程图图7㊀实验数据处理界面该界面用以完成四种不同测量方法的实验数据的误差分析及数据处理过程ꎬ包括测量数据的逐项逐差ꎬ分组逐差ꎬA类不确定度计算㊁仪器误差限标准不确定度计算㊁合成不确定度计算及数据处理结果显示等六个部分ꎬ通过数据处理按钮实现数据计算及结果显示ꎮ由于四种不同测量方法的数据处理过程不尽相同ꎬ可通过界面右侧的下拉菜单进行不同测量方法之间的切换ꎮ在不确定度的计算过程和结果表示中ꎬ需要对有效数字进行控制ꎬ标准不确定度保留1位有效数字ꎬ相对不确定度保留2位有效数字ꎬ在程序中通过vpa()函数进行控制ꎮ以驻波法测量空气中声速的实验为例ꎬ输入测量数据后ꎬ系统运行结果如图8所示ꎬ实现了测量数据不确定度的正确计算和数据处理结果的正确表示ꎮ图8㊀驻波法实验数据处理界面运行结果3㊀结㊀论基于MATLABGUI的空气中声速测量实验仿真及测量数据自动处理系统ꎬ可以直观㊁形象地的实现相位法和双踪法测量过程的动态仿真ꎬ准确㊁快速的实现测量数据和不确定度的自动计算ꎮ该系统加深了测量者对于空气中声速测量原理及测量过程的理解和认识ꎬ简化了繁琐的数据处理过程ꎬ加快了实验完成的速度ꎮ利用GUI强大的图形绘制及显示功能ꎬ可以方便的实现交互式数据处理和图形输出ꎬ灵活的实现内容扩展ꎮ参考文献:[1]㊀李隆ꎬ昝会萍ꎬ等.大学物理实验[M].北京:高等教育出版社ꎬ2017:218 ̄227.[2]㊀赵西梅ꎬ李向亭ꎬ周红ꎬ等.超声波声速测量的拓展实验[J].物理实验ꎬ2014(12):33 ̄35.[3]㊀邵维科ꎬ赵霞ꎬ轩植华.驻波法测量声速实验的探讨[J].物理实验ꎬ2017(3):48 ̄51.[4]㊀杨建伟ꎬ于轲鑫ꎬ郑宇彤ꎬ等.声速测量实验中入射波幅值变化的研究[J].大学物理实验ꎬ2018(5):53 ̄56.[5]㊀李天一ꎬ何沃洲ꎬ卢子璇.声速测量实验方法的改进28基于MATLABGUI的声速测量实验仿真及数据处理[J].物理与工程ꎬ2016(3):29 ̄32.[6]㊀刘石劬.声速测量及不确定度分析[J].大学物理实验ꎬ2013(4):99 ̄103.[7]㊀冯登勇ꎬ王昆林.声速测定实验不确定度㊁误差之比较研究[J].大学物理实验ꎬ2014(1):88 ̄91.[8]㊀顾媛媛ꎬ符跃鸣ꎬ陆慧ꎬ等.基于双踪示波器的超声波声速测量的研究[J].大学物理实验ꎬ2018(5):39 ̄42.[9]㊀陈中钧.超声波声速测量实验中的误差分析[J].实验科学与技术ꎬ2005(10):145 ̄147.[10]陈振华ꎬ查代奉ꎬ钟健松.matlab模拟动画提高声速测量实验教学效果[J].大学物理实验ꎬ2016(1):86 ̄89.[11]郝劲波ꎬ徐仰彬ꎬ陈文ꎬ等.基于MatlabGUI的电位差计测量数据处理[J].大学物理实验ꎬ2016(3):92 ̄95.[12]李海涛ꎬ苏艳丽ꎬ姜其畅.MATLABGUI在光学实验教学中的应用[J].大学物理实验ꎬ2017(6):105 ̄108.[13]李雪梅ꎬ王玉华.Matlab软件和逐差法在共振法和相位法测量超声声速中的应用[J].大学物理实验ꎬ2015(3):91 ̄93.[14]欧阳锡城ꎬ汤剑锋ꎬ谭玉.MATLABGUI在驻波法测声速实验中的应用[J].大学物理实验ꎬ2013(4):72 ̄74.ExperimentalDataProcessingandSimulatingofSoundVelocityMeasurementBasedonMATLABGUIHAOJinboꎬXUYangbinꎬWUGeꎬWANGKaijun(SchoolofScienceꎬXi anUniversityofArchitectureandTechnologyꎬXi an710055ꎬChina)Abstract:Anapproachofexperimentaldataautomaticprocessingandsimulationofsoundvelocitymeasure ̄mentisproposedbasedonMATLABGUI.InthisapproachꎬdynamicsimulationsystemandexperimentaldataprocessingsystemisdevelopedbyusingthewavecharacterofsoundandthecombinationofMATLABGUI.Thedynamicsimulationofsoundvelocitymeasurementprocessofphasemethodanddualtracemethodisimple ̄mentation.Andthenꎬautomaticcalculationofmeasurementdatauncertaintyiscarriedout.Keywords:soundvelocitymeasurementꎻMATLABGUIꎻgraphicinterfaceꎻuncertainty38基于MATLABGUI的声速测量实验仿真及数据处理。
MATLAB在测量误差分析中的应用

MATLAB在测量误差分析中的应用MATLAB是一款广泛应用于科学计算和工程领域的高级数值计算软件,可以用于数据处理、数据分析、建模和仿真等任务。
在测量误差分析中,MATLAB具有多种应用,包括数据处理、统计分析、拟合曲线和可视化等。
首先,MATLAB可以被用来处理和分析测量数据。
在测量中,我们经常会收集到大量的数据,并且这些数据可能存在测量误差。
使用MATLAB,我们可以将测量数据导入到软件中,并进行数据清洗和处理。
例如,我们可以使用内置的数据处理函数,如滤波、去除噪声、插值和平滑等,对测量数据进行预处理。
此外,MATLAB还提供了丰富的数学和信号处理函数,可以计算各种统计指标,如均值、方差、中位数和相关性等。
其次,MATLAB还可以用于测量误差的统计分析。
在测量中,我们通常需要评估测量误差的大小和分布。
MATLAB中提供了多种统计分析工具,可以用来计算概率密度函数(PDF)、累积分布函数(CDF)和百分位数等。
这些函数可用于估计测量误差的分布,并帮助我们理解和解释测量数据。
此外,MATLAB还提供了假设检验和置信区间等工具,可以用来测试假设和评估测量结果的可靠性。
除了数据处理和统计分析,MATLAB还可以进行拟合曲线。
在测量误差分析中,我们经常需要通过测量数据来拟合一个数学模型,以估计测量误差的大小和影响。
MATLAB提供了多种拟合工具,如曲线拟合、参数估计和最小二乘拟合等。
这些工具可以帮助我们根据测量数据找到最佳的拟合曲线,从而得到对测量误差的估计。
最后,MATLAB还可以用于可视化测量误差的结果。
在测量误差分析中,可视化是非常重要的,因为它能够帮助我们直观地理解和解释测量数据。
MATLAB提供了强大的可视化工具,可以绘制各种图表和图形,如散点图、直方图、箱线图和曲线图等。
这些图表可以显示测量数据的分布、误差范围和偏差等信息,有助于我们发现和分析测量误差的规律。
综上所述,MATLAB在测量误差分析中具有广泛的应用。
基于MATLAB GUI的数值分析实践教学

当代教育实践与教学研究一、引言随着科学技术的飞速发展,计算机处理问题和运算能力大大提升,科学计算在迅猛发展,已经成为与理论分析、科学实验并举的三大科学研究方法之一。
《数值分析》主要介绍科学计算的基本理论与基本方法,是数学与应用数学专业、信息与计算科学专业的一门重要专业基础课,是众多理工科专业以及研究生的一门必修课。
该课程主要由非线性方程根的迭代法、插值与逼近、数值微积分、解线性代数方程组的直接法和迭代法、特征值与特征向量、常微分方程的数值解法等内容组成,可以解决实际生活中遇到的一些数值计算问题。
二、MATLAB GUI和研究来源MATLAB是由美国公司Mathworks公司推出,集数值计算、符号分析、图形处理、仿真等功能于一身的高级计算语言,现已成为国际公认的优秀的科学计算与数学应用软件之一。
用户图形界面(graphical user interface,GUI)是MATLAB 的一个子模块,是由窗口、光标、按键、菜单、文件说明等对象(Object)构成的一个用户界面。
用户通过一定的方法(如鼠标和键盘),选择、激活这些图像对象,使计算机产生某种动作或者变化,以实现可视化、人机互动等功能,达到形象直观的目的。
《数值分析》是一门理论学习与实践应用相结合的综合课程。
实际教学有时可能因为侧重理论学习,而忽视实践应用。
即使有实践教学,也多以讲解MATLAB中内置的函数为重点,如MATLAB中内置的一维插值interp1、二维插值interp2等一些良好的插值命令。
教师一般会讲解这些命令如何使用、每个参数的意义、输出结果以及这些命令之间的差异等。
这种教学模式可以让学生快速学会使用课堂上的算法,并利用这些函数解决一些实际问题,但是学生可能无法深入理解算法的精髓,失去改进提升的基础。
近年来,很多教师在探索数值分析实践教学的改革之路。
一部分教师选择在实践课中加入编程,摒弃只讲解MATLAB内置函数的传统教学模式,让学生自己编写高效的算法程序,把理论学习与数值编程结合起来。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011-2012学年的计算机辅助分析的课程设计。
笔者花了好几个星期的课余时间,将其初略的完成了。
这段时间里可以说是现学现用,因为笔者所学的Matlab课程中没有设计到GUI的相关内容。
正是如此,整个设计中难免会有差错,或者说是理解不深的地方。
还是希望那些要借鉴此设计的朋友甄选辨别一下,再做决定。
整个设计尚不完善,还在进一步的修改中。
今笔者将其上传。
本来有个源文档,很是占页数。
因为里面程序较多。
笔者想了一下,大无上传的必要。
这些程序就算复制下来,也不能单独运行,传上来反而增加大家阅读的负担。
所以将打印稿传至百度文库,供大家参考。
课程名称:计算机辅助分析设计题目:基于GUI的误差分析院系:电气工程系专业:电子信息工程年级:2010 级姓名:XXX学号:XXXX指导教师:XXXX西南交通大学峨眉校区2011年12月16日第一章摘要 (3)第二章想法的提出 (5)第三章相关设想 (6)第四章需要解决的问题: (7)1 程序功能方面 (7)2 数据结构方面: (7)3 控件方面: (7)4 函数的使用: (8)第五章过程(思路和方法) (9)1 GUI学习 (9)1-I GUI架构(向导) (9)1-II 基本控件: (9)1-III 控件属性设置: (9)1-IV 控件回调函数(Callback Routine) (10)2 数据结构: (10)2-I 细胞矩阵 (10)2-II 结构体变量(见课本82页) (10)2-III 局部变量和全局变量 (10)2-IV GUI中的类、对象: (11)3 选择数据的构造方式及选择编程方法 (11)3-I 第一种想法:依据数据层次建立数据结构,当时写了一个模型的样本文件如下: (11)3-II 第二种想法:依据表格中的数据位置进行构造 (14)3-III 比较一二两种算法: (15)4 窗口界面的建立和界面的完善及程序的编写和调试 (15)5 程序的编写和调试: (16)5-I 程序的变量命名: (16)5-II 程序的数据架构: (17)5-III 函数: (17)5-IV 编程的难点: (21)5-V 功能介绍和使用方法: (22)6 程序对比 (30)第六章附录 (33)1 用到的课本知识: (33)2 函数说明: (33)3 参考文献: (33)第一章摘要关于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类不确定度设置最为基本的模型结构,在无加载模型的情况下使用该模型下的文件输出,输出工作状态和计算结果库(写出基本库:密立根油滴和偏振光研究,电阻、电压、电流关系等)模型B类不确定度的置信因子:正态分布、均匀分布和三角分布A类不确定度的扩展倍数(设置初始值1(不能为空))计算A类不确定度计算B类不确定度计算直接合成不确定度计算间接测量合成不确定度区分表达式的属性(加减还是乘除)计算函数关系计算相对误差将计算好的结果覆盖到源数据所在位置其他细节:完善帮助文档、完善错误提示、优化窗口结构、光标的指示说明注:红色标注的表示尚未实现的功能或想法,其他的都是或多或少完成了的。
2011-12-14第四章需要解决的问题:1程序功能方面什么是面向对象?什么是GUI?Matlab的GUI怎么用?怎么学习Matlab的GUI?应该用怎样的结构来描述尽可能多的表格,和表格中数据的计算?(程序设计的核心)怎么控制程序获得对象数据的起始和终结地址?行或列的数据读取方向(变量的取值方向)怎么确定?计算结果的个数?计算结果的存放在何处?图像该怎么标注一些文字?模型名称怎么控制? 变量在程序中的名称如何控制?变量的个数怎么知道?变量单位的转换(+-*/(关系式略))如何获得?怎么转换这个单位?表头文字的单位问题绘图的图像变量范围怎么确定?计算的常量(如固定光的波长,固定频率,测量温度)怎么获得?获得了怎么处理?各个量的函数关系怎么建立?函数的变量怎么获得数值?2数据结构方面:什么是细胞?什么是结构体?Matlab有哪些的数据结构?怎么建立细胞变量?怎么获得细胞的行列数?怎么调用细胞的数据?怎么调用细胞里的细胞?怎么建立结构体变量?什么是域?怎么调用结构体变量中的域?什么是类?什么是对象?该怎么安排数据的类?怎么让变量可以被所有函数调用和修改?全局变量的建立和删除怎么用?退出GUI时如何把全局变量中的值清空?什么是符号变量?怎么申明符号变量?怎么将符号变量用具体数值代换计算结果?怎么将字符串转换成符号变量?怎么将符号变量变成字符串?怎么求偏导?符号运算怎么调用函数?3控件方面:怎么设置uitable的行列值?怎么设置uitable不可编辑?如何读取uitable的内容?当uitable 的数值发生改变时,怎么获取改变位置?怎么让uitable显示数字和文本?怎么删除uitable 的某行或某列?怎么关闭一个开启的窗口?绘图时怎么连接两个点?怎么用极坐标绘图?怎么调整网格线的疏密程度?怎么将图片放置到剪切板?剪切板怎么调用?为什么背景图遮挡住其他控件?怎么解决这个问题?怎么设置窗口的最大最小化?怎么显示其他图标?怎么让窗口置顶?在buttongroup中怎么获取两个radiobutton的状态?怎么Group的创建选择函数?4函数的使用:怎么用matlab 提取字符串中的数字?什么是正则表达式?他有什么作用?语法规则是怎么样的?怎么添加超链接?怎么调用对话框?怎么利用程序(函数)复制文件?什么是中断?eval函数怎么用?eval函数左边可以获得结果吗?怎么设置控件的字体?时钟(定时器)怎么回事?怎么设置?怎么在定时器中断时调用书写好的中断响应函数?怎么用Matlab生成独立的可执行文件?怎么获取当前工作路径? Matlab如何检查非当前目录下某文件是否存在?怎么读取Excel文件?怎么将文件保存为Excel?怎么读取图片文件?怎么显示图片?怎么读取声音文件?怎么播放声音?第五章过程(思路和方法)1GUI学习1-IGUI架构(向导)(打印稿略,详见原稿)1-II基本控件:•Select:用来指示在GUIDE中控件的选中状态。