《origin与matlab使用教程.ppt》由会员分享,可在线阅读,更多相关《origin与matlab使用教程.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二讲 数据处理Matlab和Origin处理实验数据主要特点MATLAB(MATrixLABoratory)具有用法简易、可灵活运用、程式结构强又兼具延展性。功能强的数值运算先进的资料视觉化功能高阶但简单的程式环境开放及可延伸的架构丰富的程式工具箱优化工具包(OptimizationToolbox)、控制工具包(ControlToolbox)、通信工具包(CommunicationToolbox)、图象处理工具包(ImageProcessingToolbox)、统计工具包(StatisticToolbox)主要应用应用线性代数自动控制理论数据统计数字信号处理时间序列分析动态系统仿真图形处理合
2、成、化学计量分析2.1.1.2 Matlab 处理实验数据基本操作基本运算单元矩阵单个数据标量或11的矩阵单行或单列的矩阵向量(行向量或列向量)大气压力p为754mmHg,p即为为标量。不同时刻t对应某物理量y,t和y即为2个向量。t和y放在一起(第一列为时间,第二列为y),用data来表示,则data就为2列的矩阵,行数为t或y的个数(它们必须相等)。工作界面2.1.2.1 数据输入直接输入标量:p=754;向量:t=5,10,15,21,25,30-如果是行向量,数据之间用空格或“,”分隔。如果是列向量,数据间之间用“;”分隔。矩阵:每行的数据之间用空格或“,”分隔,分列时用“;”。1)输
3、入向量或矩阵,“”、“”(方括)是必须的。2)如果在语句最后加入“;”作为输入结束,则回车后输入的结果不回显,否则将回显2.1.2.1 数据输入文件读入直接输入法只适合少量数据输入,对于大量的数据,或由外部程序产生的,或由计算机自动采集的数据,主要以文件形式存在。Matlab可以从文件读入数据。主要介绍ACSII文件输入文件格式如下:如果有2个以上的向量,每一向量为一列(或一行),数据之间用“,”或空格分开。2.1.2.1 数据输入如热敏电阻的电阻值随温度的变化的数据格式如下,保存文件名为:example.txt,路径为d:data下在Matlab中要使用时,使用命令调入数据:loadc:re
4、portexample.txt以上数据将以example为名的2列矩阵被调入Matlab工作空间。输入example并回车,将显示出调入数据的情况。从方便和习惯出发,我们用向量T和R来处理数据,分别存放温度和电阻的数据:T=example(:,1);%将第一列数据(温度)存放在向量T中;R=example(:,2);%将第二列数据(电阻)存放在向量R中。2.1.2.1 数据输入如果在data_1.txt中的数据是按“行”方式存放的(第一行为温度,第二行为电阻),则操作应当是:T=data_1(1,:);%第一行数据放在T中。R=data_1(2,:);%第二行数据放在R中。括号内的参数是行和列
5、的表达式,其中用“,”区分行和列,“,”之前表示行,“,”之后表示列。对于行(或列)的具体值用“n1:n2”的形式,表示从第n1行(列)到第n2行(列),如省略n1、n2表示全部行(列)。2.1.2.1 数据输入也可以用.m文件准备上面的数据:用纯文本编辑器(如记事本),编辑以下内容。p=754;t=有关数据;y=有关数据;将以上内容保存为data_2.m使用时,在Matlab中输入:data_2即将p、t、y数据调入工件空间。注意此文件应保存在Matlab的搜索路径内(一般在Matlab目录以下)。如果保存在用户自己的工作目录,如d:mywork,则应在调用此数据之前先运行cdd:mywor
6、k,或将该目录加入到Matlab的搜索路径中:path(path,d:mywork)。2.1.2.2 有关数据分析函数 corrcoef(x)corrcoef(x)求相关系数求相关系数sort(x)sort(x)按升序排列按升序排列cov(x)cov(x)协方差矩阵协方差矩阵std(x)std(x)列的标准偏差列的标准偏差cumprod(x)cumprod(x)列累计积列累计积sum(x)sum(x)各列的元素和各列的元素和cumsum(x)cumsum(x)列累计和列累计和max(x)max(x)各列的最大值各列的最大值diff(x)diff(x)计算元素之间差计算元素之间差min(x)mi
7、n(x)各列的最小值各列的最小值mean(x)mean(x)均值或列的平均值均值或列的平均值prod(x)prod(x)列元素的积列元素的积median(x)median(x)列的中值列的中值2.1.2.2 有关数据分析函数若x为存放某一物理量多次测量的结果的向量,std(x)如t为列向量时mt=mean(t),求出t的平均值并赋于mt2.1.2.3 Matlab中的运算 加加减减乘乘右除右除左除左除乘方乘方+-*/Matlab中输入运算表达式(5*2+1.3-0.8)*10/25ans=4.2000运算符向量之间运算不用对每个数据进行操作,只需输入向量运算的表达式,即可完成所有对应元素的运算
8、,被运算的两向量必须具有相同的结构。但上述运算符中的“*”、“/”、“”前应加“.”,即为:“.*”、“./”、“.”,否则,是按矩阵的运算规则进行。T1=1./(T+273.2)%将摄氏温度转变绝对温度的倒数。在运算时可以使用括号,但只能是“圆”括号。运算中可以使用各种函数,如:sqrt()、log()(自然对数)、log10()(常用对数)、sin()等等。R1=log(R);%电阻值取自然对数(ln)。2.1.3 Maltab的图形功能2.1.3.1绘图语句及图形窗口的选择和建立plot(x,y,参数)x、y为表达自变量与函数的值的向量,参数线型、标记、颜色同一坐标系统中画多个图形,Pl
9、ot(x,y,参数,x1,y1,参数)例:绘一条二维曲线(y=et/2.sin3t)。t=0:pi/50:4*pi;%定义横轴向量,从0到4,每个数据间相差/50。y=exp(t/2).*sin(3*t);计算纵轴向量y。plot(t,y)%绘制二维图形subplot(m,n,i)产生一个m行n列的mn个小图形窗口,选择第i个小窗口为当前输出窗口,i在1mn之间。2.1.3.2 选择不同的坐标系统 plot:xy坐标都是线性坐标系;loglog:xy坐标都是对数坐标系;semilogx:x坐标轴是对数坐标系;semilogy:y坐标轴是对数坐标系;plotyy:有两个y坐标轴,一个在左边,一个
10、在右边。polar:极坐标可以使用坐标转换函数,进行坐标转换。cart2pol:笛卡尔坐标转换为极坐标或圆柱坐标cart2sph:笛卡尔坐标转换为球坐标pol2cart:极坐标或圆柱坐标转换为笛卡尔坐标sph2cart:球坐标转换为笛卡尔坐标2.1.3.3 绘图参数选择 点或线的颜色点或线的颜色标记点的形式标记点的形式线型线型yy(黄)(黄).(点)(点)-(实线)(实线)mm(紫红)(紫红)oo(圆圈)(圆圈):(点线)(点线)cc(青)(青)xx(叉)(叉)-.-.(点划线)(点划线)r r(红)(红)+(虚线)(虚线)gg(绿)(绿)*bb(兰)(兰)ss(正方形)(正方形)ww(白)(
11、白)dd(菱形)(菱形)kk(黑)(黑)v(v(向下三角形向下三角形)(向上三角形向上三角形)(向右三角形向右三角形)p(p(五角星)五角星)hh(六角形)(六角形)绘图参数绘图参数2.1.3.4 数轴的数据范围设置 在plot等绘图函数中,有根据输出的数据自动设定数轴界限的功能,但有时手动的调节也还是必不可少的。axis(xmin,xmax,ymin,ymax)设定了两个数轴的范围,其中可以用Inf,-Inf来让Matlab自动寻找合适的界限。2.1.3.5图形的标注 title:标注图形的标题。例:title(反应进度)legend:标注图例。例:lengend(测量点,拟合曲线);其位置
12、与plot中位置对应。xlabel:对x轴标注。例:xlabel(时间)ylabel:对y轴标注。例:ylabel(电导)text:在指定位置写上文字内容。例:text(2,4,实验温度:25)gtext:用鼠标给文字指定位置。gridon;给图形加网格线。2.1.4拟合和插值 Polyfit 求解最小二乘曲线拟合问题polyfit(x,y,n)x,y为要拟合的数据n为希望最佳拟合数据的多项式的阶次n=1线性近似,线性回归。n1 多多阶拟合最好转变为直线关系来处理。2.1.4.1拟合例:拟合热敏电阻R-T曲线R-T数据已存放在文件中。在Matlab中用命令方式一步步地操作:loadc:repo
13、rtrt1.txt%将数据调入名为rt1的矩阵;rt1%查看rt1的内容;T=rt1(:,1)+273.15%将rt1的第一列温度数据转换为绝对温度并置于向量T;R=rt1(:,2)%将rt1的第二列电阻数据置于向量R;为了直观地看到R-T关系,可画出图形:plot(T,R,+)%看R-T曲线,用“+”号表示数据点(图b-1-4)。R-T的关系,理论上应为:R=aeb/T。故先对理论公式作一点变换:取对数,lnR=lna+b/T,然后相应处理数据:R1=log(R)%R的值取自然对数(ln),T1=1./T%T值求倒数,注意有一个“.”;p1=polyfit(T1,R1,1)%T与lnR进行线
14、性拟合,求出拟合多项式的系数,p1为1行2列的矩阵,p1(1)为一次项系数(b),p1(2)为常数项(lna);p1=1.0e+003*3.2791-0.0094则R1=3.2791103T1-9.4即lnR=3.2791103/T-9.4表示电阻和温度的关系。R2=polyval(p1,T1)%计算拟合的函数值,再在同一图上比较拟合值与测试值的区别:plot(T1,R2,T1,R1,+)legend(拟合曲线,测试值)%图例,拟合结果用实线表示,测试数据用“+”标出。可以看出拟合结果是满意的可以将完整的结果做成Matlab的m文件,就可以直接调用了。m文件的内容即为上述的命令行的集合,以AS
15、CII形式存放,扩展名为m。为了让图形更完善,可以添加关于坐标轴、标题、文字、网格线等。在对实验数据进行拟合时,决定自变量与函数的关系的原则首先是根据理论上是什么关系,然后尽可能地将其变换为线性关系进行拟合。如果不能获得线性的关系,或者实验数据不知其理论关系是怎样的,则要根据其图象采用适当的多项式或其它关系进行拟合试验,以找到适当的函数关系,这也就是获得经验公式的一般方法。2.1.4.2 插值 插值对数据点之间函数的估值方法拟合一样,插值有多种方法,根据所作的假设进行选择。而且,可以在一维以上空间中进行插值。一维插值函数是interp1二维插值函数是interp2interp1的缺省用法是由i
16、nterp1(x,y,xo)来描述,这里x是自变量,y是应变量,xo是进行插值的一个数值数组。也就是说,将测得的多个电势数据存放在e1中,则t1中即是对应的所有温度的值。这里使用假定为线性插值。若不采用直线连接数据点,可采用某些更光滑的曲线来拟合数据点。最常用的方法是用一个3阶多项式,即3次多项式,来对相继数据点之间的各段建模,每个3次多项式的头两个导数与该数据点相一致。这种类型的插值被称为3次样条或简称为样条插值。只需在函数interp1中加上“spline”参数即可。t1=interp1(E,T,e1,spline)拟合和插值函数polyfit(x,y,n)polyfit(x,y,n)用用
17、n n阶多项式阶多项式y=f(x)y=f(x)对数据进行最小二对数据进行最小二乘拟合乘拟合Polyval(p,x)Polyval(p,x)多项式多项式p p在自变量为在自变量为x x时的值时的值interp1(x,y,xo)interp1(x,y,xo)1 1维线性插值,维线性插值,x=xox=xo时的时的y y值值interp1(x,y,xo,spline)interp1(x,y,xo,spline)1 1维维3 3次样条插值次样条插值interp1(x,y,xo,cubic)interp1(x,y,xo,cubic)1 1维维3 3次插值次插值interp2(x,y,Z,xi,yi)int
18、erp2(x,y,Z,xi,yi)2 2维线性插值,维线性插值,x=xi,y=yix=xi,y=yi时时Z Z的值的值interp2(x,y,Z,xi,yi,interp2(x,y,Z,xi,yi,cubic)cubic)2 2维维3 3次插值次插值interp2(x,y,Z,xi,yi,interp2(x,y,Z,xi,yi,nearest)nearest)2 2维最近邻插值维最近邻插值2.1.5 MATLAB数据的输出 日志命令(diary)产生日志文件使用diaryoff命令关闭日志可以如下操作:diary.(操作)diaryoffa默认保存在matlabbin目录下,文件名为diary
19、b可以指定路径和文件名2.1.5.2 保存图形 在图形窗口选择EditCopy,将图形复制到剪贴板,即可粘贴到Word或画图板中进行处理了。键盘上的“Print Screen”键将整个屏幕复制到剪贴板,然后在画图板中进行处理。Matlab也提供了直接生成图形文件的命令:print dbitmap,生成的图形文件为bitmap格式,所以文件的扩展名应取为.bmp。!!使用print命令时,注意检查FilePreferencesCopying Options中“白背景”选项,选中。否则粘贴出的图形将是黑背景。若忽略filename 则复制到剪贴板。2.1.5.3 数据保存 产生的数据也可简单地用复
20、制的办法,粘贴到其它的字处理文挡中进行处理;使用Matlab的Save命令:save -ascii 如不用-ascii参数,将以2进制格式保存,默认扩展名为.mat。下次需要使用可用load命令调入,即可使用所有保存过的变量。同样,如果Filename不指定路径,将存放于matlabbin目录中。Origin 程序应用Origin是美国Microcal公司出的数据分析和绘图软件,现在的最高版本为7.5使用简单,采用直观的、图形化的、面向对象的窗口菜单和工具栏操作,全面支持鼠标右键、支持拖方式绘图等数据分析数据的排序、调整、计算、统计、频谱变换、曲线拟合绘图基于模版,提供几十种二维和三维绘图模板
21、而且允许用户自己定制模板工作界面 菜单栏 菜单栏的结构取决于当前的活动窗口工作表菜单绘图菜单矩阵窗口菜单简要说明 File文件功能操作打开文件、输入输出数据图形等Edit编辑功能操作包括数据和图像的编辑等,比如复制粘贴清除等,特别注意undo功能View视图功能操作控制屏幕显示,Plot绘图功能操作主要提供5类功能:1、几种样式的二维绘图功能,包括直线、描点、直线2、三维绘图加符号、特殊线符号、条形图、柱形图、特殊条形图柱形图和饼图3、气泡彩色映射图、统计图和图形版面布局4、特种绘图,包括面积图、极坐标图和向量5、模板:把选中的工作表数据到如绘图模板Column列功能操作比如设置列的属性,增加
22、删除列等Graph图形功能操作主要功能包括增加误差栏、函数图、缩放坐标轴、交换X、Y轴等Data数据功能操作Analysis分析功能操作对工作表窗口:提取工作表数据;行列统计;排序;数字信号处理(快速傅里叶变换FFT、相关Corelate、卷积Convolute、解卷Deconvolute);统计功能(T检验)、方差分析(ANOAV)、多元回归(MultipleRegression);非线性曲线拟合等对绘图窗口:数学运算;平滑滤波;图形变换;FFT;线性多项式、非线性曲线等各种拟合方法Plot3D三维绘图功能操作根据矩阵绘制各种三维条状图、表面图、等高线等Matrix矩阵功能操作对矩阵的操作,
23、包括矩阵属性、维数和数值设置,矩阵转置和取反,矩阵扩展和收缩,矩阵平滑和积分等Tools工具功能操作对工作表窗口:选项控制;工作表脚本;线性、多项式和S曲线拟合对绘图窗口:选项控制;层控制;提取峰值;基线和平滑;线性、多项式和S曲线拟合Format格式功能操作对工作表窗口:菜单格式控制、工作表显示控制,栅格捕捉、调色板等对绘图窗口:菜单格式控制;图形页面、图层和线条样式控制,栅格捕捉,坐标轴样式控制和调色板等Window窗口功能操作控制窗口显示Help帮助基本操作 作图的一般需要一个项目Project来完成,FileNew保存项目的缺省后缀为:OPJ自动备份功能:ToolsOptionOpen
24、Close选项卡“BackupProjectBeforeSaving”添加项目:FileAppend刷新子窗口:如果修改了工作表或者绘图子窗口的内容,一般会自动刷新,如果没有请WindowRefresh数据输入手动输入从ASCII文档导入从Excel等文件导入数据输入一般来说数据按照XY坐标存为两列,假设文件为sindata.dat,如下格式:xsin(x)0.00.0000.10.1000.20.1990.30.296输入数据请对准data1表格点右键调出如下窗口,然后选择InportASCII找到sindata.dat文件打开就行绘制简单二维图 按住鼠标左键拖动选定这两列数据,用下图最下面
25、一排按钮就可以绘制简单的图形,按从左到右三个按钮做出的效果分别如下:设置列属性置列属性 双击A列或者点右键选则Properties,这里可以设置一些列的属性。基本运算数据数据浏览 DataSelector选择一段数据曲线,作出标志一是鼠标,而是利用Ctrl,Ctrl+Shift与左右箭头的组合DataReader读取数据曲线上的选定点的XY值ScreenReader读取绘图窗口内选定点的XY值Enlarger局部放大曲线Zoom缩放注意利用方向键,以及与Ctrl和Shift的组合ScreenReaderScreenReaderDataReaderDataReaderDataSelectorDa
26、taSelector定制图形 用鼠标双击图线调出下面窗口定制坐标轴 双击坐标轴得到,下图添加文本说明 用左侧按纽T,如果想移动位置,可以用鼠标拖动。注意利用SymbolMap可以方便的添加特殊字符。做法:在文本编辑状态下,点右键,然后选择:SymbolMap。利用左侧的菜单可以作出很多特殊要求的图像,比如两点线段图三点线段图等,水平(垂直)阶梯图、样条曲线图、垂线图等下面给出一个演示,具体的自己捉摸非线性拟合 首先激活绘图窗口,选择菜单命令Analysis,则可以看到线性拟合多项式拟合指数衰减拟合指数增长拟合多峰值拟合非线性最小平方拟合NLSF 这是Origin提供的功能最强大、使用也最复杂的
27、拟合工具。方法是Analysis-Non-LinearCurveFitAdvancedFittingTools或者FittingWizad具体的请自己体会。高级模式利用Function-new可以自定义拟合函数基本模式,利用new可以自定义拟合函数Wizad模式高级模式中利用ActionDataset设置,在基本模式中用SelectDataset设置。数据分析 简单数学运算(SimpleMath)统计(Statistics)快速傅里叶变换(FFT)平滑和滤波(SmoothingandFiltering)基线和峰值分析(BaselineandPeakAnalysis)算术运算这是实现Y=Y1(+
28、-*/)Y2的运算,其中Y和Y1为数列,Y2为数列或者数字。命令为:AnalysisSimpleMath插值 插值是指在当前激活的数据曲线的数据点之间利用某种方法估计置信数据点。AnalysisInterpolateandExtrapolate统计 平均值(Mean)标准差(StandardDeviation,Std,SD)标准误差(StandardErroroftheMean)最小值(Minimum)最大值(Maximum)百分位数(Percentiles)直方图(Histogram)T检验(T-testforOneorTwoPopulations)方差分析(One-wayANOVA)线性、多项式和多元回归分析(Linear、PolynomialandMultipleRegressionAnalysis)举例