MATLAB数学手册教程_第7章__绘图与图形处理(同名10258).doc
《MATLAB数学手册教程_第7章__绘图与图形处理(同名10258).doc》由会员分享,可在线阅读,更多相关《MATLAB数学手册教程_第7章__绘图与图形处理(同名10258).doc(167页珍藏版)》请在三一文库上搜索。
1、第7章 绘图与图形处理登录窗体顶端搜索: 窗体底端czks wiki图像的空间变换 首页 论坛 Blog 贡献 最新改动 查找网页 帮助目录 图像的空间变换 编辑 备注 信息 附件 窗体顶端窗体底端空间几何变换将(w,z)坐标系上的图像变换为(x,y)坐标系上的图像,可以表示为: (x,y) = T(w,z) 比如: (x,y) = T(w,z) = (w/2, z/2) 仿射变换仿射变换是一种常用矩阵变换,它可以表示成矩阵的形式: 在matlab里面实现 wz = 3 4 1;T = 2 0 0; 0 3 0; 0 0 1;xy = wz * T;wz = xy * inv(T);为了避免归
2、一化参数,我们可以借助maketform函数: T = 2 0 0; 0 3 0; 0 0 1;tform = maketform(affine, T);wz = 1 2; 3 4;xy = tformfwd(wz, tform);wz = tforminv(xy, tform);我们可以用一个栅格图像来形象的表示这些变换的效果: 这些变换使用的变换矩阵分别是: 对图像应用空间变换有两种方法:正向映射和反向映射 反向映射的过程是:对每一个输出像素,计算它在输入图像上的位置,根据输入图像上该位置附近的像素值决定输出像素的值。 在matlab中,简单的变换可以直接用单个函数实现。图像缩放使用: g
3、 = imresize(f, scale);g = imresize(f, ROW COL);图像旋转使用: g = imrotate(f, angle);图像剪切使用: g = imcrop(f, X, Y, WIDTH, HEIGHT);在matlab中使用imtransform实现图像的空间变换。语法是g = imtransform(f, tform, interp);其中,interp可以是nearest,bilinear或者bicubic。 比如: f = chekerboard(50);s = 0.8;theta = pi/6;T = s*cos(theta) s*sin(thet
4、a) 0;-s*sin(theta) s*cos(theta) 0;0 0 1;tform = maketform(affine, T);g = imtransform(f, tform);双线性滤波: 图像配准根据两幅图像,算出一个变换参数,使得一幅图像经过这样的变换后和另一图像接近 图像的空间变换 (2008-04-20 22:42:58由czk编辑) 编辑 备注 信息 附件 窗体顶端窗体底端 MoinMoin Powered Python Powered GPL licensed Valid HTML 4.01 czk.8866.org | czk.3322.org | Copyrigh
5、t (c) 2006 czk. 浙ICP备06000584号X Warning!Youre using Internet Explorer 6, thats a big security risk! Upgrade or download a better, faster & safer browser: Firefox, Chrome or Safari.第7章 绘图与图形处理人们很难从一大堆原始的数据中发现它们的含义,而数据图形恰能使视觉感官直接感受到数据的许多内在本质,发现数据的内在联系。MATLAB可以表达出数据的二维,三维,甚至四维的图形。通过图形的线型,立面,色彩,光线,视角等属性
6、的控制,可把数据的内在特征表现得淋漓尽致。下面我们分别介绍图形的命令。7.1 二维图形7.1.1 基本平面图形命令命令1 plot功能 线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。用法 plot(X,Y) 当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=x(i),Y=y(i),则plot(
7、X,Y)先描出点(x(i),y(i),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。若X,Y均为同维同型实数矩阵,X = X(i),Y = Y(i),其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。plot(Y) 若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中x=1:
8、m;若y为实数矩阵,则把y按列的方向分解成几个列向量,而y 的行数为n,则plot(Y)等价于plot(X,Y)其中x=1;2;n;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。plot(X1,Y1,X2,Y2,),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,)将分别按顺序取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2) 将按顺序分别画出由三参数定义Xi,Yi,LineSpeci的线条。其
9、中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的形式:plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)plot(,PropertyName,PropertyValue,) 对所有的用plot生成的line图形对象中指定的属性进行恰当的设置。h = plot() 返回line图形对象句柄的一列向量,一线条对应一句柄值。说明 参数LineSpec功能 定义线的属性。Maltab允许用户对线条定义如下的特性:1线型表7-1定义符-:-.线型实线(缺省值)划线点线点划线2线条宽度指定线条的宽度,
10、取值为整数(单位为像素点)3颜色表7-2定义符R(red)G(green)b(blue)c(cyan)颜色红色绿色兰色青色定义符M(magenta)y(yellow)k(black)w(white)颜色品红黄色黑色白色4标记类型表7-3定义符+o(字母)*.x标记类型加号小圆圈星号实点交叉号定义符dvt = 0:pi/20:2*pi; plot(t,t.*cos(t),-.r*) hold on plot(exp(t/100).*sin(t-pi/2),-mo) plot(sin(t-pi),:bs) hold off图形结果为图7-1。例7-2 plot(t,sin(2*t),-mo, Li
11、neWidth,2,MarkerEdgeColor,k, MarkerFaceColor,.49 1 .63,MarkerSize,12)图形结果为图7-2。图7-1 二维曲线图 图7-2 二维图形的绘制命令2 fplot 功能 在指定的范围limits内画出一元函数y=f(x)的图形。其中向量x的分量分布在指定的范围内,y是与x同型的向量,对应的分量有函数关系:y(i)=f(x(i)。若对应于x的值,y返回多个值,则y是一个矩阵,其中每列对应一个f(x)。例如,f(x)返回向量f1(x),f2(x),f3(x),输入参量x=x1;x2;x3,则函数f(x)返回矩阵 f1(x1) f2(x1)
12、 f3(x1) f1(x2) f2(x2) f3(x2) f1(x3) f2(x3) f3(x3)注意一点的是,函数function必须是一个m-文件函数或者是一个包含变量x,且能用函数eval计算的字符串。例如:sin(x)*exp(2*x),sin(x),cos(x),hump(x)。用法 fplot(function,limits) 在指定的范围limits内画出函数名为function的一元函数图形。其中limits是一个指定x-轴范围的向量xmin xmax或者是x轴和y轴的范围的向量xmin xmax ymin ymax。 fplot(function,limits,LineSpe
13、c) 用指定的线型LineSpec画出函数function。 fplot(function,limits,tol) 用相对误差值为tol画出函数function。相对误差的缺省值为2e-3。 fplot(function,limits,tol,LineSpec) 用指定的相对误差值tol和指定的线型LineSpec画出函数function的图形。 fplot(function,limits,n) 当n=1,则至少画出n+1个点(即至少把范围limits分成n个小区间),最大步长不超过(xmax-xmin)/n。 fplot(function,lims,) 允许可选参数tol,n和LineSpe
14、c以任意组合方式输入。 X,Y = fplot(function,limits,) 返回横坐标与纵坐标的值给变量X和Y,此时fplot不画出图形。若想画出,可用命令plot(X,Y)。 = plot(function,limits,tol,n,LineSpec,P1,P2,) 允许用户直接给函数function输入参数P1,P2等,其中函数functiond的定义形式为 y = function(x,P1,P2,) 若想用缺省的tol,n或LineSpec值,只需将空矩阵( )传递给函数即可。注意:fplot采用自适应步长控制来画出函数function的示意图,在函数的变化激烈的区间,采用小的
15、步长,否则采用大的步长。总之,使计算量与时间最小,图形尽可能精确。例7-3fplot(tanh,-2 2)图形结果为图7-3。subplot(2,2,1);fplot(humps,0 1)subplot(2,2,2);fplot(abs(exp(-j*x*(0:9)*ones(10,1),0 2*pi)subplot(2,1,2);fplot(tan(x),sin(x),cos(x),2*pi*-1 1 -1 1)图7-3 函数画图 图7-4命令3 loglog功能 双对数图形。用法 loglog(Y) 若y为实数向量或矩阵,则结合y列向量的下标与y的列向量画出。若y为复数向量或矩阵,则log
16、log(Y)等价于loglog(real(Y),imag(Y),在loglog的其他使用形式中将忽略Y的虚数部分。 loglog(X1,Y1,X2,Y2) 结合Xn与Yn画出图形。若只有Xn或Yn为矩阵,另一个为向量,行向量维数等于矩阵的列数,列向量的维数等于矩阵的行数,则loglog把矩阵按向量的方向分解成向量,再与向量结合分别画出图形。 loglog(X1,Y1,LineSpec1,X2,Y2,LineSpeec2) 按顺序取三个参数Xn,Yn, LineSpecn画出线条,其中LineSpecn指定线条的线型,标记符号和颜色。用户可以混合使用二参数和三参数形式,如: loglog(X1,
17、Y1,X2,Y2,LineSpec2,X3,Y3) loglog(,PropertyName,PropertyValue,) 对所有由loglog命令生成的图形对象句柄的属性进行设置。 h = loglog() 返回line图形句柄向量,每条线对应一个句柄。例7-4x = logspace(-1,2);loglog(x,10*exp(x),-s)grid on图7-5命令4 semilogx功能 x轴对数图形。若没有指定使用的颜色,当所画线条较多时,semilogx将自动使用由当前轴的ColorOrder和LineStyleOrder属性指定的颜色顺序和线型顺序来画线。用法 semilogx(
18、Y) %对x轴的刻度求常用对数(以10为底),而y轴为线性刻度。若y为实数向量或矩阵,则结合y列向量的下标与y的列向量画出线条;若y为复数向量或矩阵,则semilogx(Y)等价于semilogx(real(Y),imag(Y)。在semilogx的其他使用形式中,Y的虚数部分将被忽略。 semilogx(X1,Y1,X2,Y2) %结合Xn和Yn画出线条,若其中只有xn或yn为矩阵,另外一个为向量,行向量的维数等于矩阵的列数,列向量的维数等于矩阵的行数,则按向量的方向分解矩阵,再与向量结合,分别画出线条。 semilogx(X1,Y1,LineSpec1X2,Y2,LineSpec2,) %
19、按顺序取三参数Xn,Yn,LineSpecn画线,参数LineSpecn指定使用的线型,标记符号和颜色。用户可以混合使用二参数和三参数形式,如: semilogx(X1,Y1,X2,Y2,LineSpec2,X3,Y3) semilogx(,PropertyName,PropertyValue,) %对所有由semilogx命令生成的图形对象句柄的属性进行设置 h = semilogx() %返回line图形句柄向量,每条线对应一个句柄。图7-6例7-5x = 0:.1:10;semilogx(x,cos(10.x)图形结果为图7-6。命令5 semilogy用法:参见semilogx命令。命
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 数学 手册 教程 _ 绘图 图形 处理 同名 10258
链接地址:https://www.31doc.com/p-2047707.html