Matlab在物理化学实验数据处理中的应用

Matlab在物理化学实验数据处理中的应用
Matlab在物理化学实验数据处理中的应用

matlab在统计数据的描述性分析的应用

统计数据的描述性分析 一、实验目的 熟悉在matlab中实现数据的统计描述方法,掌握基本统计命令:样本均值、样本中位数、样本标准差、样本方差、概率密度函数pdf、概率分布函数df、随机数生成rnd。 二、实验内容 1 、频数表和直方图 数据输入,将你班的任意科目考试成绩输入 >> data=[91 78 90 88 76 81 77 74]; >> [N,X]=hist(data,5) N = 3 1 1 0 3 X = 75.7000 79.1000 82.5000 85.9000 89.3000 >> hist(data,5)

2、基本统计量 1) 样本均值 语法: m=mean(x) 若x 为向量,返回结果m是x 中元素的均值; 若x 为矩阵,返回结果m是行向量,它包含x 每列数据的均值。 2) 样本中位数 语法: m=median(x) 若x 为向量,返回结果m是x 中元素的中位数; 若x 为矩阵,返回结果m是行向量,它包含x 每列数据的中位数3) 样本标准差 语法:y=std(x) 若x 为向量,返回结果y 是x 中元素的标准差; 若x 为矩阵,返回结果y 是行向量,它包含x 每列数据的标准差

std(x)运用n-1 进行标准化处理,n是样本的个数。 4) 样本方差 语法:y=var(x); y=var(x,1) 若x 为向量,返回结果y 是x 中元素的方差; 若x 为矩阵,返回结果y 是行向量,它包含x 每列数据的方差 var(x)运用n-1 进行标准化处理(满足无偏估计的要求),n 是样本的个数。var(x,1)运用n 进行标准化处理,生成关于样本均值的二阶矩。 5) 样本的极差(最大之和最小值之差) 语法:z= range(x) 返回结果z是数组x 的极差。 6) 样本的偏度 语法:s=skewness(x) 说明:偏度反映分布的对称性,s>0 称为右偏态,此时数据位于均值右边的比左边的多;s<0,情况相反;s 接近0 则可认为分布是对称的。 7) 样本的峰度 语法:k= kurtosis(x) 说明:正态分布峰度是3,若k 比3 大得多,表示分布有沉重的尾巴,即样本中含有较多远离均值的数据,峰度可以作衡量偏离正态分布的尺度之一。 >> mean(data) ,

MATLAB数据分析与多项式计算(M)

