origin与matlab使用教程

上传人:宝路 文档编号:3485942 上传时间:2017-08-05 格式:PPT 页数:68 大小:6.20MB
返回 下载 相关 举报
origin与matlab使用教程_第1页
第1页 / 共68页
origin与matlab使用教程_第2页
第2页 / 共68页
origin与matlab使用教程_第3页
第3页 / 共68页
origin与matlab使用教程_第4页
第4页 / 共68页
origin与matlab使用教程_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《origin与matlab使用教程》由会员分享,可在线阅读,更多相关《origin与matlab使用教程(68页珍藏版)》请在金锄头文库上搜索。

1、第二讲 数据处理,Matlab和Origin处理实验数据,主要特点,MATLAB (MATrix LABoratory)具有用法简易、可灵活运用、程式结构强又兼具延展性。,功能强的数值运算先进的资料视觉化功能高阶但简单的程式环境开放及可延伸的架构丰富的程式工具箱,优化工具包(Optimization Toolbox)、控制工具包(Control Toolbox)、通信工具包(Communication Toolbox)、图象处理工具包(Image Processing Toolbox)、统计工具包(Statistic Toolbox),主要应用,应用线性代数自动控制理论数据统计数字信号处理时间

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 -如果是行向量,数据之间用空格或“,”分隔。如果是列向量,数据间之间用“;”分隔。矩阵:每行的

3、数据之间用空格或“,”分隔,分列时用“;”。1)输入向量或矩阵,“”、“”(方括)是必须的。2)如果在语句最后加入“;”作为输入结束,则回车后输入的结果不回显,否则将回显,2.1.2.1 数据输入,文件读入 直接输入法只适合少量数据输入,对于大量的数据,或由外部程序产生的,或由计算机自动采集的数据,主要以 文件形式存在。Matlab可以从文件读入数据。主要介绍ACSII文件输入文件格式如下:如果有2个以上的向量,每一向量为一列(或一行),数据之间用“,”或空格分开。,2.1.2.1 数据输入,如热敏电阻的电阻值随温度的变化的数据格式如下,保存文件名为:example.txt,路径为d:data

4、下,在Matlab中要使用时,使用命令调入数据:load c:reportexample.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,:); %第一行数

5、据放在T中。R=data_1(2,:); %第二行数据放在R中。,括号内的参数是行和列的表达式,其中用“,”区分行和列,“,”之前表示行,“,”之后表示列。对于行(或列)的具体值用“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目录以下)。

6、如果保存在用户自己的工作目录,如d:mywork,则应在调用此数据之前先运行 cd d:mywork,或将该目录加入到Matlab的搜索路径中:path(path,d:mywork)。,2.1.2.2 有关数据分析函数,2.1.2.2 有关数据分析函数,若x为存放某一物理量多次测量的结果的向量,std(x),如t为列向量时,mt=mean(t),求出t的平均值并赋于mt,2.1.2.3 Matlab中的运算,Matlab中输入运算表达式,(5*2+1.3-0.8)*10/25ans =4.2000,运算符,向量之间运算不用对每个数据进行操作,只需输入向量运算的表达式,即可完成所有对应元素的运算

7、,被运算的两向量必须具有相同的结构。但上述运算符中的“*”、“/”、“”前应加“.”,即为:“.*”、“./”、“.”,否则,是按矩阵的运算规则进行。,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为表达自变量与函数的值的向量, 参数 线型、标记、颜色 同一

