MATLAB程序设计基础 MATLAB的图形处理.

Slides:



Advertisements
Similar presentations
编程加工 信息的. 趣味导入拓展提升大显身手总结反思学以致用 传说古代印度有个国王叫舍罕,他很迷恋棋类,而 宰相达依尔是个聪明的大臣,发明了国际象棋。国王玩 得爱不释手,决定奖赏宰相。达依尔说:陛下,我别无 他求,请你在这张棋盘的第一个格子里赏我 1 粒麦子; 在第二个格子里赏我 2 粒麦子;在第三个格子里赏我.
Advertisements

第六章 统计表与统计图 第一节 统计表 第二节 统计图 1.
SCILAB第二章 二維平面繪圖 撰文者: 1.中央大氣科學系 楊善文 2. (如對本文有貢獻者,記得在此留名)
期貨操作 元富期貨 自營處 潘昶安.
MATLAB程序设计教程(第二版) 刘卫国 主编 中国水利水电出版社.
期权价格解析.
MATLAB小结、 经典迭代法、CG.
Introduction to Matlab
1012 MATLAB 教學 彭奕翔 2013/02/27.
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
致亲爱的同学们 天空的幸福是穿一身蓝 森林的幸福是披一身绿 阳光的幸福是如钻石般耀眼 老师的幸福是因为认识了你们 愿你们努力进取,永不言败.
初高中历史课程衔接 ♣ 深圳中学 朱红.
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
——Matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
Chapter 3. Visual Appearance 视觉外观
REVIEW 基本XYZ立體繪圖命令 MATLAB 程式設計與應用 張智星
東亞運動會 Be the legend 創造傳奇一刻.
Chap.3 二維平面繪圖 方煒 台大生機系.
二、随机变量及其分布 主讲教师:董庆宽 副教授 研究方向:密码学与信息安全
黃聰明 國立臺灣師範大學數學系 其它的資料型態與繪圖型態 黃聰明 國立臺灣師範大學數學系 T.-M.Huang.
第三章 MATLAB图形系统 3.1 图形绘制 3.2 图形标注 3.3 对数和极坐标系中图形绘制 3.4 复杂图形绘制 3.5 坐标轴控制
機率與統計 Introduction   講師:黃弘州.
第六章 图 形 基 础 6.1 概述 6.2 基本二维绘图 6.3 格式化绘图 6.4 特殊图形函数 6.5 基本三维绘图
CSS排版:盒子模式 靜宜大學 資管系 楊子青.
Matlab教學 Speaker:林昱志 Date:2012/10/25.
第八章 Illumination and Shading
大学数学实验 欢迎进入 MATLAB 世界 作者 薛长虹 数学系 地址:
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
Chapter 2 頻率分配.
Origin绘图和数据分析 2006年11月.
XBRL未來發展趨勢 2009年12月 For information on applying this template onto existing presentations, refer to the notes on slide 3 of this presentation. The Input.
MATLAB、CTEX简介 及其 在教学中的应用
第一讲 MATLAB简介 1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 1.1.2 MATLAB的发展史
Application of Matlab Language
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
第4章 MATLAB绘图 4.1 MATLAB二维曲线绘图 基本绘图指令 1.plot(Y) 功能:画一条或多条折线图.
Matlab基础介绍 Matlab 简介 Matlab 的安装与启动 Matlab 编程基础 Matlab 在数字信号处理课程中的应用.
第三章 MATLAB图形系统 3.1 图形绘制 3.2 图形标注 3.3 对数和极坐标系中图形绘制 3.4 复杂图形绘制 3.5 坐标轴控制
Introduction to MATLAB
数学建模与数学实验 MATLAB作图.
范洪源 臺灣師範大學數學系 分支宣告與程式設計 范洪源 臺灣師範大學數學系.
§ 9.1常用数学软件简介及MATLAB基础知识
实验二 MATLAB绘制图形 (一) 实验类型:验证性 (二) 实验类别:基础实验 (三) 实验学时数:2学时 .
구정 淸明 穀雨 雨水 大雪 大暑 芒種 小暑 小雪 小滿 大寒 小寒 霜降 處暑 驚蟄 白露 寒露 WINTER SUMMER SPRING AUTUMN Chu-Seok Han-Sik (Cold Food) 2017.
数学物理方法概论 之——(微分几何) 主讲教师:白璐 联系电话:
插值与拟合 一、插值的基本原理 二、拟合的基本原理 三、插值与拟合的关系 四、插值的MATLAB实现 五、拟合的Matlab实现.
图表制作与数据分析工具 Origin快速入门
第九单元 第1课 实验 Matlab动画 1.洛仑兹非线性奇异方程所描述的无序运动 2.作y=sin(x)的程序动画(1)
MATLAB 入门教程.
MATLAB 程式設計入門篇 二維平面繪圖 改自張智星講義
数学是知识的工具,亦是其它知识工具的泉源。 ——勒内·笛卡尔
Z Mathematical Model ‡ ' 图形处理.
MATLAB 程式設計入門篇 三維立體繪圖 (part1)
三維繪圖 Helix t = 0:pi/50:10*pi; % linspace(0,10*pi,500); figure plot3(sin(t),cos(t),t) grid on axis square Remark: zlabel, view, surf.
本章學習目標 學習三維繪圖的基本技巧 學習peaks() 函數的用法 學習二維與三維等高線圖的繪製 學習三維圖形的編修
数学物理方法概论 之——(微分几何) 主讲教师:白璐 联系电话:
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
CSS排版:盒子模式 靜宜大學 資管系 楊子青.
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
第八章 選擇權的交易策略.
1.5 Matlab绘图 plot(y) plot(x,y)
第5章 Div+CSS布局技术 经济管理学院.
第八章 服務部門成本分攤.
实验一 特殊函数与图形.
第2章 MATLAB的基本语法 2.1 变量及其赋值 2.2 运算符与数学表达式 2.3 控制流 2.4 数据的输入输出及文件的读写
数学是知识的工具,亦是其它知识工具的泉源。 ——勒内·笛卡尔
科研工具之图表制作---Sigmaplot
Presentation transcript:

MATLAB程序设计基础 MATLAB的图形处理

二维图形 基本绘图命令 plot(Y) Y为实向量,则以Y的索引坐标作为横坐标,Y作为纵坐标来绘制图形。 ?y=rand(100,1); 例: ?y=rand(100,1); ?plot(y)

?x=rand(100,1); ?z=x+y.*i; ?plot(z) 例: ?x=rand(100,1); ?z=x+y.*i; ?plot(z)

注:两个向量必须维数相同且同为行向量或列向量。 plot(X,Y) 第一个变量作为横坐标,第二个变量作为纵坐标。 例: ?x=0:0.01*pi:pi; ?y=sin(x).*cos(x); ?plot(x,y) 注:两个向量必须维数相同且同为行向量或列向量。

当X和Y为同阶矩阵时,按照矩阵的行或列操作,可以在同一幅图中绘出所有曲线。 例: ?x=0:0.01*pi:pi; ?y=[sin(x'),cos(x')]; ?plot([x',x'],y);

plot(X,Y,s) s参数: - 实线 . 点 * 星号 ^ 上三角 : 点线 o 圆 s 方形 < 左三角 - 实线 . 点 * 星号 ^ 上三角 : 点线 o 圆 s 方形 < 左三角 -. 点划线 x x符号 d 菱形 > 右三角 -- 虚线 + +号 v 下三角 p 正五边形 y 黄色 m 紫红色 c 蓝绿色 r 红色 g 绿色 b 蓝色 w 白色 k 黑色 上述参数的不同组合可以为图形设置不同的线形、颜色和标识,调用时以单引号来引用,各选项直接相连,不需要分隔符。