第7章 MATLAB数据分析与多项式计算 6.1 数据统计处理 6.2 数据插值 6.3 曲线拟合 6.4 离散傅立叶变换 6.5 多项式计算 6.1 数据统计处理 6.1.1 最大值和最小值 MATLAB提供的求数据序列的最大值和最小值的函数分别为max 和min,两个函数的调用格式和操作过程类似。 1.求向量的最大值和最小值 求一个向量X的最大值的函数有两种调用格式,分别是: (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。 (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。 求向量X的最小值的函数是min(X),用法和max(X)完全相同。 例6-1 求向量x的最大值。 命令如下: x=[-43,72,9,16,23,47]; y=max(x) %求向量x中的最大值 [y,l]=max(x) %求向量x中的最大值及其该元素的位置 2.求矩阵的最大值和最小值 求矩阵A的最大值的函数有3种调用格式,分别是: (1) max(A):返回一个行向量,向量的第i个元素是矩阵A的第i 列上的最大值。 (2) [Y,U]=max(A):返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。 (3) max(A,[],dim):dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。 求最小值的函数是min,其用法和max完全相同。

例6-2 分别求3×4矩阵x中各列和各行元素中的最大值,并求整个矩阵的最大值和最小值。 3.两个向量或矩阵对应元素的比较 函数max和min还能对两个同型的向量或矩阵进行比较,调用格式为: (1) U=max(A,B):A,B是两个同型的向量或矩阵,结果U是与A,B 同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。 (2) U=max(A,n):n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。 min函数的用法和max完全相同。 例6-3 求两个2×3矩阵x, y所有同一位置上的较大元素构成的新矩阵p。 6.1.2 求和与求积 数据序列求和与求积的函数是sum和prod,其使用方法类似。设X是一个向量,A是一个矩阵,函数的调用格式为: sum(X):返回向量X各元素的和。 prod(X):返回向量X各元素的乘积。 sum(A):返回一个行向量,其第i个元素是A的第i列的元素和。 prod(A):返回一个行向量,其第i个元素是A的第i列的元素乘积。 sum(A,dim):当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。 prod(A,dim):当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。 例6-4 求矩阵A的每行元素的乘积和全部元素的乘积。 6.1.3 平均值和中值 求数据序列平均值的函数是mean,求数据序列中值的函数是median。两个函数的调用格式为: mean(X):返回向量X的算术平均值。 median(X):返回向量X的中值。

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

Matlab软件在牛顿环实验数据处理方法上的创新

Matlab 软件在牛顿环实验数据处理方法上的创新 徐少刚 夏雪琴 大学物理实验学A12船舶2 (浙江海洋学院,浙江 舟山 316022) 摘要:本文运用了用Matlab 软件的功能函数对牛顿环测量平凸透镜的曲率半径实验的数据进行处理,简化了数据处理过程,提高了实验结果的准确度;同时也提高了我们大学生应用软件的能力,激发了学习兴趣,提高了教学质量。 关键词:牛顿环;Matlab 软件;最小二乘法;数据处理;创新 牛顿环实验是一个古老而又非常重要的光学实验,一般用它来测量平凸透镜的曲率半径 十分方便,这个实验在我校已开设许多年了。目前数据处理方法主要有:逐差法和最小二乘法,用人工计算既繁琐又篇幅大,占用了我们学生较多的学习时间,并且往往运算容易出差错,得不到十分理想的实验结果,这样必然会影响我们学生的学习积极性和教学效果。随着计算机软件的迅速发展,如用Matlab 软件的功能函数进行最小二乘法曲线拟合,得到平凸透镜的曲率半径,而且还能进行误差理论分析,一方面简化了数据处理过程,提高了实验结果的准确度;另一方面提高了我们大学生应用软件的能力,并且对实验数据处理方法上的一种创新,激发了我们大学生对学习大学物理实验的兴趣,提高了教学质量。 1实验原理[1] 在一块平面玻璃上安放上一焦距很大的平凸透镜,使其凸面与平面相接触,在接触点附近就形成一层空气膜。当用一平行的准单色光垂直照射时,在空气膜上表面反射的光束和下表面反射的光束在膜上表面相遇相干,形成以接触点为圆心的明暗相间的环状干涉图样,称为牛顿环,其如图1。 由干涉条件知,当2(21)22 r K R λλ δ+=+=时,干涉条纹为 暗条纹。于是:K r (0,1,2, )KR K λ=2= 可改为K (0,1,2, )D KR K λ=2=4 用Matlab 软件作图并处理实验数据,作出2K D ~K 的关系图。 令2K y D = ; x K =;4k R λ= , 可得到拟合直线方程 y k x b =+,并从其斜率k中求出平凸透镜曲率半径R 的值。 2实验数据记录 已知钠光的波长75.89310m λ-=?,仪器误差6 510m -? 8800m R 标=0. 图1牛顿环光路示意图

用牛顿环测透镜的曲率半径实验报告

用牛顿环测透镜曲率半径 [实验目的] 1.观察光的等厚干涉现象,了解干涉条纹特点。 2.利用干涉原理测透镜曲率半径。 3.学习用逐差法处理实验数据的方法。 [实验原理] 牛顿环条纹是等厚干涉条纹。 由图中几何关系可得 22222)(k k k k d Rd d R R r -=--= 因为R>>d k 所以 k k Rd r 22= (1) 由干涉条件可知,当光程差 ??? ???? =+=+=?==+=?暗条纹 明条纹 )0,1,2(k 2)12(22 )1,2,(k 22ΛΛλλλλk d k d k k (2) 其干涉条纹仅与空气层厚度有关,因此为等厚干涉。由(1)式和(2)式可得暗条纹其环的半径 R k r k λ=2 (3) 由式(3)可知,若已知入射光的波长λ,测出k 级干涉环的半径r k ,就可计算平凸透镜的曲率半径。 所以 λ m D D R k m k 42 2-=+ (4) 只要测出D k 和D k+m ,知道级差m ,并已知光的波长λ,便可计算R 。

[实验仪器] 钠光灯,读数显微镜,牛顿环。 [实验内容] 1.将牛顿环置于读数显微镜载物合上,并调节物镜前反射玻璃片的角度,使显微镜的视场中充满亮光。 2.调节升降螺旋,使镜筒处于能使看到清晰干涉条纹的位置,移动牛顿环装置使干涉环中心在视场中央。并观察牛顿环干涉条纹的特点。 3.测量牛顿环的直径。由于中心圆环较模糊,不易测准,所以中央几级暗环直径不要测,只须数出其圈数,转动测微鼓轮向右(或左)侧转动18条暗纹以上,再退回到第18条,并使十字叉丝对准第18条暗纹中心,记下读数,再依次测第17条、第16条…至第3条暗纹中心,再移至左(或右)侧从第3条暗纹中心测至第18条暗纹中心,正式测试时测微鼓轮只能向一个方向转动,只途不能进进退退,否则会引起空回测量误差。 4.用逐差法进行数据处理及第18圈对第8圈,第17圈对第7圈…。其级差m=10,用(4)式计算R 。 [实验数据处理] 在本实验中,由于在不同的环半径情况下测得的R 的值是非等精度的测量,故对各次测量的结果进行数据处理时,要计算总的测量不确定度是个较复杂的问题。为了简化实验的计算,避免在复杂的推导计算中耗费过多时间,本实验中研究测量的不确定度时仅按等精度测量的情况估算(22k m k D D -+)的标准偏差,而忽略B 类不确定度的估算和在计算中因不等精度测量所带来的偏差。 表1 牛顿环测量数据 m =10,λ=5.893×10-4mm

Matlab大数据处理

Matlab大数据处理2:硬盘访问.mat文件 分类:Matlab Hack2013-09-08 20:16 146人阅读评论(0) 收藏举报Matlab程序中经常要访问.mat文件,通常在作法是用load函数直接加载.mat文件。如果.mat文件非常大,超过了系统可用内存的时候该怎么办呢?Matlab2013b为提供了matfile函数,matfile函数可以通过索引直接访问.mat文件中的Matlab变量,而无需将.mat文件加载入内存。 matfile有两种用法: m = matfile(filename),用文件名创建matfile对象,通过这个对象可以直接访问mat文件中的matlab变量。 m = matfile(filename,'Writable',isWritable),isWritable开启或关闭文件写操作。 使用示例: 1. 向mat文件中写入变量 x = magic(20); m = matfile('myFile.mat'); % 创建一个指向myFile.mat的matfile对象 m.x = x; % 写入x m.y(81:100,81:100) = magic(20); % 使用坐标索引

2. 加载变量 filename = 'topography.mat'; m = matfile(filename); topo = m.topo; %读取变量topo [nrows,ncols] = size(m,'stocks'); %读取stocks变量的size avgs = zeros(1,ncols); for idx = 1:ncols avgs(idx) = mean(m.stocks(:,idx)); end 3. 开启写权限 filename = 'myFile.mat'; m = matfile(filename,'Writable',true); 或者 m.Properties.Writable = true;

物理实验要求及数据表格实验10 牛顿环

实验10 牛顿环 专业___________________ 学号___________________ 姓名___________________ 一、预习要点 1. 读数显微镜的结构和用法; 2. 等厚干涉实验的原理,平凸透镜曲率半径计算公式。 二、实验内容 1. 置牛顿环装置于显微镜工作台上,调测微鼓轮使镜筒位于标尺中部(约25mm 左右处),牛顿环 装置中心接触点(肉眼可见一暗斑)对准镜筒中央。 2. 钠光灯发出的光线射到镜筒下方与水平约45°角的半反镜上,经反射垂直入射到牛顿环装置上; 略微转动半反镜(可全方位转动即上、下、左、右)使光线入射牛顿环装置,这时从显微镜中观察到一片均匀明亮的钠黄光。 3. 调节目镜调焦,使视场中的十字叉丝清晰;调节目镜放大倍数。 4. 转动镜筒调焦手轮至见到最清晰的牛顿环干涉图像。 5. 移动牛顿环装置,使十字叉丝对准牛顿环中心暗斑的中心,旋转测微鼓轮,使镜筒向牛顿环某 方向(如向右)移动,用十字叉丝切准各暗环,并数出级数。数到中心暗斑的右端第34暗环,将测微鼓轮反转回到第30暗环开始测量,记录右端第30环读数,再用十字叉丝对准右第28、26······暗环,每隔2环记下读数到右端第12暗环[注意记录表格内填写的位置],再使十字叉丝回到牛顿环中心暗斑,核对该中心是否0=k 。经过中心后继续向左运行,记录牛顿环左端12、14······30暗环位置读数。重复测一遍,但是从牛顿环的左30暗环测到右30暗环。 三、实验注意事项 1. 测量时测微鼓轮只能单方向转动,否则有空程差引入;不能数错环数,把k 级当作k+1级读数; 2. 钠光灯点燃后通常要过十几分钟才能正常发光,使用时一经点燃不要轻易灭,也不要在点燃时 移动、撞击,钠光灯关闭后,必须稍等片刻才能重新打开。 3. 当用镜筒对待测物聚焦时,为防止损坏显微镜物镜,正确的调节方法是使镜筒移离待测物(即 提升镜筒)。注意将显微镜底座中的反光镜转到背光一侧。 4. 测量过程中,不要碰动牛顿环和震动实验台,以免影响测量的准确性。 5. 爱护实验台上的所有仪器,特别小心光学仪器。 四、原始数据记录表格 组号________ 同组人姓名____________________ 成绩__________ 教师签字_______________ 表1 测牛顿环直径(从右测到左) 单位:mm

第6章matlab数据分析与多项式计算_习题答案

第6章 MATLAB数据分析与多项式计算 习题6 一、选择题 1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。B A.1 B.3 C.5 D.7 2.已知a为3×3矩阵,则运行mean(a)命令是()。B A.计算a每行的平均值 B.计算a每列的平均值 C.a增加一行平均值 D.a增加一列平均值 3.在MATLAB命令行窗口输入下列命令: >> x=[1,2,3,4]; >> y=polyval(x,1); 则y的值为()。 D A.5 B.8 C.24 D.10 4.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。D A.一个是标量,一个是方阵 B.都是标量 C.值相等 D.值不相等 5.在MATLAB命令行窗口输入下列命令: >> A=[1,0,-2]; >> x=roots(A); 则x(1)的值为()。 C A.1 B.-2 C. D. 6.关于数据插值与曲线拟合,下列说法不正确的是()。A A.3次样条方法的插值结果肯定比线性插值方法精度高。 B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。 C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到极小。 D.插值和拟合都是通过已知数据集来求取未知点的函数值。 二、填空题 1.设A=[1,2,3;10 20 30;4 5 6],则sum(A)= ,median(A)= 。 [15 27 39],[4 5 6[ 2.向量[2,0,-1]所代表的多项式是。2x2-1 3.为了求ax2+bx+c=0的根,相应的命令是(假定a、b、c已经赋值)。为了

用牛顿环测量透镜的曲率半径(附数据处理)

007大学实验报告评分: 课程:学期:指导老师:007 年级专业:学号:姓名:习惯一个人007 实验3-11 用牛顿环测量透镜的曲率半径 一. 实验目的 1.进一步熟悉移测显微镜使用,观察牛顿环的条纹特征。 2.利用等厚干涉测量平凸透镜曲率半径。 3. 学习用逐差法处理实验数据的方法。 二.实验仪器 牛顿环仪,移测显微镜,低压钠灯 三.实验原理 牛顿环装置是由一块曲率半径较大的平凸玻璃透镜,以其凸面放在一块光学玻璃平板(平晶)上构成的,如图1所示。平凸透镜的凸面与玻璃平板之间的空气层厚度从中心到 边缘逐渐增加,若以平行单色光垂直照射到牛顿环上,则经空气层上、下表面反射的二光 束存在光程差,它们在平凸透镜的凸面相遇后,将发生干涉。从透镜上看到的干涉花样是 以玻璃接触点为中心的一系列明暗相间的圆环(如图2所示),称为牛顿环。由于同一干涉 环上各处的空气层厚度是相同的,因此它属于等厚干涉。 由图1可见,如设透镜的曲率半径为R,与接触点O相距为r处空气层的厚度为d,其几

何关系式为: 由于R>>d,可以略去d 2 得 (3-11-1) 光线应是垂直入射的,计算光程差时还要考虑光波在平玻璃板上反射会有半波损失,从而带来λ/2的附加程差,所以总程差为 产生暗环的条件是: 其中k=0,1,2,3,...为干涉暗条纹的级数。综合(23-1)、(23-2)和(23-3)式可得第k级暗环的半径为: (3-11-2) 由(4)式可知,如果单色光源的波长 已知,测出第m级的暗环半径rm ,即可得出平凸透镜 的曲率半径R;反之,如果R已知,测出rm 后,就可计算出入射单色光波的波长 。但是 用此测量关系式往往误差很大,原因在于凸面和平面不可能是理想的点接触;接触压力会 引起局部形变,使接触处成为一个圆形平面,干涉环中心为一暗斑。或者空气间隙层中有了尘埃,附加了光程差,干涉环中心为一亮(或暗)斑,均无法确定环的几何中心。实际测量时,我们可以通过测量距中心较远的两个暗环的半径rm 和rn 的平方差来计算曲率半径R。因为 rm 2 =mR rn 2 =nR (3-11-3) 两式相减可得 所以半径 R 为 λ )(42 2 n m D D R n m --= (3-11-4) 四.实验步骤与内容 1.调整显微镜的十字叉丝与牛顿环中心大致重合。 2.转动测微鼓轮,使叉丝的交点移近某暗环,当竖直叉丝与条纹相切时(观察时要注意视 差),从测微鼓轮及主尺上读下其位置x。为了熟练操作和正确读数,在正式读数前 应反复练习几次,直到同一个方向每次移到该环时的读数都很接近为止。 3.在测量各干涉环的直经时,只可沿同一个方向旋转鼓轮,不能进进退退,以避免测微

实验一数据处理方法MATLAB实现

实验一数据处理方法的MATLAB实现 一、实验目的 学会在MATLAB环境下对已知的数据进行处理。 二、实验方法 1. 求取数据的最大值或最小值。 2. 求取向量的均值、标准方差和中间值。 3.在MATLAB环境下,对已知的数据分别进行曲线拟合和插值。 三、实验设备 1.586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2.MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容 1.在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 2.在MATLAB环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。 五、实验步骤 1. 在MATLAB环境下,将已知的数据存到数据文件mydat.mat中。 双击打开Matlab,在命令窗口(command window)中,输入一组数据:实验一数据处理方法的MATLAB实现 一、实验目的 学会在MATLAB环境下对已知的数据进行处理。 二、实验方法 1. 求取数据的最大值或最小值。 2. 求取向量的均值、标准方差和中间值。 3.在MATLAB环境下,对已知的数据分别进行曲线拟合和插值。 三、实验设备 1.586以上微机,16M以上内存,400M硬盘空间,2X CD-ROM 2.MATLAB5.3以上含CONTROL SYSTEM TOOLBOX。 四、实验内容

1.在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 2.在MATLAB环境下,选择合适的曲线拟合和插值方法,编写程序,对已知的数据分别进行曲线拟合和插值。 五、实验步骤 1. 在MATLAB环境下,将已知的数据存到数据文件mydat.mat中。 双击打开Matlab,在命令窗口(command window)中,输入一组数据: x=[1,4,2,81,23,45] x = 1 4 2 81 2 3 45 单击保存按钮,保存在Matlab指定目录(C:\Program Files\MATLAB71)下,文件名为“mydat.mat”。 2. 在MATLAB环境下,利用MATLAB控制系统工具箱中的函数直接求取数据的最大值或最小值,以及向量的均值、标准方差和中间值。 继续在命令窗口中输入命令: (1)求取最大值“max(a)”; >> max(x) ans = 81 (2)求取最小值“min(a)”; >> min(x) ans = 1 (3)求取均值“mean(a)”; >> mean(x) ans =

牛顿环测量曲率半径实验报告

实验名称:牛顿环测量曲率半径实验 1.实验目的: 1 观察等厚干涉现象,理解等厚干涉的原理和特点 2 学习用牛顿环测定透镜曲率半径 3 正确使用读数显微镜,学习用逐差法处理数据 2.实验仪器: 读数显微镜,钠光灯,牛顿环,入射光调节架 3.实验原理 图1 如图所示,在平板玻璃面DCF上放一个曲率半径很大的平凸透镜ACB,C点为接触点,这样在ACB和DCF之间,形成一层厚度不均匀的空气薄膜,单色光从上方垂直入射到透镜上,透过透镜,近似垂直地入射于空气膜。分别从膜的上下表面反射的两条光线来自同一条入射光线,它们满足相干条件并在膜的上表面相遇而产生干涉,干涉后的强度由相遇的两条光线的光程差决定,由图可见,二者的光 程差等于膜厚度e的两倍,即

此外,当光在空气膜的上表面反射时,是从光密媒质射向光疏媒质,反射光不发生相位突变,而在下表面反射时,则会发生相位突变,即在反射点处,反射光的相位与入射光的相位之间相差π,与之对应的光程差为λ/2 ,所以相干的两条光线还具有λ/2的附加光程差,总的光程差为 (1) 当?满足条件 (2) 时,发生相长干涉,出现第K级亮纹,而当 (3) 时,发生相消干涉,出现第k级暗纹。因为同一级条纹对应着相同的膜厚,所以干涉条纹是一组等厚度线。可以想见,干涉条纹是一组以C点为中心的同心圆,这就是所谓的牛顿环。 如图所示,设第k级条纹的半径为,对应的膜厚度为,则 (4) 在实验中,R的大小为几米到十几米,而的数量级为毫米,所以R >> e k, e k 2相对于2Re k 是一个小量,可以忽略,所以上式可以简化为 (5) 如果r k是第k级暗条纹的半径,由式(1)和(3)可得 (6)代入式(5)得透镜曲率半径的计算公式

MATLAB在化工数据处理中的应用

化工数据处理与实验设计 期中论文 Matlab在化工数据处理中的应用 姓名:陈奕含 学号:2012115134 班级:化学工程与工艺

Matlab在化工数据处理中的应用 一、MATLAB简介 Matlab软件包最初是1967年由Clere Maler用FORTRAN语言设计和编写的。1984年Mathworks公司用C语言完成了Matlab的商业化版本并推向市场。经过20余年的改进,Matlab已发展成为一个具有极高通用性的、带有众多实用工具的运算平台,成为国际上广泛认可的优秀科学计算软件。 Matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国Mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 Matlab和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且Matlab也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JA V A的支持。其特点如下: 1.支持多平台操作系统(Windows、Unix等)。 2.是一种简单易学的编程语言。 3.Matlab程序很容易维护。 4.编程效率很高。由于用户程序可直接调用大量的Matlab函数,因此编程速度快。 5.用途广泛。可用于数值计算和符号计算、数据分析、工程与科学绘图、图形用户界面设计、建模和仿真、控制系统设计、数字图像信号处理以及财务工程等。 6.功能超强。包含600多个常用算法内建函数,有众多面向具体应用的工具箱(如偏微分方程、最优化方法、数理统计、样条函数、神经网络工具箱等)和simulink仿真模块。此外,其他产品延伸了Matlab的能力,包括数据采集和依靠Matlab语言编程产生独立的C/C++代码等等。其算法函数大多由国际知名专家完成,算法稳定可靠、效率高。 7.具有开放式结构,扩展功能强。Matlab的开放式结构使Matlab产品族很

基于MATLAB的EXCEL数据计算与分析

基于MATLAB的EXCEL数据计算与分析 潜刘方 摘要:再怎么样希望先看摘要,阅读本文需要一定的MA TLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MA TLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exlink(也叫excel link),在网上搜索了相关的知识,发现很多关于exlink 的培训,觉得实在可笑,所以就将exlink的使用写的比较详细,以供读者自行分析体会。关键字:MATLAB excel exlink 接口 一、前沿 MATLAB是一款应用在各个领域的数学软件,最初叫做矩阵实验室,专用于矩阵的运算,后来的版本再各个领域都得到了很好的应用,比如:通信、电力电子、电机控制、运动控制、计算机控制、自动控制,DSP数字信号处理。但是MATLAB对于数据的处理与可视化是很多软件所不能及的。 EXCEL作为办公必备软件,能对简单数据分析计算与作图分析,但是处理复杂数据显得力不从心,比如三维作图就无法利用EXCEL作出;EXCEL本身的函数远远没有MATLAB 多,MATLAB作为数据有其独特的优势,集成了很多数学函数,包括数据拟合差值等。MATLAB 可以从EXCEL中读取数据,经过相关运算之后又可以将数据写入EXCEL,假如需要重复性的对excel可以利用MATLAB编写函数,每次只要运行MATLAB程序就可以完成,大大节省时间和精力。 另外,MATLAB还有与EXCEL的接口,叫做EXLINK,运用这个接口可以在excel中完成MATLAB函数的调用,还能传送数据给MATLAB,从MATLAB当中读取数据,从MATLAB 当中读取图形,使用方便,操作简单。 二、基于MATLAB的数据分析 数据分析操作流程主要分为三步:第一步,从excel中读取数据;第二部:利用MATLAB 大量函数对数据分析处理;第三步:将分析结果写入excel中。在整个过程中,不需要打开excel软件,操作十分方便,每次操作唯一要做就是修改excel所在的目录及文件名。主要函数如下(具体使用方法可在MATLAB命令窗口输入help +函数名查看):Xlsread 从excel中读数据 Xlswrite 向excel中邪数据 num2str 将数字转换为字符串 strncmp 字符串比较 polyfit 数据拟合 polyval 具体数值代入求值 plot 作图

基于MATLAB的数据实时采集与处理的实现_梁湘

0.引言 MATLAB/SIMULINK是现在流行的仿真软件。MATLAB集数学计算结果可视化和编程于一体,能够方便地进行科学计算和大量工程运算的数学软件;SIMULINK是MATLAB的常用组件,它是基于MATLAB的语言环境下实现动态装置建模,仿真和分析的一个集成环境,支持连续、离散及两者混合的线性和非线性装置,也支持具有多种采样速率的多速率装置,被广泛的用于控制系统设计和系统仿真等诸多领域。但是MATLAB不能直接对硬件进行读写操作,从而影响了在控制系统仿真上的应用范围。MATLAB提供了众多外部函数接口,本文从中选择MEX文件接口作为MATLAB对外界进行读写的通道,首先对USBCAN接口卡进行设计,接下来以这个接口卡为通道,实现了MATLAB对于硬件的访问。 1.USB-CAN转接卡的设计 首先对于USBCAN转接卡进行设计,以便于设计出的转接卡能作为通信通道,让MATLAB能够通过USBCAN转换模块采集CAN总线上的数据,然后进行仿真。 在基于CAN总线的控制系统中,作为下层网络的CAN总线与计算机之间的通信以往是通过基于RS232接口、PC机上的ISA总线和PCI总线的通信适配卡来完成的。这些种类的转接卡有传输速率较慢,设计复杂和不便于扩展等缺点。 本课题设计的CAN-USB转接卡的功能是:采集CAN总线上的数据,通过USB总线和上位控制站之间进行数据传输。在通讯方面,一方面要满足CAN的协议标准,实现开放性,互操作性,在高速通信的情况下做到拥有较好的抗干扰性能;另一方面,转接卡兼容USB1.1总线,转接卡可以通过USB连接到PC机。其主要设计参数如下:数据传输速率:波特率在5Kbit/s~1Mbit/s范围内: USB总线标准:满足USB1.1协议的标准USB设备A/B插座 CAN总线接口:DB9针型插座,符合DeviceNET和CANopen标准CAN协议:支持CAN2.0B协议(兼容CAN2.0A协议) 供电方式:USB总线供电(+5V)或者使用外接电源(+9V~+25V,400mA) 运行环境:WindowsXP 转接卡的方案设计的思想是在已经存在的CAN总线网络中增加一个数据采集节点,用来采集各个节点发来的的数据,再通过USB总线上传到PC机,进行分析过和存储等操作。设计的具体实现是采用单片机通过控制USB控制芯片,与PC机进行通信,从PC机得到采集数据的指令和向PC机上传数据。同时,因为USB总线速度较快,并且是要从CAN网络读取数据分析,所以单片机通过不同的片选信号控制两个CAN控制芯片,分别能够从两路CAN网络上采集数据,和将从PC机得到的数据通过两个CAN控制芯片分别发送出去。所设计的系统结构如下图1所表示: 两路CAN CAN总线 USB协议具有1.1和2.0两个版本。从MATLAB对数据进行读写出发,并且处于CAN总线所能提供的速率限制,USB协议1.1版本已经能满足我们所需要的性能要求。USB1.1提供两种数据传输速率,低速传输为1.5Mbps,全速传输为12Mbps,并支持所有USB的特性,如热插拔、具有统一的设备标准以及可以连接多个设备等。CAN总线目前有CAN协议2.0A和CAN协议2.0B两个版本。本次设计所选用的单片机和CAN网络控制芯片均可支持CAN协议2.0A和CAN协议2.0B两个版本。 图1USBCAN转接卡的总体设计 本设计选用89CS52作为单片机来对CAN控制芯片和USB控制芯片操作。89CS52是ATMEL公司生产的低电压,高性能的单片机,兼容80C51构架。选择SJA1000做CAN总线控制芯片。这款芯片是一个由飞利浦公司生产的独立的CAN控制器,它在汽车和普通的工业应用上都具有较为先进的特征。它能适合多种应用,特别是在系统优化、诊断和维护方面,并且能和支持80C51构架的单片机兼容。选择PCA82C250作为CAN总线接口芯片,这款芯片专为CAN总线进行差分通信而设计。 根据设计要求,USBCAN转接卡应该直接能与PC机相连接,再与CAN总线进行通信。对比USB协议三层设备:主机(HOST),集线器(HUB)和设备(NODE),PC机作为主机,USBCAN转接卡是作为最下面一个级别:设备(NODE),只需要与其相连而不需要再作为HUB接入其它USB设备。所以需要挑选的是能够在充当设备(NODE)的芯片,这款芯片应该可以与51系列单片机相连通,并且支持USB协议1.1版本。市场上此类控制芯片主要有两种,一种是将单片机(MCU)集成到USB芯片上,代表如EZ-USBFX2;另一种是纯粹的USB接口芯片,如PDIUSBD12。考虑到前文提出的设计指标等因素,本文选择了飞利浦公司的PDIUSBD12芯片。PDIUSBD12是一款性价比很高的USB器件,广泛的采用与许多PC机的外设。 硬件设计完成后,对于固化在单片机ROM中的程序进行设计。单片机ROM中的程序主要采用中断驱动。它将USB总线和CAN总线上的数据请求都当作中断处理,在相应的中断处理程序中再将所采集到的数据转发到另外一个总线。 最后对于转接卡的驱动程序进行设计。驱动程序采用Windows体系下WDM驱动程序模型。在这种模型下,对于USB设备来说,驱动程序可以分为USB底层驱动程序和USB功能驱动程序。USB底层驱动程序在实际运行中对实际硬件进行操作,实现了复杂的底层通信;USB功能驱动程序则一般由设备开发者编写,逻辑位置位于USB底 基于MATLAB的数据实时采集与处理的实现 梁湘 (同济大学机械工程学院中国上海200092) 【摘要】本文的利用USB与CAN两种技术的优点设计了通信转接卡,提高整个网络的通信质量。接下来,采用该转接卡作为MATLAB与SIMULINK环境下实时仿真的通信转接卡,进行MATLAB环境下对CAN总线数据的实时采集、处理与仿真功能,完成MATLAB与SIMULINK下对控制系统的仿真和实时控制,为类似的通信转接卡的研究提供一定的参考。 【关键词】USB-CAN转接卡;半实物平台;MATLAB;SIMULINK TheRealizationofReal-timeReadingandWritinginMATLAB LiangXiang (SchoolofMechanicalEngineering,TongjiUniversity,Shanghai200092) 【Abstract】ThepapertakesadvantageofCAN-busandUSB-bustodesignUSBCANadapter.Theadapterimprovesthequalityofnetwork’scommunication.Following,thepapertakesUSBCANadapterasachannelwithwhichMATLABcancollectdatafromCAN-bus.Inthisway,MATLABcancollect,handleandsimulatedatainreal time.

用计算机软件处理牛顿环等厚干涉实验数据

用计算机软件处理牛顿环等厚干涉实验数据 摘要 研究结果表明:通过计算机软件处理了实验数据得到了预期的结果。 本文主要研究了牛顿环实验的等厚干涉,其目的是:用牛顿环观察和分析等厚干涉现象;学会使用读数显微镜测距;学习用计算机软件处理实验数据得到透镜的曲率半径。 计算机软件处理实验数据是应用Microsoft Visual C++ 6.0软件根据牛顿环的等厚干涉的数学计算公式编辑c++程序代码来展现人的思维模式,并建立这一公式来实现对实验数据的处理,从而得到玻璃凸透镜曲率半径。 研究结果表明:本文根据等厚干涉理论,运用Microsoft Visual C++ 6.0软件编辑的程序的运算功能实现了对牛顿环实验数据的处理及展现了实验数据的处理过程,从而达到了预期目标。 本文的特色在于:在实现了牛顿环干涉实验数据处理的基础上,只需用户直接输入实验数据即可得到实验结果。

目录 (1)引言----------------------------------------------------------------------------------------2 (2)实验目的----------------------------------------------------------------------------------3 (3)实验仪器----------------------------------------------------------------------------------3 (4)实验原理----------------------------------------------------------------------------------3 (5)实验内容----------------------------------------------------------------------------------3 (6)数据记录与处理-------------------------------------------------------------------------4 (7)程序代码----------------------------------------------------------------------------------4 (8)运算结果及数据处理-------------------------------------------------------------------9 (9)误差分析----------------------------------------------------------------------------------10 参考文献----------------------------------------------------------------------------------------11

第6章MATLAB数据分析与多项式计算_习题答案

第6章MATLAB数据分析与多项式计算 习题6 一、选择题 1.设A=[1,2,3,4,5;3,4,5,6,7],则min(max(A))的值是()。B A.1B.3C.5D.7 2.已知a为3×3矩阵,则运行mean(a)命令是()。B A.计算a每行的平均值B.计算a每列的平均值 C.a增加一行平均值D.a增加一列平均值 3.在MATLAB命令行窗口输入下列命令: >>x=[1,2,3,4]; >>y=polyval(x,1); 则y的值为()。D A.5B.8C.24D.10 4.设P是多项式系数向量,A为方阵,则函数polyval(P,A)与函数polyvalm(P,A)的值()。D A.一个是标量,一个是方阵B.都是标量 C.值相等D.值不相等 5.在MATLAB命令行窗口输入下列命令: >>A=[1,0,-2]; >>x=roots(A); 则x(1)的值为()。C A.1B.-2C.1.4142D.-1.4142 6.关于数据插值与曲线拟合,下列说法不正确的是()。A A.3次样条方法的插值结果肯定比线性插值方法精度高。 B.插值函数是必须满足原始数据点坐标,而拟合函数则是整体最接近原始数据点,而不一定要必须经过原始数据点。 C.曲线拟合常常采用最小二乘原理,即要求拟合函数与原始数据的均方误差达到 极小。 D.插值和拟合都是通过已知数据集来求取未知点的函数值。 二、填空题 1.设A=[1,2,3;102030;456],则sum(A)=,median(A)=。 [152739],[456[ 2.向量[2,0,-1]所代表的多项式是。2x 2-1

2 3 .为 了求a x +b x +c =0的根,相应的命令是(假定a 、b 、c 值)。为了 将求得的根代回方程进行验证,相应的命令是。 x=roots([a,b,c]),polyval([a,b,c],x) 4.如果被插值函数是一个单变量函插值,相应的MATLAB 函数 是。一维,interp1 5.求曲线拟合多项式系数的函数是,计算多项式在给定点上函数值的函数 是。polyfit ,polyval 三、应用题 1.利用M A T L A B 提供的r a n d n 函数生 成符合 正态分 布的10× 5随A ,进行如下 操作: (1)A 各列元素的均值和标。 (2)A 的最大元素和最小元素。 (3)求A 每行元素的和以及全部元素之和。 (4对A 的每列元素按升序、每行元素按降序排序。 第一题: (1): A=randn(10,5) B=mean(A) C=std(A) (2): mx=max(max(A)) mn=min(min(A)) (3): sm=sum(A,2) sz=sum(sum(A)) (4): [Y,I]=sort(A,1) [Z,J]=sort(A,2); rot90(Z,1)'%旋转90度后,再转置便可得到每行按降序排列 2.已知多项式P1(x)=3x+2,P2(x)=5x 2-x+2,P3(x)=x 2-0.5,求: (1)P(x)=P 1(x)P2(x)P3(x)。 (2)P(x)=0的全部根。 (3)计算x i =0.2i(i=0,1,2,?,10)各点上的P(x i )。 第二题: (1): p1=[0,3,2]; p2=[5,-1,2]; 2

相关文档
最新文档