origin与matlab使用教程
第二讲 数据处理,Matlab和Origin处理实验数据,主要特点,MATLAB (MATrix LABoratory)具有用法简易、可灵活运用、程式结构强又兼具延展性。,功能强的数值运算 先进的资料视觉化功能 高阶但简单的程式环境 开放及可延伸的架构 丰富的程式工具箱,优化工具包(Optimization Toolbox)、 控制工具包(Control Toolbox)、 通信工具包(Communication Toolbox)、 图象处理工具包(Image Processing Toolbox)、 统计工具包(Statistic Toolbox),,主要应用,应用线性代数 自动控制理论 数据统计 数字信号处理 时间序列分析 动态系统仿真 图形处理 合成、化学计量分析,2.1.1.2 Matlab 处理实验数据基本操作,基本运算单元 矩阵 单个数据 标量或1×1的矩阵 单行或单列的矩阵 向量(行向量或列向量) 大气压力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)输入向量或矩阵,“[”、“]”(方括)是必须的。 2)如果在语句最后加入“;”作为输入结束,则回车后输入的结果不回显,否则将回显,2.1.2.1 数据输入,文件读入 直接输入法只适合少量数据输入,对于大量的数据,或由外部程序产生的,或由计算机自动采集的数据,主要以 文件形式存在。Matlab可以从文件读入数据。 主要介绍ACSII文件输入 文件格式如下: 如果有2个以上的向量,每一向量为一列(或一行),数据之间用“,”或空格分开。,2.1.2.1 数据输入,如热敏电阻的电阻值随温度的变化的数据格式如下,保存文件名为:example.txt,路径为d:data下,在Matlab中要使用时,使用命令调入数据: load c:
eportexample.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中。,括号内的参数是行和列的表达式,其中用“,”区分行和列,“,”之前表示行,“,”之后表示列。对于行(或列)的具体值用“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,则应在调用此数据之前先运行 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/25 ans =4.2000,运算符,向量之间运算不用对每个数据进行操作,只需输入向量运算的表达式,即可完成所有对应元素的运算,被运算的两向量必须具有相同的结构。但上述运算符中的“*”、“/”、“^”前应加“.”,即为:“.*”、“./”、“.^”,否则,是按矩阵的运算规则进行。,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为表达自变量与函数的值的向量, 参数 线型、标记、颜色 同一坐标系统中画多个图形, 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列的m×n个小图形窗口,选择第i个小窗口为当前输出窗口,i在1~m×n之间。,2.1.3.2 选择不同的坐标系统,plot:xy坐标都是线性坐标系; loglog: xy坐标都是对数坐标系; semilogx: x坐标轴是对数坐标系; semilogy: y坐标轴是对数坐标系; plotyy: 有两个y坐标轴,一个在左边,一个在右边。 polar: 极坐标,可以使用坐标转换函数,进行坐标转换。,cart2pol:笛卡尔坐标转换为极坐标或圆柱坐标 cart2sph:笛卡尔坐标转换为球坐标 pol2cart:极坐标或圆柱坐标转换为笛卡尔坐标 sph2cart:球坐标转换为笛卡尔坐标,2.1.3.3 绘图参数选择,绘图参数,2.1.3.4 数轴的数据范围设置,在plot等绘图函数中,有根据输出的数据自动设定数轴界限的功能,但有时手动的调节也还是必不可少的。 axis([xmin,xmax,ymin,ymax]) 设定了两个数轴的范围,其中可以用Inf,-Inf来让Matlab自动寻找合适的界限。,2.1.3.5图形的标注,title:标注图形的标题。例:title(‘反应进度’) legend:标注图例。例:lengend(‘测量点’,’拟合曲线’);其位置与plot中位置对应。 xlabel: 对x轴标注。例:xlabel(‘时间’) ylabel: 对y轴标注。例:ylabel(‘电导’) text:在指定位置写上文字内容。例:text(2,4,’实验温度:25’) gtext:用鼠标给文字指定位置。 grid on;给图形加网格线。,