例: ?x=0:0.1*pi:pi; ?y=sin(x); ?z=cos(x); ?plot(x,y,'--k',x,z,'-.rd')

特殊二维图形函数 特殊坐标系的二维函数 对数坐标 semilogx、semilogy、loglog格式与plot类似。 例: ?x=1:0.1*pi:2*pi; ?y=sin(x); ?semilogx(x,y,'-*')

其中,theta为角向量,rho为幅向量,s为图形属性选项。 极坐标系 polar(theta,rho) polar(theta,rho,s) 其中,theta为角向量,rho为幅向量,s为图形属性选项。 例: ?x=1:0.01*pi:4*pi; ?y=sin(x/2)+x; ?polar(x,y,'-')

其中,fun、fun1、fun2可以为plot、semilogx、semilogy、loglog等。 例: plotyy(X1,Y1,X2,Y2) plotyy(X1,Y1,X2,Y2,fun) plotyy(X1,Y1,X2,Y2,fun1,fun2) 其中,fun、fun1、fun2可以为plot、semilogx、semilogy、loglog等。 例: ?x=1:0.1*pi:2*pi; ?y=sin(x); ?z=exp(x); ?plotyy(x,y,x,z,'plot','semilogy')

二维特殊函数图 area 填充绘图 fplot 函数图绘制 bar 条形图 hist 直方图 barh 水平条形图 pareto Pareto图 comet 彗星图 pie 饼状图 errorbar 误差带图 plotmatrix 分散矩阵图 ezplot 简单绘制函数图 ribbon 三位图的二维条状显示 ezpolar 简单绘制极坐标图 scatter 散射图 feather 矢量图 stem 离散序列饼状图 fill 多边形填充 stairs 阶梯图

例:绘制条形图 例:绘制矢量图 ?x=1:10; ?y=rand(10,1); ?bar(x,y); ?x=0:0.1*pi:2*pi; ?y=x.*sin(x); ?feather(x,y)

例:函数图形绘制 ?lim=[0,2*pi,-1,1]; ?fplot('[sin(x),cos(x)]',lim)

例:绘制饼图 ?x=[2 4 6 8]; ?pie(x)

N为所绘等高线的条数,V为输入向量,等高线的值为对应向量的元素值。 绘制等高线图 contour(Z,N/V) contour(X,Y,Z,N/V) N为所绘等高线的条数,V为输入向量,等高线的值为对应向量的元素值。 例: ?a=rosser; ?v=[-1000,-500,-100,0,100,500,1000]; ?contour(a,v) ?contourf(a,v)

三维图形 基本绘图命令 plot3函数 plot3(x,y,z) x,y,z为相同维数的向量,绘出这些向量表示的点的曲线。 plot3(X,Y,Z,s) s为定义线型的字符串。 plot3(x1,y1,z1,s1,x2,y2,s2,…)

例:绘三维螺旋线 ?x=0:pi/50:10*pi; ?y=sin(x); ?z=cos(x); ?plot3(x,y,z);

[X,Y]=meshgrid(x,y) x,y为给定向量,用来定义网格的划分区域和划分方法。矩阵X和Y为网格划分后的数据矩阵。 网图函数 [X,Y]=meshgrid(x,y) x,y为给定向量,用来定义网格的划分区域和划分方法。矩阵X和Y为网格划分后的数据矩阵。 例: ?[x,y]=meshgrid(-3:0.1:3,-2:0.1:2); ?z=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); ?plot3(x,y,z)

mesh(X,Y,Z) 绘制彩色网格面图形 mesh(x,y,Z) x,y为两个向量,要求 [length(y),length(x)]=size(Z) mesh(Z) [m,n]=size(Z), 则使用x=1:n及y=1:m 例: ?x=-8:0.5:8;y=x'; ?a=ones(size(y))*x; ?b=y*ones(size(x)); ?c=sqrt(a.^2+b.^2)+eps; ?z=sin(c)./c; ?mesh(z)

