版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab_4 图形功能u 二维图形u 三维图形u 句柄图形简介二维曲线-plot函数x = linspace(0, 2*pi, 30);y = sin(x);plot(x,y) % 同时绘制多条曲线z = cos(x);plot(x, y, x, z)% 如果输入参数一个是矩阵、一个是向量。% plot函数将矩阵中的每一列与向量组成一个输入对分别绘制相应的图形。w = y; z;plot(x, w) % 如果只有一个输入参数plot(a),根据y的内容进行操作。% 复数:plot( real(a), imag(a) ) (注:复数的虚部通常是被忽略的。)% 向量:plot( 1:lengt
2、h(a), a )% 矩阵:plot( 1:size(a,1), a(:,1), a(:,2), ) 即y中每一列分别作为向量处理c = complex(y, z); plot(c)plot(z)plot(w.') % w的方向线条和标记的属性设置线条类型Line style颜色Color标记类型Marker type% 默认属性是实线、蓝色、无标记。% 属性设置写在字符串中。% 例:x = linspace(0, 2*pi, 30);y1 = sin(x);y2 = cos(x);plot(x, y1, x, y2, '-or', x, y1.*y2, ':d
3、m')% 查看更多属性设置:线条宽度、标记大小颜色等。doc linespec图形修饰-坐标轴、格栅、轴框、标签、文本、图例% axis( xmin, xmax, ymin, ymax ) 设定当前图形的坐标范围% axis auto 将坐标轴刻度恢复为默认状态% axis equal 设定坐标轴尺度等距% xlim, ylim, zlim 分别设置坐标范围% grid on添加格栅% grid off删除格栅% 无参数grid为状态切换% 通常2D轴框(axes box)是封闭的% box (on/off)状态切换% xlabel和ylabel,坐标轴标签% title 图形标题%
4、text(x, y, 'string'),在指定位置添加字符串% legend 图例% 上述的功能只对当前活动的图形窗口。多个图形窗口% hold (on/off) 保持/释放当期图形窗口% ishold 状态判别% figure 生成新的图形窗口% figure(n) 激活指定图形窗口% close 关闭当前图形窗口% close(n) 关闭指定图形窗口% close all 关闭所有图形窗口% clf 擦除图形窗口,不关闭绘制子图-subplotsubplot(m, n, p)将当前窗口分为m*n个绘图区域,p为当前区域号。子图顺序从上边一行开始从左至右,然后是下一行。%
5、-% 例:subplot和图形修饰x = linspace(0, 2*pi, 30);y1 = sin(x);y2 = cos(x);subplot( 2, 2, 1)plot( x, y1, '-*r')title( ' figure of function sin(x).' )subplot( 2, 2, 2)plot( x, y2, ':sm' )legend( 'cos(x)' )grid onsubplot( 2, 2, 3)plot( x, y1+y2 )xlabel( 'x-axis' )ylabel
6、( 'y-axis' )text( 1, 0, 'subplot demo' )subplot( 2, 2, 4)plot( x, y1.*y2 )axis equalgrid on% 例:极坐标图polartheta = linspace(0, 2*pi);r = sin(2*theta).*cos(2*theta);subplot(1, 2, 2)polar( theta, r, '.-r')title( ' demo of polar ' )% 例:误差图errorbarx = linspace( 0, 2, 21 );y
7、= erf(x);e = rand(size(x)/10;errorbar(x, y, e, '-sm' )legend( 'errorbar', 4 )文本格式%Matlab支持的文本解释器:None,Tex(默认)和Latex。% 适用于图形文本处理函数:text, title, legend, xlabel, % 属性说明选择解释器,如text(, 'interpeter', 'latex', )% 多行文本,用字符串数组或字符串单元数组text(0.5, 0.5, 'abcd' 'cba '
8、 'ab '); %字符串数组,书写格式text(0.5, 0.5, 'abcd', 'cba', 'ab'); %字符串单元数组%分隔符(空格,逗号,分号)等效。% TeX文本格式%上下标:控制字符, _%希腊字母和特殊符号:控制字符.%(Tex字符集:textàText PropertiesàTex Character Sequence Table)%块标注:%显示控制格式符号:, , _, , %字体、大小和颜色:fontname, fontsize, color%常用字体:粗体bf, 斜体it, 透明s
9、l, 印刷体rm% an example:text(0.2, 0.1, 'fontsize20abcfontsize10abc', .'Edgecolor', 'm', 'LineStyle', ':', 'backgroundcolor', 1 1 0);text(0.2, 0.3, 'colorredabcdcolorrgb0 0 1abcd');text(0.2, 0.5, 'fontsize16itabcbfabcrmabc')text(0.2, 0.7, &
10、#39;F(t) = SigmaA_ncos(nomegat)', 'FontSize', 16) %text(0.2, 0.9, 'fontsize16F(t) = fontsize24Sigmafontsize16A_ncos(nomegat)')ylabel( 'Conductivity', 'x102, Wcdotm-1cdotK-1' )交互式绘图工具plottoolsMatlab提供了交互式绘图,方便实现各种图形的绘制、图形格式转换等多种功能。运行方式:1) 在命令窗口中运行plottools2) 直接在图形窗
11、口中点击工具图标图形的保存:1) gif格式。2) 可交换格式,如bmp、pgn、tif等。3) M函数,保存绘图格式。空间曲线-plot3% plot3绘制单一自变量的空间函数图形% 用法与plot基本相同t = linspace(0, 10*pi);plot3( sin(t), cos(t), t, '.-' )grid onxlabel('X-坐标轴'), ylabel('Y-坐标轴'), zlabel('Z-坐标轴')title( '三维空间曲线' )text(0, 0, 0, '坐标原点'
12、 )legend( '螺旋线' , 2)空间网格/曲面-mesh/surf绘制两个自变量的变量函数空间图形:z = f ( x, y )创建由x和y能够表示的所有格点,用两个矩阵X和Y表示。用X和Y数组元素间运算,生成z值的网格。% 函数meshgrid生成网格坐标矩阵x = 1:3;y = 10:10:50;X, Y = meshgrid( x, y )% 计算函数z = (x+y)2的值Z = (X+Y).2% 网格图meshmesh( X, Y, Z )% 曲面图surfsurf( x, y, Z )colorbar % color scale% 绘制函数x.exp(-x
13、2-y2)图形x, y = meshgrid(-2:0.1:2); % 一个输入参数表示xy取值相同z = x.*exp(-x.2-y.2);mesh(x,y,z )surf( x, y, z )shading interp % faceted/flat/interppeaks函数:z=31-x2e-x2-(y+1)2-10x5-x3-y5e-x2-y2-13e-x-12-y2% Matlab将该函数定义在peaks.m中% 缺省为x, y -3, 3edit peaks % 查看源代码peaks % 显示函数图形x, y, z = peaks(10); % 返回三个n*n网格矩阵surf(
14、x, y, z )三维视角-viewAzimuth方位角Elevation高度角% 函数view的用法:% view(az, el) 设置视点,az和el用角度表示% view(x,y,z) 设置笛卡尔坐标(x, y, z)为视点% view(2) xy平面二维视图,= view(0, 90)% view(3) 默认的三维视图,= view( 37.5, 30 )% doc view 查看更多的用法% 例peakszlabel('z-axis')colorbarview(2)view(90, 0) % yz-planeview(0, 0) % xz-planeview(0, 9
15、0) % xy-planeview( 1, 1, 1 )view(3)等势线-contour/contour3x, y, z = peaks(20);% 绘制xy平面的等势线contour( x, y, z )% 绘制3D空间等势线contour3(x, y, z )% 添加数值c = contour(x, y, z, 10);clabel(c);% 隐函数的图形% 例:x2 y2 = 1x, y = meshgrid(-3:0.1:3);z = x.2 - y.2 -1;c = contour(x, y, z, 0 0, 'r'); % 注意只划一条线的用法clabel(c)
16、;句柄图形简介Matlab的每一个可视部分被视为一个对象,每个对象都有一个唯一的标识符(句柄)与之对应,且每个对象都包含一组可以修改的属性。一个图形对象就是一个可以被单独处理的单元。Matlab中所有的绘图和图像函数都可以用来创建图形对象,注意有些函数创建的是复合(多个)对象。 计算机屏幕视为根对象,是所有对象的父对象。图形(figure)是根对象的子对象。根对象句柄为0;图形句柄为整数;其他对象的句柄值为浮点数。所有对象(图形函数)都会返回所创建对象的句柄值。所有对象都有一组定义其特征的属性,通过设置这些属性,用户可以调整图形显示的方式。每个不同的对象都有其独立的属性。常用函数:u get
17、(handle, 'property'):获取句柄图形对象的属性。使用单元数组获取多个属性值。u set (handle, 'property', value):改变句柄图形对象的属性。多个属性分别输入。u inspect (handle):查看和修改对象的属性。u gcf:获取当前图形的句柄。u gca:获取当前轴框的句柄u gco:获取当前对象的句柄u findobj, copyobj, delete% 例% nested figureh = (x)exp(-x).*sin(exp(x);x = linspace(0, 5);H1 = figure(1);H
18、fig1 = plot(x,h(x),'.-r'); %grid on;set(gca, 'color', 0 1 1)x2 = linspace(4, 4.5);H2 = figure(2);Hfig2 = plot(x2, h(x2), '.-r'); grid on;set(gca, 'position', 0.5, 0.5, 0.4, 0.4);set(gca, 'parent', H1) %.close(H2)颜色表及其使用颜色的表示:Matlab用一个三列的行向量表示颜色值,其中三个元素分别表示红绿蓝的
19、强度。100 010 001 000 111 .5 .5 .51 1 0 1 0 1 0 1 1 黄,洋红,青.67 0 1 1 .4 0 0.5 0 0 0 0 .5 紫,橙,暗红,暗绿多个RGB向量构成的数组(m x 3),称为颜色表。Matlab预先定义的颜色表:hsv色度-亮度-饱和度:红-红;jet 蓝-红;gray 线性灰度 ;上述颜色函数可以根据输入参数m生成mx3的颜色表(缺省为m=64)。函数colormap选择设定的颜色表数组为当前图形使用的颜色表。Matlab的绘图函数采用下列方式接受颜色参数:1) 定义颜色的字符或字符串,如'r'或'red
20、9;。2) 定义颜色的RGB行向量,如1 0 0。3) 一个数组,Matlab将对数组元素进行换算成读取颜色表中颜色值的索引。颜色表的显示:%(1)直接查看颜色表元素的数值hot(8)gray(5)%(2)用函数pcolor和rgbplot显示% 例:显示颜色表n = 21;map = copper(n);colormap(map);subplot(2,1,1)xx, yy = meshgrid(0:n, 0 1);c = 1:n+1; 1:n+1;pcolor(xx, yy, c)subplot(2,1,2), rgbplot(map), xlim(0 n)%函数colorbar为图形添加色
21、条。% 颜色表的使用% 颜色描述第四维信息surf(x,y,z,c)x = -7.5:0.5:7.5; X Y = meshgrid(x);R = sqrt(X.2 + Y.2) + eps; % eps?Z = sin(R)./R; % create sombrero.surf(X, Y, Z, R)dzdx, dzdy = gradient(Z); dR = sqrt(dzdx.2+dzdy.2);surf(X, Y, Z, dR)%散点的位置和次序scattern = 50; x = 2*rand(n, 1); y = 2*rand(n, 1); % scatter(x,y);r = 1
22、0+30*(x-1).2+(y-1).2); %数据点的大小(位置)c = jet(n); %数据点次序(颜色)colormap(c);scatter(x, y, r, c, 'filled'), colorbar简单动画% 版本更新,待修改% 动画函数animatedline, addpoint, addpoints% comet函数N = 2; t = linspace(0, 2*pi); % try point 1000x = sin(N*t).*cos(t);y = sin(N*t).*sin(t);comet(x, y, 0.1) % 01, default=0.1%
23、 使用pause函数N = 2; % try any other Nt = linspace(0, 2*pi);x = sin(N*t).*cos(t);y = sin(N*t).*sin(t);figureaxis equalaxis(-1, 1, -1, 1)axis tighthold onfor i = 1:99 plot( x(i:i+1), y(i:i+1), 'LineWidth', 3, 'color', 'r' ); pause(0.1);end;hold off% 使用figure_handleN = 2; t = linsp
24、ace(0, 2*pi);x = sin(N*t).*cos(t);y = sin(N*t).*sin(t);figureaxis equalaxis(-1, 1, -1, 1)axis tighthold onh = plot(x(1:2), y(1:2), 'Linewidth', 3, 'color', 'r', 'erase', 'none'); % 属性erase不再使用for i = 1:99 set(h, 'xdata', x(i:i+1), 'ydata', y(i:i+1) ); pause(0.1);end;hold off图片和影像% 版本更新,待修改% 函数getframe获取一帧图形数据% 函数imread, imwrite, image读、写和显示图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 24513.1-2026金属和合金的腐蚀室内大气低腐蚀性分类第1部分:室内大气腐蚀性的测定与评价
- 安全监督研究院化工园区安全规划研究工作手册(标准版)
- 企业客户沟通训练方案
- 2026年医师资格预防医学综合题库含答案
- 2026年事业单位招聘面试真题含答案解析
- 2026年山东省地方病防治技能竞赛(理论知识)综合能力测试题及答案
- 2026年金属冶炼安全管理人员试题
- 2026年会计个税面试题及答案
- 生活垃圾焚烧发电项目水资源论证报告书
- 2026福建省榕圣建设发展有限公司(房建项目)招聘5人考试参考试题
- 黑龙江省龙东地区2025年初中学业水平考试地理真题(含答案)
- 新教材人教版七年级数学下学期期末模拟卷
- 管理经济学第8版
- 《煤矿重大事故隐患判定标准》(2026版)解读
- 2026-2030中国安检设备行业市场深度调研及发展趋势与投资价值研究报告
- 泌尿系造口护理专家共识(2026版)
- 2025河北省中考真题数学试题(解析版)
- 2026沪教版(新教材)小学数学二年级下册(全册)教案、教学计划及进度表新版
- 2026人教版三年级下册道德与法治期末复习知识点总结梳理+教材问答解答
- 2025福建厦漳泉城际铁路有限责任公司筹备组社会招聘10人笔试历年参考题库附带答案详解
- XX旅游发展公司管理制度汇编范本
评论
0/150
提交评论