物理实验数据的MATLAB图示处理法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
26
2008年第6期(总第64期)
E-mail:cmee@263.net
收稿日期:2008-02-29
作者简介:李小平,理学学士,副教授,程序员。*2007年株洲职业技术学院院级立项课题:编号ZZYKY0708名称《应用MATLAB辅助理工专业课程教学的研究》。
物理实验数据的MATLAB图示处理法*
李小平
株洲职业技术学院 湖南株洲 412001
摘 要:MATLAB语言是做数学实验的计算机语言[1-2],利用MATLAB函数绘图来处理大量的物理实验数据(本文叫做“MATLAB图示处理法”)是最理想的方法,全文用几个典型的实例来说明了它的实用价值。关键词:大学物理 实验数据 MATLAB 作图
大学物理实验课中有许多实验数据,处理实验数据的方法一般有作图法、平均法、线性回归法、逐差法等多种方法[3],我们平时都是用手工方法根据实验数据描点画图,但对于大量的实验数据,用手工描点画图就不理想了,尤其是画实验数据的三维空间图像,更是难上加难。
MATLAB软件主要用于数值计算和图形处理,它集数值分析、矩阵计算、信号处理和图形显示于一体[4],是处理实验数据的最理想的软件之一。
本文介绍用MATLAB作图函数绘图来处理大量的物理实验数据的方法,在实验课中可通过MATLAB图示法来探讨实验公式。
一、图示二维空间函数实例
当实验数据只两个变量时,其对应的图形是二维图形,我们通常用plot函数绘制实验图。
例1 用伏安法测电阻,以电阻的端电压V作为自变量测得一组对应的流经电阻的电流I,数据如表1[3]。表1 电压V和电流I的实验数据
MATLAB命令如下:
>>V=[0,2.00,4.00,6.00,8.00,10.00];I=[0,3.85,8.15,12.05,15.80,19.90];
>>plot(V,I);xlabel('电压V'); ylabel('电流
I');
结果见图1:
图1
观察图1,可知图形是“一条直线”,故实验结果与理论公式
不矛盾,电阻R是个常数,是定值。
例2 梁的弯曲实验,在矩形梁的中点加一定负载F=450g,根据梁的有效长度L的变化,测出对应的下垂量l,数据如表2[3]。
表2 梁的长度L和下垂量l的实验数据
MATLAB命令如下:
>>L=[30.00,33.00,36.00,39.00,42.00,45.00,48.00,51.00];
>>namta=[0.5062,0.6737,0.8749,1.1122,1.3887,1.7085,2.0738,2.4878];
>>plot(L,namta);xlabel('梁的长度L');ylabel('下垂量namta ');
结果见图2:
27
2008年第6期(总第64期)
E-mail:cmee@263.net
图2
观察图2,可看出图形接近“三次幂函数”图形,故实验公式可从这方面探讨。
二、图示三维空间函数实例
当实验数据有三个变量时,其对应的图形是三维图形,我们可以用plot3函数绘制实验图。
例3 表3列出SWCNT(5,5)管原胞中20个碳原子位
,表4列出表3中20个碳原子变
换后的位置[5]
。
表3 变换前原子位置 表4 变换后原子位置
MATLAB命令如下:
>>x1=[ 0.3391,0.2743,0.1048,-0.1048,-0.2743,-0.3391,-0.2743,-0.1048,0.1048,0.2743,0.3098,0.1695,-0.0354,-0.2269,-0.3317,-0.3098,-0.1695,0.0354,0.2269,0.3317];
>>y1=[ 0.0000, 0.1993, 0.3225, 0.3225,0.1993, 0.0000, -0.1993, -0.3225, -0.3225, -
0.1993, 0.1379, 0.2936, 0.3372, 0.2520, 0.0705, -0.1379, -0.2936, -0.3372, -0.2520, -0.0705];
>>z1=[ 0.0000, 0.1230, 0.0000, 0.1230,0.0000, 0.1230, 0.0000, 0.1230, 0.0000, 0.1230, 0.0000, 0.1230, 0.0000, 0.1230, 0.0000,0.1230, 0.0000, 0.1230, 0.0000, 0.1230];
>>subplot(121);plot3(x1,y1,z1); xlabel('x轴'); ylabel(' y轴'); zlabel(' z轴');
>>grid on; title('变换前原子位置');>>x2=[ -0.3391, -0.2743, -0.1048, 0.1048,0.2743, 0.3391, 0.2743, 0.1048, -0.1048, -0.2743, -0.3098, -0.1695, 0.0354, 0.2269, 0.
3317, 0.3098, 0.1695, -0.0354, -0.2269, -0.3317];
>>y2=[ 0.0000, -0.1993, -0.3225, -0.3225,-0.1993, 0.0000, 0.1993, 0.3225, 0.3225, 0.1993, -0.1379, -0.2936, -0.3372, -0.2520, -
0.0705, 0.1379, 0.2936, 0.3372, 0.2520, 0.0705];
>>z2=[ 0.1230, 0.2460, 0.1230, 0.2460,0.1230, 0.2460, 0.1230, 0.2460, 0.1230, 0.2460, 0.1230, 0.2460,0.1230, 0.2460, 0.1230,0.2460, 0.1230, 0.2460, 0.1230, 0.2460];
>>subplot(122);plot3(x2,y2,z2); xlabel('x轴'); ylabel(' y轴'); zlabel(' z轴');
>>grid on;title('变换后原子位置');结果见图3:
图3
观察图3,注意的是“图中的三角尖就是原子的位置,直线是plot3函数留下的,我们只观察三角尖位置”,可看出图形中的点呈对称分布。