资源描述
1会计学matlab数字图像处理数字图像处理牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享如热敏电阻的电阻值随温度的变化的数据格式如下,保存文件名为:example.txt,路径为d:data下 在Matlab中要使用时,使用命令调入数据:load c:reportexample.txt以上数据将以example为名的2列矩阵被调入Matlab工作空间。输入example并回车,将显示出调入数据的情况。从方便和习惯出发,我们用向量T和R来处理数据,分别存放温度和电阻的数据:T=example (:,1); %将第一列数据(温度)存放在向量T中;R=example (:,2); %将第二列数据(电阻)存放在向量R中。牛牛文库文档分享如果在data_1.txt中的数据是按“行”方式存放的(第一行为温度,第二行为电阻),则操作应当是:T=data_1(1,:); %第一行数据放在T中。R=data_1(2,:); %第二行数据放在R中。括号内的参数是行和列的表达式,其中用“,”区分行和列,“,”之前表示行,“,”之后表示列。对于行(或列)的具体值用“n1:n2”的形式,表示从第n1行(列)到第n2行(列),如省略n1、n2表示全部行(列)。 牛牛文库文档分享也可以用.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)。 牛牛文库文档分享牛牛文库文档分享若x为存放某一物理量多次测量的结果的向量,std(x)如t为列向量时 mt=mean(t),求出t的平均值并赋于mt 牛牛文库文档分享Matlab中输入运算表达式 (5*2+1.3-0.8)*10/25ans =4.2000运算符 向量之间运算不用对每个数据进行操作,只需输入向量运算的表达式,即可完成所有对应元素的运算,被运算的两向量必须具有相同的结构。但上述运算符中的“*”、“/”、“”前应加“.”,即为:“.*”、“./”、“.”,否则,是按矩阵的运算规则进行。 T1=1./(T+273.2) %将摄氏温度转变绝对温度的倒数。 在运算时可以使用括号,但只能是“圆”括号。运算中可以使用各种函数,如:sqrt()、log()(自然对数)、log10()(常用对数)、sin()等等。 R1=log(R); %电阻值取自然对数(ln)。 牛牛文库文档分享牛牛文库文档分享 牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享plot:xy坐标都是线性坐标系;loglog: xy坐标都是对数坐标系;semilogx: x坐标轴是对数坐标系;semilogy: y坐标轴是对数坐标系;plotyy: 有两个y坐标轴,一个在左边,一个在右边。polar: 极坐标可以使用坐标转换函数,进行坐标转换。 cart2pol:笛卡尔坐标转换为极坐标或圆柱坐标cart2sph:笛卡尔坐标转换为球坐标pol2cart:极坐标或圆柱坐标转换为笛卡尔坐标sph2cart:球坐标转换为笛卡尔坐标牛牛文库文档分享绘图参数 牛牛文库文档分享在plot等绘图函数中,有根据输出的数据自动设定数轴界限的功能,但有时手动的调节也还是必不可少的。axis(xmin,xmax,ymin,ymax)设定了两个数轴的范围,其中可以用Inf,-Inf来让Matlab自动寻找合适的界限。牛牛文库文档分享title:标注图形的标题。例:title(反应进度)legend:标注图例。例:lengend(测量点,拟合曲线);其位置与plot中位置对应。xlabel: 对x轴标注。例:xlabel(时间)ylabel: 对y轴标注。例:ylabel(电导)text:在指定位置写上文字内容。例:text(2,4,实验温度:25)gtext:用鼠标给文字指定位置。grid on;给图形加网格线。牛牛文库文档分享Polyfit 求解最小二乘曲线拟合问题 polyfit(x,y,n)x,y为要拟合的数据n为希望最佳拟合数据的多项式的阶次n=1 线性近似,线性回归。n1 多阶拟合最好转变为直线关系来处理。 拟合牛牛文库文档分享例:拟合热敏电阻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。故先对理论公式作一点变换:取对数,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,T1,R1,+)legend(拟合曲线,测试值) %图例,拟合结果用实线表示,测试数据用“+”标出。可以看出拟合结果是满意的可以将完整的结果做成Matlab的m文件,就可以直接调用了。m文件的内容即为上述的命令行的集合,以ASCII形式存放,扩展名为m。为了让图形更完善,可以添加关于坐标轴、标题、文字、网格线等。牛牛文库文档分享牛牛文库文档分享插值 对数据点之间函数的估值方法拟合一样,插值有多种方法,根据所作的假设进行选择。而且,可以在一维以上空间中进行插值。 一维插值函数是interp1二维插值函数是interp2 interp1的缺省用法是由interp1(x, y, xo)来描述,这里x是自变量,y是应变量,xo是进行插值的一个数值数组。也就是说,将测得的多个电势数据存放在e1中,则t1中即是对应的所有温度的值。这里使用假定为线性插值。 牛牛文库文档分享若不采用直线连接数据点,可采用某些更光滑的曲线来拟合数据点。最常用的方法是用一个3阶多项式,即3次多项式,来对相继数据点之间的各段建模,每个3次多项式的头两个导数与该数据点相一致。这种类型的插值被称为3次样条或简称为样条插值。只需在函数interp1中加上“spline”参数即可。t1=interp1(E, T, e1, spline )牛牛文库文档分享拟合和插值函数 牛牛文库文档分享a默认保存在matlabbin目录下,文件名为diaryb可以指定路径和文件名牛牛文库文档分享牛牛文库文档分享产生的数据也可简单地用复制的办法,粘贴到其它的字处理文挡中进行处理;使用Matlab的Save命令: save -ascii 如不用-ascii参数,将以2进制格式保存,默认扩展名为.mat。下次需要使用可用load命令调入,即可使用所有保存过的变量。同样,如果Filename不指定路径,将存放于matlabbin目录中。 牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享菜单栏的结构取决于当前的活动窗口工作表菜单绘图菜单矩阵窗口 牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享按住鼠标左键拖动选定这两列数据,用下图最下面一排按钮就可以绘制简单的图形,按从左到右三个按钮做出的效果分别如下: 牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享用鼠标双击图线调出下面窗口 牛牛文库文档分享双击坐标轴得到,下图牛牛文库文档分享 用左侧按纽T,如果想移动位置,可以用鼠标拖动。注意利用Symbol Map可以方便的添加特殊字符。做法:在文本编辑状态下,点右键,然后选择:Symbol Map。 牛牛文库文档分享利用左侧的菜单可以作出很多特殊要求的图像,比如两点线段图 三点线段图等,水平(垂直)阶梯图、样条曲线图、垂线图等下面给出一个演示,具体的自己捉摸 牛牛文库文档分享首先激活绘图窗口,选择菜单命令Analysis,则可以看到 线性拟合 多项式拟合 指数衰减拟合 指数增长拟合 多峰值拟合 牛牛文库文档分享这是Origin提供的功能最强大、使用也最复杂的拟合工具。方法是Analysis-Non-Linear Curve FitAdvanced Fitting Tools或者Fitting Wizad具体的请自己体会。高级模式 利用Function-new可以自定义拟合函数 基本模式,利用new可以自定义拟合函数 牛牛文库文档分享Wizad模式高级模式中利用ActionDataset设置,在基本模式中用Select Dataset设置。牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享title:标注图形的标题。例:title(反应进度)legend:标注图例。例:lengend(测量点,拟合曲线);其位置与plot中位置对应。xlabel: 对x轴标注。例:xlabel(时间)ylabel: 对y轴标注。例:ylabel(电导)text:在指定位置写上文字内容。例:text(2,4,实验温度:25)gtext:用鼠标给文字指定位置。grid on;给图形加网格线。牛牛文库文档分享Polyfit 求解最小二乘曲线拟合问题 polyfit(x,y,n)x,y为要拟合的数据n为希望最佳拟合数据的多项式的阶次n=1 线性近似,线性回归。n1 多阶拟合最好转变为直线关系来处理。 拟合牛牛文库文档分享例:拟合热敏电阻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。故先对理论公式作一点变换:取对数,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,T1,R1,+)legend(拟合曲线,测试值) %图例,拟合结果用实线表示,测试数据用“+”标出。可以看出拟合结果是满意的可以将完整的结果做成Matlab的m文件,就可以直接调用了。m文件的内容即为上述的命令行的集合,以ASCII形式存放,扩展名为m。为了让图形更完善,可以添加关于坐标轴、标题、文字、网格线等。牛牛文库文档分享牛牛文库文档分享牛牛文库文档分享
展开阅读全文