meshc与mesh调用方式相同,且能绘制相应的等高线。 例: ?[x,y]=meshgrid([-4:0.5:4]); ?z=sqrt(x.^2+y.^2); ?meshc(z)

meshz与mesh调用方式相同,增加了边界面屏蔽。 例: ?[x,y]=meshgrid([-4:0.5:4]); ?z=sqrt(x.^2+y.^2); ?meshz(x,y,z)

着色函数 surf(X,Y,Z) 绘制着色的三维表面图,参数设置与mesh相同。 例: ?[x,y]=meshgrid([-4:0.5:4]); ?z=sqrt(x.^2+y.^2); ?surf(x,y,z)

三维等高线 例: ?waterfall(z) ?[x,y]=meshgrid([-4:0.5:4]); ?contour3(peaks(x,y),25);

特殊三维图形函数 bar3 三维条形图 surfc 着色与等高线结合 comet3 三维彗星轨迹图 trisurf 三角形表面图 ezgraph3 函数控制绘制三位图 trimesh 三角形网格图 pie3 三维饼状图 waterfall 瀑布图 scatter3 三维散射图 cylinder 柱面图 stem3 三维离散数据图 sphere 球面图

绘三维饼图 例: ?x=[2 4 6 8]; ?pie3(x,[0,0,1,0])

R为母线向量,N为旋转圆周上分割线的条数。 柱面图: [X,Y,Z]=cylinder(R,N) R为母线向量,N为旋转圆周上分割线的条数。 例:?x=0:pi/20:pi*3; ?r=5+cos(x); ?[a,b,c]=cylinder(r,30); ?mesh(a,b,c)

图形处理常用技术 图形控制 坐标轴控制函数 axis(V) V为坐标轴范围数组: 二维图形:V=[XMIN,XMAX,YMIN,YMAX] 三维图形:V=[XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX]

axis ‘控制字符串‘ auto 自动模式 axis 当前坐标设置固定 equal 控制各坐标轴的分度使其相等 square 使绘图区为正方形 normal 解除对坐标轴的任何限制 …

zoom ’控制字符串‘ 实现对二维图的缩放 on 允许对图形缩放 坐标轴缩放函数 zoom ’控制字符串‘ 实现对二维图的缩放 on 允许对图形缩放 off 禁止对图形缩放 (factor) 以factor为缩放因子进行坐标轴缩放 out 恢复所进行的一切缩放 xon 只允许对x轴进行缩放 yon 只允许对y轴进行缩放

平面坐标网格函数 grid on/off 显示和取消网格 坐标轴封闭函数 box on/off 四周显示坐标轴和常规坐标轴

图形的标注 坐标轴标注 title xlabel ylabel(‘标注’,’属性1’,属性值1,…) 例: ?x=0:0.1*pi:2*pi; ?y=sin(x); ?plot(x,y) ?xlabel('x(0~2\pi)','FontWeight','bold'); ?ylabel('y=sin(x)','FontWeight','bold'); ?title('正弦函数','Fontsize',12,'fontweight','bold','fontname','黑体')

特殊符号的输入 转义符号\ \alpha \Gamma \beta \Delta \gamma \Theta \delta \Lambda \epsilon \Xi \zeta \Pi \eta \omega \theta …