8、坐标系统中画多个图形,Plot(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坐标轴是对数坐标

9、系;plotyy: 有两个y坐标轴,一个在左边,一个在右边。polar: 极坐标,可以使用坐标转换函数,进行坐标转换。,cart2pol:笛卡尔坐标转换为极坐标或圆柱坐标cart2sph:笛卡尔坐标转换为球坐标pol2cart:极坐标或圆柱坐标转换为笛卡尔坐标sph2cart:球坐标转换为笛卡尔坐标,2.1.3.3 绘图参数选择,绘图参数,2.1.3.4 数轴的数据范围设置,在plot等绘图函数中,有根据输出的数据自动设定数轴界限的功能,但有时手动的调节也还是必不可少的。axis(xmin,xmax,ymin,ymax)设定了两个数轴的范围,其中可以用Inf,-Inf来让Matlab自动寻找合

10、适的界限。,2.1.3.5图形的标注,title:标注图形的标题。例:title(反应进度)legend:标注图例。例:lengend(测量点,拟合曲线);其位置与plot中位置对应。xlabel: 对x轴标注。例:xlabel(时间)ylabel: 对y轴标注。例:ylabel(电导)text:在指定位置写上文字内容。例:text(2,4,实验温度:25)gtext:用鼠标给文字指定位置。grid on;给图形加网格线。,2.1.4拟合和插值,Polyfit 求解最小二乘曲线拟合问题,polyfit(x,y,n)x,y为要拟合的数据n为希望最佳拟合数据的多项式的阶次n=1 线性近似,线性回归

11、。n1 多阶拟合最好转变为直线关系来处理。,2.1.4.1 拟合,例:拟合热敏电阻R-T曲线,R-T数据已存放在文件中。在Matlab中用命令方式一步步地操作:,load c:reportrt1.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。故先对理论公式作一点变换:

12、取对数,lnR=lna+b/T,然后相应处理数据:R1=log(R) %R的值取自然对数(ln),T1=1./T %T值求倒数,注意有一个“.”;p1=polyfit(T1,R1,1) %T与lnR进行线性拟合,求出拟合多项式的系数,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,

13、T1,R1,+)legend(拟合曲线,测试值) %图例,拟合结果用实线表示,测试数据用“+”标出。可以看出拟合结果是满意的,可以将完整的结果做成Matlab的m文件,就可以直接调用了。m文件的内容即为上述的命令行的集合,以ASCII形式存放,扩展名为m。为了让图形更完善,可以添加关于坐标轴、标题、文字、网格线等。,在对实验数据进行拟合时,决定自变量与函数的关系的原则首先是根据理论上是什么关系,然后尽可能地将其变换为线性关系进行拟合。如果不能获得线性的关系,或者实验数据不知其理论关系是怎样的,则要根据其图象采用适当的多项式或其它关系进行拟合试验,以找到适当的函数关系,这也就是获得经验公式的一般

14、方法。,2.1.4.2 插值,插值 对数据点之间函数的估值方法,拟合一样,插值有多种方法,根据所作的假设进行选择。而且,可以在一维以上空间中进行插值。,一维插值函数是interp1二维插值函数是interp2,interp1的缺省用法是由interp1(x, y, xo)来描述,这里x是自变量,y是应变量,xo是进行插值的一个数值数组。也就是说,将测得的多个电势数据存放在e1中,则t1中即是对应的所有温度的值。这里使用假定为线性插值。,若不采用直线连接数据点,可采用某些更光滑的曲线来拟合数据点。最常用的方法是用一个3阶多项式,即3次多项式,来对相继数据点之间的各段建模,每个3次多项式的头两个导

15、数与该数据点相一致。这种类型的插值被称为3次样条或简称为样条插值。只需在函数interp1中加上“spline”参数即可。t1=interp1(E, T, e1, spline ),拟合和插值函数,2.1.5 MATLAB数据的输出,日志命令(diary)产生日志文件使用diary off命令关闭日志可以如下操作:diary .(操作) diary off,2.1.5.2 保存图形,在图形窗口选择EditCopy,将图形复制到剪贴板,即可粘贴到Word或画图板中进行处理了。键盘上的“Print Screen”键将整个屏幕复制到剪贴板,然后在画图板中进行处理。Matlab也提供了直接生成图形文件的命令: print dbitmap ,生成的图形文件为bitmap格式,所以文件的扩展名应取为.bmp。 !!使用print命令时,注意检查FilePreferencesCopying Options中“白背景”选项,选中。否则粘贴出的图形将是黑背景。若忽略filename 则复制到剪贴板。,2.1.5.3 数据保存,产生的数据也可简单地用复制的办法,粘贴到其它的字处理文挡中进行处理;使用Matlab的Save命令: save -ascii,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号