标注的显示控制 \bf 黑体 \it 斜体 \rm 标准形式 \fontname{fontname} 字体名 \fontsize(fontsize) 字体大小 特殊符号如”\”、”{“、”^“等,用”\”来引导。

上标和下标 调用符为”_”和”^”,相应的内容置于{ }内。 例: ?x=-10:0.1:10; ?y=exp(-x.^2/2); ?title('\bf y=e^{-x^{2}/2}')

text(x,y,’标注文本及控制字符串’) (x,y)为给定标注文本在途中添加的位置。 例: 文本标注 text(x,y,’标注文本及控制字符串’) (x,y)为给定标注文本在途中添加的位置。 例: ?x=1:0.1*pi:2*pi; ?y=sin(x); ?plot(x,y); ?text(3*pi/4,sin(3*pi/4),'\leftarrow sin(3\pi/4)=-7.707')

复杂文本标注 例: ?x=1:0.1*pi:2*pi; ?y=sin(x); ?plot(x,y); ?text(3*pi/4,sin(3*pi/4),['\leftarrow sin(3\pi/4)=',num2str(sin(3*pi/4))],'fontsize',12) ?text(5*pi/4,sin(5*pi/4),['sin(5\pi/4)=',num2str(sin(5*pi/4)),'\rightarrow'],... 'horizontalalignment','right','fontsize',12)

交互式文本标注 gtext(s) 执行时,图形中出现“十”字型交叉线供用户选择标注位置。S为标注内容的字符串,标注内容为多行时,s为一单元型字符数组。

图例标注 legend(‘标注1’,‘标注2’,…) 标注1、标注2等分别对应绘图过程中绘制的先后顺序的曲线。 例: ?x=1:0.1*pi:2*pi; ?y=sin(x); ?z=cos(x); ?plot(x,y,x,z) ?legend('sin(x)','cos(x)')

legend(‘标注’,…,’定位代号’) 定位代号: 0 自动定位 1 右上角 2 左上角 3 左下角 4 右下角 -1 右外侧

图形的保持和子图 图形的保持 hold on 启动图形保持功能,此后所有的图形都添加到当前的图形窗口中,系统会自动调整坐标。 hold off 关闭图形保持功能。 例: ?x=0:0.1*pi:2*pi; ?y=sin(x); ?z=cos(x); ?plot(x,y,'-*') ?hold on ?plot(x,z,'-o') ?plot(x,y+z,'-h') ?legend('sin(x)','cos(x)','sin(x)+cos(x)',0) ?hold off

子图 subplot(m,n,p) 将一个图形窗口分隔成m×n格区域,参数p指定子绘图区域。 例: ?x=0:0.1*pi:2*pi; ?plot(x,sin(x),'-*') ?title('sin(x)') ?subplot(2,2,2); ?plot(x,cos(x),'-o') ?title('cos(x)') ?subplot(2,2,3); ?plot(x,sin(x).*cos(x),'-x') ?title('sin(x)*cos(x)') ?subplot(2,2,4); ?plot(x,sin(x)+cos(x),'-h') ?title('sin(x)+cos(x)')

图形处理的高级技术 颜色 采用RGB色系,由矩阵[R,G,B]来表示颜色的映像。 R G B 颜色 黑色 1 白色 红色 绿色 蓝色 黄色 黑色 1 白色 红色 绿色 蓝色 黄色 洋红 青色 2/3 天蓝 1/2 橘黄 0.5 深红 灰色

常用的颜色映像(默认状态为64×3颜色矩阵) 颜色映像 相应颜色系 autumn 红黄色系 hsv 红色调饱和色系 bone 蓝色灰系 jet 蓝色调饱和色系 colorcube 增强颜色系 lines 线性色系 cool 青和洋红色系 pink 柔和色系 copper 铜色系 prism 棱镜色系 flag 红白蓝黑交替色系 spring 洋红、黄色系 gray 线性灰色色系 summer 绿黄色系 hot 黑红黄白色系 winter 蓝绿色系 vga Windows16位色系

着色过程 生成颜色映像 colormap(c) c为颜色映像矩阵,3列,行数不限 图形应用函数 如pcolor、colorbar等 着色方式 shading ‘c’ c为控制字符串,分别为faceted、interp和flat。其中faceted以平面作为着色单位,为默认形式;interp以插值形式为图形像点着色;flat以平滑形式着色。

pcolor(c) 以当前的颜色映像为矩阵c进行着色。 例: ?colormap(hot(80)) ?pcolor(rand(6,8)); ?shading interp

rgbplot(c) 将矩阵的三列值分别以红、绿、蓝绘出。

colorbar(‘vert’) %垂直显示颜色标尺 colorbar(‘horiz’) %水平显示颜色标尺 例: ?[x,y,z]=peaks; ?mesh(x,y,z); ?colormap(hot(80)); ?colorbar

brighten(beta) beta大于零时,增加当前的色彩强度;相反,当beta小于零时,削弱当前的颜色强度。

caxis([cmin,cmax]) [cmin,cmax]=caxis 函数自动控制图形中色彩和数值的对应关系。 colordef color none %将图形背景与窗口背景设为相同 color black %将图形背景设为黑色 color white %将图形背景设为白色

视觉与光照 视觉控制 view(az,el) az为方位角,即xy平面旋转的角度,顺时针方向旋转的角度为正;el为仰角,即从xy平面向z轴旋转的角度,朝向z轴的旋转(仰视)为正角度;单位均为度,而非弧度。 view(2) 二维图形中视角的默认值(0,90) view(3) 三维图形中视角的默认值(-37.5,30) [az,el]=view 返回当前图形的视角。

例: Z轴正方向俯视图 ?contourf(a,v) ?[x,y,z]=peaks; ?colormap(hsv(100)) ?mesh(x,y,z) ?view(0,90)

viewmtx 给出指定视角的正交转换矩阵。 ?a=viewmtx(0,90) a = 1.0000 0 0 0 0 1.0000 0.0000 0 0 -0.0000 1.0000 0 0 0 0 1.0000

rotate3d 触发图形窗口的Rotate3d选项,使用户可以方便的以鼠标来控制视角的变化。

属性包括Color, Style, Position和Visible等。 例: 光照控制 light(属性1,属性值1,属性2,属性值2,…) 属性包括Color, Style, Position和Visible等。 例: ?[x,y,z]=peaks; ?mesh(x,y,z) ?light('position',[1,1,1])

lighting ‘光源模式’ 光源模式为flat、gouraud、phong以及none等;其中flat为平面模式,光照单元为图形网格;gourand为点模式,光照单元为象素点;phong为以象素为光照基本单元,且计算各点的反射比;none为关闭图形光源功能。

material ‘表面控制模式’ 模式有shiny、dull、metal等,其中shiny使图形表面显示较为光亮的色彩模式,dull指表面显示较为阴暗的色彩模式,metal指表面呈现金属色泽模式。

surfl(X,Y,Z,S,K) S为光源控制变量具体形式为[Sx,Sy,Sz]光源位置和[az,el]视角;K为控制图形的表面形式,具体形式为[Ka,Kd,Ks,spread],其中,Ka表示背景光系数,Kd反映表面漫反射特性,Ks反映表面镜面反射特性,spread为镜面扩展因子。

例: ?[x,y,z]=peaks; ?surfl(x,y,z,[1,1,1,],[0.55,0.8,0.1,0.1])

光滑曲线 例: ?[x,y,z]=peaks; ?surf(x,y,z) ?shading interp

图像处理 用户可以对外部图形进行操作,或将MATLAB图形转换成其他图形类型。 A=imread(filename,fmt) filename为图形文件名,fmt为图形类型,如果图形为灰度图像,则返回值A为两列矩阵;如果图形为彩色,则返回值为三列矩阵。 matlab所识别的图形大致为jpeg、tiff、bmp、png、hdf、pcx和xwd。

imwrite(A,filename,fmt) 将图像矩阵写入外部文件,参数同imread。 imfinfo(filename,fmt) 返回一结构数组,反映图形详细的信息。 ?pictureinfo=imfinfo('s.jpg','jpg') pictureinfo = Filename: 's.jpg' FileModDate: '15-Jan-2002 15:57:54' FileSize: 14875 Format: 'jpg' FormatVersion: '' Width: 320 Height: 240 BitDepth: 24 ColorType: 'truecolor' FormatSignature: ''

image(c) 显示图形,c为图形数据矩阵。