MatLab图形绘制功能
《用MATLAB绘制》课件
2 提供绘图和PPT知识整合的思路
分享将绘图和PPT知识整合的思路和方法,帮助学习者更好地创作PPT课件。
2 绘制函数
了解如何使用MATLAB绘 制各种函数图形,提升绘 图技巧。
3 图像压缩
学习如何使用MATLAB对 图像进行压缩,减小PPT 文件大小。
绘图工具
1
2D和3D的图形绘制
掌握在MATLAB中绘制2D和3D图形的技术,使PPT课件更加生动。
2
绘图函数使用示例
通过示例了解常用绘图函数的使用方法和技巧,提高PPT课件的表现力。
补充知识
1 调整图形图像的质量
教授如何通过参数调整图 形和图像的质量,使PPT 课件更加清晰。
2 添加标签和注释
分享在PPT课件中添加标 签和注释的技巧,提供更 丰富的解释。
3 进行多图合并
学习将多个图形或图像合 并到一张PPT幻灯片上的 方法,绘制PPT课件的好处
《用MATLAB绘制》PPT 课件
通过这份PPT课件,你将学习到使用MATLAB绘制PPT课件的技巧和好处。 了解MATLAB的绘图功能以及如何制作吸引人的PPT课件。
简介
介绍MATLAB的绘图功能和使用MATLAB绘制PPT课件的好处。
基础知识
1 数值数据和数据类
学习MATLAB中数值数据 和数据类的基本知识,为 绘图打下基础。
3
图像的旋转和缩放
学会在MATLAB中对图像进行旋转和缩放,使PPT课件更具吸引力。
PPT课件绘制
制作PPT母版
教授如何创建和自定义PPT 母版,提高PPT课件的一致 性。
PPT课件配色原则
分享选取和搭配PPT课件颜 色的原则,使PPT课件更加 美观。
matlab入门实验报告
matlab入门实验报告Matlab入门实验报告引言:Matlab是一种功能强大的数值计算和科学计算软件,广泛应用于工程、科学和金融等领域。
本实验报告旨在分享我在学习和使用Matlab过程中的一些经验和心得,希望对初学者有所帮助。
一、Matlab的基本操作Matlab的基本操作包括变量定义、运算符使用、矩阵操作等。
通过简单的例子,我们可以快速上手Matlab。
首先,我们可以定义一个变量并进行简单的运算。
例如,我们定义一个变量a,并赋值为5,然后进行加法运算。
a = 5;b = a + 3;disp(b);接下来,我们可以进行矩阵的操作。
例如,我们定义一个3x3的矩阵A,并对其进行转置操作。
A = [1 2 3; 4 5 6; 7 8 9];B = A';disp(B);二、Matlab的图形绘制功能Matlab具有强大的图形绘制功能,可以绘制各种类型的图形,如曲线图、散点图、柱状图等。
下面是一个简单的例子,展示了如何使用Matlab绘制曲线图。
首先,我们定义一个自变量x和一个因变量y,并生成一组数据。
x = linspace(0, 2*pi, 100);y = sin(x);然后,我们使用plot函数将数据绘制成曲线图。
plot(x, y);通过设置不同的参数,我们可以对图形进行进一步的美化和定制。
例如,我们可以设置x轴和y轴的标签,并添加图例。
xlabel('x');ylabel('y');legend('sin(x)');三、Matlab的数据分析功能Matlab提供了丰富的数据分析功能,可以进行数据的统计、拟合、回归等操作。
下面是一个简单的例子,展示了如何使用Matlab进行线性回归分析。
首先,我们生成一组随机数据,并假设其满足线性关系。
x = linspace(0, 10, 100);y = 2*x + 3 + randn(size(x));然后,我们使用polyfit函数进行线性回归分析,并得到拟合的系数。
(打印)实验四 MATLAB 高级图形绘制
实验四MATLAB 高级图形绘制一、实验目的及要求:1.熟悉各种绘图函数的使用;2.掌握图形的修饰方法和标注方法;3.了解MATLAB 中图形窗口的操作。
二、实验内容:1.用图形表示连续调制波形Y=sin(t)sin(9t)及其包络线。
程序代码如下:包络线:2.x=[-2π,2π],y1=sinx、y2=cosx、y3=sin2x、y4=cos 2x①用MATLAB语言分四个区域分别绘制的曲线,并且对图形标题及横纵坐标轴进行标注。
程序:结果:②另建一个窗口,不分区,用不同颜色、线型绘出四条曲线,并标注图例注解。
程序:结果:③绘制三维曲线:⎪⎩⎪⎨⎧=≤≤==)cos()sin()200()cos()sin(t t t z t t y t x π程序:结果:3.绘制极坐标曲线ρ=asin(b+nθ),并分析参数a、b、n对曲线形状的影响。
(1)a=1;b=1;n=1(2)a=10;b=1;n=1(3)a=10;b=10;n=1 (4)a=10;b=10;n=10参数a、b、n对曲线形状的影响:由上面绘制的图形可知:a决定图形的大小,当a为整数时,图形半径大小就是a;b决定图形的旋转角度,图形的形状及大小不变;n决定图形的扇叶数,当n 为奇数时,扇叶数为n,当n为偶数时,扇叶数为2n。
三、结论本次实验用到了曲线绘图、三位曲线绘图的知识,与老师上课的内容一致,让我学的matlab绘图的知识得到了巩固,我还学会了如何使用title、subplot、plot、axis等函数。
在做实验的过程复习了hold on指令是覆盖函数继续绘图的意思。
MATLAB三维绘图功能课堂PPT
contour3(peaks,20)
10
5
0
为了方便测试立体绘图,MATLAB提供了一个peaks 函数,可产生一个凹凸有致的曲面,包含了三个局部 极大点及三个局部极小点,其方程式为: z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ... - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ... - 1/3*exp(-(x+1).^2 - y.^2) >> [x,y,z]=peaks; >> mesh(x,y,z) >>surf(x,y,z)
14
15
(五)三维曲面图
surf —— 三维曲面绘图函数,与网格图看起来一样 与三维网线图的区别: 网线图:线条有颜色,内部是黑色的(无颜色) 曲面图:线条是黑色的,内部有颜色(把线条之间的空
挡填充颜色,沿z轴按每一网格变化)
16
调用格式: surf(x,y,z) —— 绘制三维曲面图,x,y,z为图形坐标向量 peaks 函数
4
(二) 三维饼图 pie3([4 3 6 8 9])
5
(三)三维多边形
fill3 = fill —— 三维多边形的绘制和填色与二维多边形 完全相同
调用格式: fill3(x,y,z,‘s’) —— 与二维相同
6
例: 用随机顶点坐标画出5个粉色的三角形,并用黄色的 ○表示顶点
>>y1=rand(3,5);y2=rand(3,5);y3=rand(3,5); >>fill3(y1,y2,y3,'m');hold on;plot3(y1,y2,y3,'yo')
如何使用Matlab进行3D图形绘制
如何使用Matlab进行3D图形绘制1. 引言在科学研究、工程设计和数据可视化的过程中,3D图形绘制是一项非常重要的技能。
Matlab作为一种功能强大且易于上手的工具,在3D图形绘制方面有着很大的优势。
本文将介绍如何使用Matlab进行3D图形绘制,以帮助读者更好地掌握这一技术。
2. 准备工作在开始使用Matlab进行3D图形绘制之前,我们需要先进行一些准备工作。
首先,确保已经安装了Matlab软件,并且具备了一定的基本操作能力。
其次,了解Matlab的数据管理和处理方式,掌握常用的数据结构和操作方法。
最后,对于3D图形绘制的相关概念和技术有一定的了解,包括坐标系、曲线和曲面等基本概念。
3. 坐标系和坐标变换在进行3D图形绘制之前,首先需要了解坐标系的概念以及如何进行坐标变换。
Matlab中使用的3D坐标系是右手坐标系,其中x轴指向右侧,y轴指向前方,z轴指向上方。
在进行坐标变换时,可以使用Matlab提供的函数进行平移、旋转和缩放等操作,以便更好地展示3D图形。
4. 曲线绘制在Matlab中,使用函数plot3可以绘制3D曲线。
该函数的基本用法是plot3(x,y,z),其中x、y、z分别为曲线上各点的x、y、z坐标。
可以通过对坐标点进行适当的变换和调整,绘制出各种形状和曲线。
5. 曲面绘制除了曲线,我们还可以使用Matlab绘制3D曲面。
Matlab提供了函数surf和mesh来实现曲面绘制。
函数surf绘制带有颜色的曲面,而函数mesh绘制网格型的曲面。
这两个函数的基本用法都是类似的,可以通过传入坐标点数据和数据值来绘制出曲面图像。
6. 其他3D图形效果除了曲线和曲面,我们还可以通过Matlab实现其他各种各样的3D图形效果。
例如,绘制3D散点图可以使用函数scatter3,绘制3D柱状图可以使用函数bar3,绘制3D等高线图可以使用函数contour3等。
这些函数都有类似的参数传递方式,通过调整函数参数可以实现各种个性化的效果。
MATLAB中的三维图形绘制与动画制作技巧
MATLAB中的三维图形绘制与动画制作技巧引言MATLAB是一种强大的科学计算软件,广泛应用于工程、物理、数学等各个领域。
其中,三维图形绘制和动画制作是其功能的重要一部分。
本文将深入探讨MATLAB中三维图形绘制与动画制作的技巧,并给出一些实用的示例。
一、三维图形绘制1. 坐标系的设定在绘制三维图形之前,我们需要设定坐标系。
通过使用MATLAB的figure函数和axes函数,我们可以创建一个三维坐标系,并设置其属性,如坐标轴的范围、标签等。
2. 点的绘制在三维图形中,最基本的图元是点。
通过scatter3函数,我们可以绘制出一系列点的三维分布情况。
可以通过设置点的大小、颜色、透明度等属性,增加图像的美观性。
3. 曲线的绘制MATLAB提供了多种绘制曲线的函数,如plot3、line、quiver等。
通过这些函数,我们可以绘制各种样式的曲线,例如直线、曲线、矢量、流线等。
我们可以根据需要设置线条的样式、颜色、宽度等属性。
4. 曲面的绘制除了曲线,我们还可以绘制三维曲面。
通过函数mesh、surf和contour,我们可以绘制出具有平滑外形的曲面。
可以通过设置颜色映射和透明度等属性,使得曲面具有更加细腻的外观。
二、动画制作1. 创建动画对象要制作动画,我们需要先创建一个动画对象。
通过使用MATLAB的videoWriter函数,我们可以创建一个视频文件,并设置其参数,如帧率、分辨率等。
2. 绘制关键帧动画的核心是绘制一系列关键帧,并在每一帧之间进行插值。
通过在每一帧中修改图形对象的属性,我们可以实现对象的平移、旋转和缩放等变换。
通过MATLAB提供的getframe函数,我们可以将当前图像存储为一个帧对象。
3. 帧之间的插值在关键帧之间,我们需要进行插值,以平滑动画的过渡。
通过使用MATLAB 的linspace函数,我们可以生成两个关键帧之间的若干插值。
然后,我们可以在每个插值处更新图形对象的属性,从而实现动画效果。
第三章 matlab图形绘制
指定
grid 图形中加网格
例3.在同一坐标系下画出sinx和cosx的图形,并适当加 标注.
x=linspace(0,2*pi,30);y=[sin(x);cos(x)]; plot(x,y);grid;xlabel (‘x’);ylabel (‘y’); title(‘sine and cosine curves’); text(3*pi/4,sin(3*pi/4),’\leftarrowsinx’); text(2.55*pi/2,cos(3*pi/2),’cos\rightarrow’)
结果见下图.
4.多幅图形
subplot(m,n,p)可以在同一个图形窗口中画出多个图 形,用法见下例.
x=linspace(0,2*pi,30);y=sin(x);z=cos(x);u=2*sin(x).* cos(x);v=sin(x)./cos(x); subplot(2,2,1),plot(x,y),title(‘sin(x)’) subplot(2,2,2),plot(x,z),title(‘cos(x)’) subplot(2,2,3),plot(x,u),title(‘2sin(x)cos(x)’) subplot(2,2,4),plot(x,v),title(‘sin(x)/cos(x)’)
plot(x1,y1,x2,y2, …) 在此格式中,每对x,y必须符合 plot(x,y)中的要求,不同对之间没有影响,命令对每 一对x,y绘制曲线.
例1.做出y=sinx在[0,2π]上的图形,结果见下图.
x=linspace(0,2*pi,30); sin(x);plot(x,y)
例2.在同一坐标系下做出两条曲线y=sinx和y=cosx 在[0,2π]上的图形.结果见下图.
9.3Matlab绘图功能
二、plot的调用格式
plot(x) —— 缺省自变量绘图格式,x为向量, 以x元素值为 纵坐标,以相应元素下标为横坐标绘图 plot(x,y) —— 基本格式,以y(x)的函数关系作出直角坐标 图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线 plot(x1,y1,x2,y2) —— 多条曲线绘图格式
matlab语言的绘图功能
MATLAB语言具有丰富的图形表现方法,使得数学计算结果可以 方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多 样的。 matlab语言不仅具有高层绘图能力,而且还具有底层绘图能 力——句柄绘图方法。 在面向对象的图形设计基础上,使得用户可以用来开发各专业 的专用图形。
2. 单窗口多曲线绘图
例2:t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2)
1 0 .8 0 .6 0 .4 0 .2 0 - 0 .2 - 0 .4 - 0 .6 - 0 .8 -1 0 1 2 3 4 5 6 7
线形: [ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram ] square diamond pentagram hexagram 正方形 菱形 五角星 六角星
1. 单窗口单曲线绘图
例1:x=[0, 0.48,0.84,1,0.91,0.6,0.14] [ x1, x2, x3, x4, x5, x6, x7,] plot (x)
plot(x,y,’s’) —— 曲线属性设置格式,字符串s设定曲线颜色和 绘图方式,使用颜色字符串的前1~3个字母,如 yellow—yel表示等。 或plot(x1,y1,’s1’,x2,y2,’s2’,…)
MATLAB图形绘制命令
∙图形绘制命令∙∙title ——给图形加标题∙xlable ——给x轴加标注∙ylable ——给y轴加标注∙text ——在图形指定的任意位置加标注∙gtext ——利用鼠标将标注加到图形任意位置∙grid on ——打开坐标网格线∙grid off——关闭坐标网格线∙legend ——添加图例∙axis ——控制坐标轴刻度∙hold on; %后续图形叠加显示plot函数绘制二维曲线,常用格式有:plot(x):缺省自变量的绘图格式,x可为向量或矩阵。
plot(x, y):基本格式,x和y可为向量或矩阵。
plot(x1, y1, x2, y2,…):多条曲线绘图格式,在同一坐标系中绘制多个图形。
plot(x, y, ‘s’):开关格式,开关量字符串s设定了图形曲线的颜色、线型及标示符号。
cleart=0:0.1:10;y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3; 0.7];s=['sin(t)';'cos(t)'];text(x, y, s); %指定位置加标注title('正弦和余弦曲线'); %标题legend('正弦','余弦') %添加图例注解xlabel('时间') %x坐标名ylabel('正弦&余弦') %y坐标名grid on %添加网格axis square %将图形设置为正方形采用图形窗口分割方法进行比较显示cleart=0:pi/10:2*pi;y1=sin(t);y2=cos(t);y3=cos(t+pi/2);y4=cos(t+pi);%将图形窗口分割成两行两列,要画的图形为第1行第1列subplot(2,2,1);plot(t,y1);%将图形窗口分割成两行两列,要画的图形为第1行第2列subplot(2,2,2);plot(t,y2);%将图形窗口分割成两行两列,要画的图形为第2行第1列subplot(2,2,3);plot(t,y3);%将图形窗口分割成两行两列,要画的图形为第2行第2列subplot(2,2,4);plot(t,y4);。
MATLAB图形功能
钟培华数学建模基础第 5 讲 MATLAB 图形功能第五讲1.平面图形描绘相关命令 (1) plot 利用点 ( xi特殊函数图形与描绘y i ) i = 1,2,, n 作平面图形调用格式 plot ( x, y, s ) ,其中 x, y 是同维的向量,是设置图形属性的选项。
例 1: x=-pi:pi/10:pi; y=sin(x); plot(x,y,'--r*','linewidth',2,'markeredgecolor','b''markerfacecolor','g') 调用格式:plot(x1,y1,x2,y2,x3,y3)或 plot(x1,y1,s,x2,y2,s…)线型 — : —. —— 实线 虚线 点划线 间断线 . O数据点形状 点 小圆圈 叉号 加号 星号 方格 菱形 朝上三角 朝下三角 朝右三角 朝左三角 五角星 六角星 y m c r g b w k颜色控制 黄色 棕色 青色 红色 绿色 蓝色 白色 黑色×+ * s d∧ ∨> < p h (2)fplot 格式函数利用函数表达式画函数图形 fplot( ‘函数表达式’ x min , x max ]) ,[>> fplot('sin(x)./x',[-0.1,0.1]) % limsin x 存在吗? x →0 x 1 >> fplot('sin(1./x)',[-0.1,0.1]) % lim sin 存在吗? x →0 x>> fplot('sin(1/x)',[-0.1,0.1])3 2思考:化出 f ( x) = ( 2 x − 5) x 的图形,能指出极值点吗?与华师大数学分析(上) P 例 1 图比 143 较,你画对没有? >> fplot('(2*x-5)*(x^2)^(1/3)',[-2,3])补充:ezplot(f,[ x min , x max , y min , y max ] ]1钟培华数学建模基础第 5 讲 MATLAB 图形功能%画出 f(x,y)=0 在 [ x min , x max ] × [Ymin , Ymax ] 上的图形 例如:>>ezplot(‘u^2+v^2=1’,[-2,3,2,3]) %画 u + v = 1 的图2 2如:ezplot(‘x(t)’,’y(t)’,[tmin,tmax]%画 ⎨⎧ x = x(t ) ⎩ y = y (t )t min ≤ t ≤ t max 上的图>> ezplot('2*sin(t)','5*cos9t)',[0,2*pi])%x2 y2 + =1 2 2 52(3)对数图形log log( x, y )%x, y 同时取以 10 为对数再画图semi log x( x, y ) %x 取以 10 为底的对数,y 不变再画图 semi log y ( x, y )%x 不变,y 取以 10 为底对数,再画图x=1:0.1:9;y=x;plot(x,y),pause loglog(x,y,’r*--‘),pause,semilog(x,y,’b+-‘), pause,semilog y(x,y,’k*--‘) (4) >> >> >> >> 极坐标图形 polar( θ , ρ )t=0:0.1:pi;tt=2*sin(t); polar(t,tt); t=0:0.01:2*pi; polar(t,sin(6*t)) % ρ = f (θ )补充:ezpolar(f)θ ∈ [0,2π ]ezpolar(‘f(sita)’,[a,b]) % ρ = f (θ ), a ≤ θ ≤ b >> ezpolar('2*sin(t)',[0,pi]) % ρ = 2 sin(t )t ∈ [0, π ](5) 产生随机数画频数直方图 normrnd 生产符合正态分布的随机数 normrnd(u,v,m,n) %u 表示期望 ,v 表示方差,m 行,n 列 randn %生成标准正态分布数据 rand %生成平均分布数据 >> >> >> >> yn=randn(30000,1);x=min(yn):0.2:max(yn); subplot(121),hist(yn,x); yu=rand(30000,1);subplot(122); hist(yu,25)2钟培华数学建模基础第 5 讲 MATLAB 图形功能(6)画子图 subplot(m,n,p), 221 222 212m,n,p 是三个自然数 121 222 224(7) 用函数 patch 绘填充图 fplot(‘hunps’,[0,2],’b’), hold on patch( [0.5,0.5:0.02:1] [0,humps(0.5:0.02:1),0],’r’] hold off grid on (8)用 fill 来绘制类似的填充图 x=0:pi:2*pi;y=sin(x);plot(x,y,’r’) hold on, x1=0:pi/20:1;y1=sin(x1); fill( [x1,1],[y1,0],’g’) 2、三维图形⎛ 1 2 3⎞ ⎜ ⎟ (1) 绘制 A= ⎜ 4 5 6 ⎟ 的三维饼状图。
MATLAB三维图形绘制
说明:当只有参数z时,以z矩阵的行下标作为x坐标轴,把z
的列下标当作y坐标轴;x、y分别为x、y坐标轴的自变量;
当有x、y、z参数时,c是指定各点的用色矩阵,当c省略时
默认用色矩阵是z的数据。如果x、y、z、c四个参数都有,
则应该都是维数相同的矩阵。
.
3
3. 三维曲面图
语法:
surf (z)
%画三维曲面图
3.7000 8.1000 0.6000
1.5000 7.7000 -4.5000]
>>bar(x,y)
%画条形图
>>bar3(x,y) %画三维条形图
图4.23 (a) 条形. 图
(b) 三维条形图
14
二、直方图
语法:
分段的个数, 默认为10
hist(y,m) %统计每段的元素个数并画出直方图
hist(y,x) % x是向量,用于指定所分每个数据段
【例】使用几种绘制离散数据的命令来显示 ye2xsin(x) 的离散数据。
五、等高线图
语法:
contour3(Z,n)
%绘制Z矩阵的三维等高线
contour(x,y,z,n)
%绘制以x和y指定x、y坐标的二维等高线
说明:n为等高线的条数,省略时为自动条数。
.
17
x=0:0.1:2*pi; y=sin(x).*exp(-2*x); subplot(3,1,1) stem(x,y,'filled') subplot(3,1,2) stairs(x,y) subplot(3,1,3) scatter(x,y)
.
24
【上例续】使用消息框显示当阻尼系数大于1时的警告信 息,如图所示。
matlab绘制倾斜长方形
matlab绘制倾斜长方形一、背景介绍在数学和工程领域中,经常需要使用计算机软件来绘制各种图形。
MATLAB是一款功能强大的科学计算软件,也可以用于绘制各种图形,包括倾斜长方形。
倾斜长方形是指边与水平线或垂直线不平行的长方形。
二、MATLAB绘图工具箱1. MATLAB是一款专业的科学计算软件,内置了丰富的绘图工具箱,可以用于创建各种类型的图形。
2. 要使用MATLAB进行倾斜长方形的绘制,首先需要打开MATLAB软件,并确保已经安装了绘图工具箱。
三、创建坐标系1. 在MATLAB中创建一个坐标系是绘制任何图形的第一步。
通过调用plot函数可以在坐标系中添加点、直线等元素。
2. 使用以下代码创建一个坐标系:```figure; % 创建一个新的图窗口hold on; % 保持当前图窗口中已有的内容axis equal; % 设置x轴和y轴比例相等```四、定义长方形参数1. 在进行倾斜长方形的绘制之前,需要定义其参数,包括位置、大小和角度等。
2. 假设我们要绘制一个位于(0, 0)位置,宽度为w,高度为h,倾斜角度为theta的长方形。
五、计算长方形的四个顶点坐标1. 根据长方形的参数,可以计算出其四个顶点的坐标。
2. 假设长方形的中心点坐标为(x0, y0),可以使用以下公式计算顶点坐标:```x1 = x0 + w/2 * cos(theta) - h/2 * sin(theta);y1 = y0 + w/2 * sin(theta) + h/2 * cos(theta);x2 = x0 - w/2 * cos(theta) - h/2 * sin(theta);y2 = y0 - w/2 * sin(theta) + h/2 * cos(theta);x3 = x0 - w/2 * cos(theta) + h/2 * sin(theta);y3 = y0 - w/2 * sin(theta) - h/2 * cos(theta);x4 = x0 + w/2 * cos(theta) + h/2 * sin(theta);y4 = y0 + w/2 * sin(theta) - h/2 * cos(theta);```六、绘制倾斜长方形1. 使用MATLAB中的plot函数可以在坐标系中绘制直线段。
怎样用Matlab绘图
help plothelp axisa1=plot();hlod ona2=plot();legend([a1 a2],'图1 名',‘图2 名')hold offx1=-pi:pi/12:pi;x2=-pi:pi/12:pi;y1=sin(x1);y2=cos(x2);plot(x1,y1,x2,y2);axis([-2*pi 2*pi -2 2]);xlabel('x');ylabel('y');title('sin(x) & cos(x)');MATLAB受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图功能.这里主要介绍2 维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB 各种图形对象的方法.第一节图形窗口与坐标系一.图形窗口1.MATLAB 在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.2.在MATLAB 下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB 通过管理图形窗口的句柄来管理图形窗口;3.当前窗口句柄可以由MATLAB 函数gcf 获得;4. 在任何时刻, 只有唯一的一个窗口是当前的图形窗口( 活跃窗口);figure(h)----将句柄为h 的窗口设置为当前窗口;5.打开图形窗口的方法有三种:1)调用绘图函数时自动打开;2)用File---New---Figure 新建;3)figure 命令打开,close 命令关闭.在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.6.窗口中的图形打印:用图形窗口的File 菜单中的Print 项.7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit 菜单中选择Properties 项,打开图形对象的参数设置窗口,可以设置对象的属性.二.坐标系1.一个图形必须有其定位系统,即坐标系;2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;3.每个坐标系都有唯一的标识符,即句柄值;4.当前坐标系句柄可以由MATLAB 函数gca 获得;5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.6.一些有关坐标轴的函数:1)定义坐标范围:一般MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin, Ymax])重新设定;2)坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis on 则显示坐标轴(缺省值).3)通常MATLAB 的坐标系是长方形,长宽比例大约是4:3,为了得到一个正方形的坐标系可用:axis square4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal第二节二维图形的绘制一. plot 函数plot 函数是最基本的绘图函数,其基本的调用格式为:1.plot(y)------绘制向量y 对应于其元素序数的二维曲线图,如果y 为复数向量,则绘制虚部对于实部的二维曲线图.例:绘制单矢量曲线图.y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20];plot(y)由于y 矢量有10 个元素,x 坐标自动定义为[1 2 3 4 5 6 7 8 9 10].2.plot(x,y)------绘制由x,y 所确定的曲线.1)x,y 是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x 为横坐标,y 为纵坐标的图形.如:画正弦曲线:t=0:0.1:2*pi;y=sin(t);plot(t,y)2)当plot(x,y)中,x 是向量,y 是矩阵时,则绘制y 矩阵中各行或列对应于向量x的曲线.如果y 阵中行的长度与x 向量的长度相同,则以y 的行数据作为一组绘图数据;如果y 阵中列的长度与x 向量的长度相同,则以y 的列数据作为一组绘图数据;如果y 阵中行,列均与x 向量的长度相同,则以y 的每列数据作为一组绘图数据.例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(2,:)=0.3*sin(x);plot(x,y)或者还可以这样用:x=0:pi/50:2*pi;y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];plot(x,y)3) 如果x,y 是同样大小的矩阵,则plot(x,y)绘出y 中各列相应于x 中各列的图形.例:x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2;y(1,:)=sin(x(1,:));y(2,:)=0.6*sin(x(2,:));y(3,:)=0.3*sin(x(3,:));plot(x,y)x=x';y=y';figureplot(x,y)在这个例子中,x------3x101,y------3x101,所以第一个plot 按列画出101 条曲线,每条3 个点;而x'------101x3,y'------101x3,所以第二个plot 按列画出3 条曲线,每条101 个点.3.多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:各种颜色属性选项'r' 红色'm' 粉红'g' 绿色'c' 青色'b' 兰色'w' 白色'y' 黄色'k' 黑色各种线型属性选项'-' 实线'--' 虚线':' 点线'-.' 点划线各种标记点属性选项'.' 用点号绘制各数据点'^' 用上三角绘制各数据点'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.注意:1)表示属性的符号必须放在同一个字符串中;2)可同时指定2~3 个属性;3)与先后顺序无关;4)指定的属性中,同一种属性不能有两个以上.例:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r',t,y2, ':g',t,y3, '*b')该程序还可以按下面的方式写:t=0:0.1:2*pi;y1=sin(t);y2=cos(t);y3=sin(t).*cos(t);plot(t,y1, '-r')hold onplot(t,y2, ':g')plot(t,y3, '*b')hold off注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.还可以进一步设置包括线的宽度(LineWidth), 标记点的边缘颜色(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)等其它绘图属性.例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小.t=0:pi/20:pi;y=sin(4*t).*sin(t)/2;plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色'MarkerFaceColor','y',... %设置标记点填充颜色为黄色'MarkerSize',10) %设置标记点的尺寸为104.双Y 轴绘图:plotyy()函数.其调用格式为: plotyy(x1,y1,x2,y2)------绘制由x1,y1 和x2,y2 确定的两组曲线,其中x1,y1 的坐标轴在图形窗口的左侧,x2,y2 的坐标轴在图形窗口的右侧.Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx,loglog 等.例如:在一个图形窗口中绘制双Y 轴曲线.x=0:0.3:12;y=exp(-0.3*x).*sin(x)+0.5;plotyy(x,y,x,y,'plot','stem')stem:绘制stem 形式的曲线(上端带圈的竖线).绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y 轴坐标对应的是plot 形式的曲线,右边的Y 坐标对应的是stem 形式的曲线.二.对数坐标图绘制函数:在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和loglog 函数.1)semilogx( )------绘制以X 轴为对数坐标轴的对数坐标图. 其调用格式为:semilogx(x,y,'属性选项')其中属性选项同plot 函数.该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.2)semilogy( )------绘制以Y 轴为对数坐标轴的对数坐标图. 其调用格式为:semilogy(x,y,'属性选项')该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.3)loglog( )------ 绘制X,Y 轴均为对数坐标轴的图形.其调用格式为:loglog(x,y,'属性选项')该函数分别对横,纵坐标都进行对数变换.例:x=0:0.1:6*pi;y=cos(x/3)+1/9;subplot(221), semilogx(x,y);subplot(222), semilogy(x,y);subplot(223), loglog(x,y);4)MATLAB 还提供了一个实用的函数:logspace( )函数,可按对数等间距地分布来产生一个向量,其调用格式为:x=logspace(x1,x2,n)这里,x1 表示向量的起点;x2 表示向量的终点;n 表示需要产生向量点的个数(一般可以不给出,采用默认值50).在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.三.极坐标图的绘制函数:绘极坐标图可用polar( )函数.其调用格式如下:polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与plot 函数基本一致.例如:极坐标模型为:3145/)/)cos((+ =θρ, ],[πθ80∈则绘出极坐标图的程序为:theta=0:0.1:8*pi;p=cos((5*theta)/4)+1/3;polar(theta,p)四.绘制多个子图:subplot( )函数MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm 个部分.分割图形窗口用subplot 函数来实现,其调用格式为:subplot(n,m,k)或subplot(nmk)------n,m 分别表示将窗口分割的行数和列数,k 表示要画图部分的代号,表示第几个图形,nmk 三个数可以连写,中间不用符号分开.例如:将窗口划分成2x2=4 个部分,可以这样写:subplot(2,2,1),plot(……)subplot(2,2,2),……subplot(2,2,3),……subplot(2,2,4),……注:subplot 函数没有画图功能,只是将窗口分割.第三节图形的修饰与标注MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下: 1)坐标轴的标题:title 函数其调用格式为:title('字符串')------字符串可以写中文如:title('My own plot')2)坐标轴的说明:xlabel 和ylabel 函数格式:xlabel('字符串')ylabel('字符串')如:xlabel('This is my X axis') ylabel('My Y axis')3)图形说明文字:text 和gtext 函数A.text 函数:按指定位置在坐标系中写出说明文字.格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1 的坐标单位,如没有选项,则x1,y1 的坐标单位和图中一致;如选项为'sc', 则x1,y1 表示规范化窗口的相对坐标,其范围为0到1.如:text(1,2, '正弦曲线')B.gtext 函数:按照鼠标点按位置写出说明文字.格式为:gtext('字符串')当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上.4)给图形加网格:grid 函数在调用时直接写grid 即可.上面的函数的应用实例:例:在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.t=0:pi/100:2*pi;y=sin(t);plot(t,y),grid,axis([0 2*pi -1 1])xlabel('0 leq itt rm leq pi','FontSize',16)ylabel('sin(t)','FontSize',20)title('正弦函数图形','FontName','隶书' ,'FontSize',20) text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707','FontSize',16)text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707rightarrow',... 'FontSize',16,'HorizontalAlignment','right')5)在图形中添加图例框:legend 函数其调用格式为:A.legend('字符串1', '字符串2', ……)------以字符串1,字符串2……作为图形标注的图例.B.legend('字符串1', '字符串2', ……, pos)------pos 指定图例框显示的位置.图例框被预定了6 个显示位置:0------取最佳位置;1------右上角(缺省值);2------左上角;3------左下角;4------右下角;-1------图的右侧.例:在图形中添加图例.x=0:pi/10:2*pi;y1=sin(x);y2=0.6*sin(x);y3=0.3*sin(x);plot(x,y1,x,y2,'-o',x,y3,'-*')legend('曲线1','曲线2','曲线3')6)用鼠标点选屏幕上的点:ginput 函数格式为:[x, y, button]=ginput(n)其中:n 为所选择点的个数;x,y 均为向量,x 为所选n 个点的横坐标;y 为所选n个点的纵坐标.button 为n 维向量,是所选n 个点所对应的鼠标键的标号:1------左键;2------中键;3------右键.可用不同的鼠标键来选点,以区别所选的点.此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.第四节MATLAB 下图形对象的修改MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root), 图形窗口(Figures), 坐标轴(Axes), 控件(Uicontrol), 菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像(Images),文本(Text)等等.根据各对象的相互关系,可以构成如下所示的树状层次:RootFiguresAxes Uicontrol Uimenu Uicontextmenu (对象菜单)Images Line Patch Surface Text对各种图形对象进行修改和控制,要使用MATLAB 的图形对象句柄(Handle).在MATLAB 中,每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.一.对图形对象的修改可以用下面函数:1)set 函数:用于设置句柄所指的图形对象的属性.Set 函数的格式为:set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……) 例:h=plot(x,y)set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.2)get 函数:获取指定句柄的图形对象指定属性的当前值.格式为:get(句柄, '属性名')如: get(gca, 'Xcolor')------获得X 轴的当前颜色属性值. 执行后可返回X 轴的当前颜色属性值[0,0,0](黑色).3)如果没有设置句柄,则可以使用下列函数获得:gcf:获得当前图形窗口的句柄;gca:获得当前坐标轴对象的句柄;gco:获得当前对象的句柄.如:A.要对图形窗口的底色进行修改,可用:set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色B.要把当前X 轴的颜色改为绿色,可用:set(gca, 'Xcolor', [0,1,0])C.还可对坐标轴的显示刻度进行定义:t=-pi:pi/20:pi;y=sin(t);plot(t,y)set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/ 2','0','pi/2','pi'])本例中用'xtick'属性设置x 轴刻度的位置(从-pi~pi,间隔pi/2,共设置5 个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数,因此重新设置['-pi','-pi/2','0','pi/2','pi']5 个刻度值.二.一些常用的属性如下:1)Box 属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框), 'off'(无方框);2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]黄色粉色天蓝红色绿色兰色颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:'normal'------正常'reverse'------反向4)坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色, 值为颜色向量如何在画好曲线后再在图上标刻度就是想在一些特定的点边上标上一串30.60.90~7200递增的数据,共有96个点要标!!im = imread(url);imshow(im)然后输入:text(100,100,'\o ','Color','red');matlab,用imread 读入一个图片,我想在图上的一些坐标点上做标记。
实验三 MATLAB的绘图功能
(1)利用民生银行股票价格数据画出股价(收盘价)波动图,并在同一张图中画出5日均线图。
答:先将数据导入matlab工作区,再直接在图窗口编辑
接下来画五日均线图,思路:先在民生银行(表格)计算出五日均线数据,将其数据写入表格的一列,再将(五日均线数据)和日期数据复制到另一表格中,将此表格数据导入变量,作图,再编辑图例
(3)查看运行结果:
(4)如果要将所得图形插入到word文档中,应如何操作?
在figure窗口中选择编辑,选择“复制图窗”,随后黏贴到word文档中
3、绘制三维螺旋线: 要求给相应的坐标轴和标题附加标注,螺线为蓝色虚线,线条粗细设置为3。
(1)生成三维螺旋线的程序:
t=0:pi/10:10*pi;
x=2*(cos(t)+t.*sin(t));
资金流向饼图:
x=[4619.0111 3965.2678 8239.9428 8293.4513 10272.8647 10920.2478 5173.3858 5126.2376];
subplot(2,2,2),mesh(X,Y,Z);title('网格图');
subplot(2,2,3),surf(X,Y,Z);title('光滑曲面图');shading interp;
(3)绘制镂空图。将 的数据点的z坐标取值设置为“nan”。
程序:
i=find(Z<-0.1);
Z(i)=nan;
surf(x1,y1,z1);
shading interp;colormap(summer)
axis off
6、播放一个直径不断变化的球体。
要求:
(1)球体为光滑曲面,颜色为光谱交错色。
Matlab中的3D图形绘制方法
Matlab中的3D图形绘制方法Matlab是一种常用于科学计算和数据可视化的高级编程语言和开发环境。
它的强大功能使得它成为工程师、科学家和研究人员的首选工具之一。
其中一个引人注目的特点是它对3D图形的支持。
在本文中,我们将探讨Matlab中的一些3D图形绘制方法。
Matlab提供了多种绘制3D图形的函数和工具。
最基本的方法是使用“plot3”函数绘制三维数据。
这个函数接受x、y和z三个参数,分别表示三维坐标系上的数据点。
通过给定一系列的数据点,我们可以在三维空间中绘制出线条或散点图。
这种方法适用于简单的数据展示和初步的分析。
除了基本的线条和散点图,Matlab还提供了一些更高级的3D图形绘制函数,如“surface”和“mesh”。
这些函数可以用来绘制三维曲面和网格图。
例如,我们可以使用“surface”函数绘制一个三维山丘的图像,其中x和y轴表示地面上的位置,z轴表示地面的高度。
通过调整x、y和z的数值,我们可以创建出各种形状和复杂度的三维表面。
Matlab还在其图形库中提供了许多其他类型的3D图形绘制函数。
例如,“bar3”函数可以用来绘制三维柱状图,其中x和y轴表示不同的类别,z轴表示各类别的数值。
这种图形可以更直观地展示不同类别之间的关系和差异。
类似地,“contour”函数可以用来绘制三维的等值线图,用于可视化函数的等值线和等高面。
另一个值得一提的技术是使用Matlab的“patch”函数绘制复杂的三维图形。
这个函数可以用来创建和修改三维物体的表面,例如绘制球体、立方体和多面体等。
我们可以通过更改物体的属性和位置来构建各种形状和几何体。
这种灵活性使得“patch”函数在计算机图形学和动画领域中得到广泛应用。
除了这些函数和工具,Matlab还允许用户通过编写自定义的脚本和函数来实现更高级的3D图形绘制。
例如,我们可以使用Matlab的3D绘图工具箱中的一些高级函数和方法来创建特定类型的三维图形,如体积渲染、光线追踪和动画效果等。
《MATLAB图形绘制》课件
交互式编程环境
Matlab提供了交互式命令窗口和脚本文 件,方便用户进行编程和调试。
图形绘制功能
Matlab提供了丰富的绘图函数,可以方 便地绘制各种二维、三维图形,支持多种 图形格式输出。
02
Matlab绘图基础
绘图函数的使用
plot函数
用于绘制二维线图,可以绘制一个或多个数 据序列。
bar函数
滤波器应用
通过实例演示如何使用Matlab实现图像的 滤波处理,提高图像质量或突出特定特征。
图像的色彩空间转换
色彩空间
介绍常见的色彩空间如RGB、HSV、 CMYK等,以及它们之间的转换关系 。
转换方法
演示如何使用Matlab进行图像的色彩 空间转换,以便更好地进行图像处理 和分析。
05
Matlab与其他软件的结 合使用
信号处理与通信
05
06
金融建模与预测
Matlab的优点与特点
易用性
Matlab的语法简洁明了,易于学习,适 合初学者快速入门。
支持多种编程范式
Matlab不仅支持传统的命令式编程,还 支持面向对象编程和函数式编程,具有高 度的可扩展性。
强大的数学计算能力
Matlab内置了大量数学函数和算法,支 持矩阵运算、数值分析、统计分析等多种 数学计算。
《Matlab图形绘制》 PPT课件
xx年xx月xx日
• Matlab简介 • Matlab绘图基础 • 高级绘图技巧 • 图像处理与可视化 • Matlab与其他软件的结合使用 • Matlab图形绘制的实际应用案
例
目录
01
Matlab简介
Matlab的发展历程
01
1980年代初
第三讲MATLAB的图形功能
图形的标注
坐标轴标注
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','b old'); ?title('正弦函数 ','Fontsize',12,'fontweight','bold', 'fontname','黑体')
10
1
极坐标系 polar(theta,rho) polar(theta,rho,s) 其中,theta为角向量,rho 为幅向量,s为图形属性 选项。 例:
90 120
12.5584 60
150
6.2792
30
180
0
210
330
>>x=1:0.01*pi:4*pi; >>y=sin(x/2)+x; >>polar(x,y,'-')
2 1 0
?[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)
-1 2 5 0 -2 -5 0
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)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MatLab图形绘制功能MatLab图形绘制功能例子解读一、二维平面图形基本绘图函数命令含义plot 建立向量或矩阵各队队向量的图形loglog x、y轴都取对数标度建立图形semilogx x轴用于对数标度,y轴线性标度绘制图形semilogy y轴用于对数标度,x轴线性标度绘制图形title 给图形加标题xlabel 给x轴加标记ylabel 给y轴加标记text 在图形指定的位置上加文本字符串gtext 在鼠标的位置上加文本字符串grid 打开网格线plot绘图函数的叁数字元颜色字元图线型态y 黄色 . 点k 黑色 o 圆w 白色 x xb 蓝色 + +g 绿色 * *r 红色 - 实线c 亮青色 : 点线m 锰紫色 -. 点虚线-- 虚线hold on 命令用于在已画好的图形上添加新的图形plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标。
下例可画出一条正弦曲线:x=0:0.001:10; % 0到10的1000个点的x座标y=sin(x); % 对应的y座标plot(x,y); % 绘图Y=sin(10*x);plot(x,y,'r:',x,Y,'b') % 同时画两个函数, 若要改变颜色,在座标对後面加上相关字串即可: x=0:0.01:10;plot(x,sin(x),'r')若要同时改变颜色及图线型态(Line style),也是在坐标对後面加上相关字串即可:plot(x,sin(x),'r*')用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围 axis([0,6,-1.5,1]) MATLAB也可对图形加上各种注解与处理:xlabel('x轴'); % x轴注解ylabel('y轴'); % y轴注解title('余弦函数'); % 图形标题legend('y = cos(x)'); % 图形注解gtext('y = cos(x)'); % 图形注解 ,用鼠标定位注解位置 grid on; % 显示格线fplot的指令可以用来自动的画一个已定义的函数分布图,而无须产生绘图所须要的一组数据做为变数。
其语法为fplot('fun',[xmin xmax ymin ymax]),其中 fun为一已定义的函数名称,例如 sin, cos等等;而 xmin, xmax, ymin, ymax 则是设定绘图横轴及纵轴的下限及上限。
以下的例子是将一函数 f(x)=sin(x)/x 在-20<x<20,-0.4<y<1.2之间画出: >>fplot('sin(x)./x',[-20 20 -0.4 1.2])【例】画椭圆a = [0:pi/50:2*pi]'; %角度X = cos(a)*3; %参数方程Y = sin(a)*2;plot(X,Y); 2xlabel('x'), ylabel('y');title('椭圆') 1.5椭圆10.5-0.5y-1-1.5-2-3-2-10123x图形窗口的分割一般用命令subplot:subplot(2,2,1);subplot(2,3,4);MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
小整理:其他各种二维绘图函数bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形polar 极座标图hist 累计图rose 极座标累计图stairs 阶梯图stem 针状图fill 实心图feather 羽毛图compass 罗盘图quiver 向量场图当资料点数量不多时,长条图是很适合的表示方式: close all; % 关闭所有的图形视窗x=1:10;y=rand(size(x));bar(x,y);如果已知资料的误差量,就可用errorbar来表示。
下例以单位标准差来做资料的误差量:x = linspace(0,2*pi,30);y = sin(x);e = std(y)*ones(size(x));errorbar(x,y,e)对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进行较密集的取样,如下例:fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围若要产生极座标图形,可用polar:theta=linspace(0, 2*pi);r=cos(4*theta);polar(theta, r);对於大量的资料,我们可用hist来显示资料的分情况和统计特性。
下面几个命令可用来验证randn产生的高斯乱数分 : x=randn(5000, 1); % 产生5000个m=0,s=1 的高斯乱数 hist(x,20); % 20代表长条的个数rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,并用极座标绘制表示:x=randn(1000, 1);rose(x);stairs可画出阶梯图:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stairs(x,y);stems可产生针状图,常被用来绘制数位讯号:x=linspace(0,10,50);y=sin(x).*exp(-x/3);stem(x,y);stairs将资料点视为多边行顶点,并将此多边行涂上颜色:x=linspace(0,10,50);y=sin(x).*exp(-x/3);fill(x,y,'b'); % 'b'为蓝色feather将每一个资料点视复数,并以箭号画出: theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);feather(z);compass和feather很接近,只是每个箭号的起点都在圆点:theta=linspace(0, 2*pi, 20);z = cos(theta)+i*sin(theta);compass(z);二、三维立体图形三维绘图函数contour 二维等值线图,即从上向下看contour3等值线图contour3 等值线图fill3 填充的多边形mesh 网格图meshc 具有基本等值线图的网格图meshz 有零平面的网格图pcolor 二维伪彩色绘图,即从上向下看surf图plot3 直线图quiver 二维带方向箭头的速度图surf 曲面图surfc 具有基本等值线图的曲面图surfl 带亮度的曲面图waterfall 无交叉线的网格图三维绘图工具axis 修正坐标轴属性clf 清除图形窗口clabel 放置等值线标签close 关闭图形窗口figure 创建或选择图形窗口getframe 捕捉动画桢grid 放置网格griddata 对画图用的数据进行内插hidden 隐蔽网格图线条hold 保留当前图形meshgrid 产生三维绘图数据movie 放动画moviein 创建桢矩阵,存储动画shading 在曲面图和伪彩色图中用分块、平滑和插值加阴影subplot 在图形窗口内画子图text 在指定的位置放文本title 放置标题view 改变图形的视角xlabel 放置x轴标记ylabel 放置y轴标记zlabel 放置z轴标记函数viewview(az,el) 设置视图的方位角az和仰角elview([az,el])view([x,y,z]) 在笛卡儿坐标系中沿向量[x,y,z]正视原点设置视图,例如view([0 01])=view(0,90)view(2) 设置缺省的二维视图,az=0,el=90view(3) 设置缺省的三维视图,az=-37.5,el=30[az,el]=view 返回当前的方位角az和仰角elview(T) 用一个4×4的转置矩阵T来设置视图T=view 返回当前的4×4转置矩阵plot3命令将绘制二维图形的函数plot的特性扩展到三维空间图形。
函数格式除了包括第三维的信息(比如Z方向)之外,与二维函数plot相同。
plot3 一般语法调用格式是plot3(x,y,z,S),这里x,y和z是向量或矩阵,S是可选的字符串,用来指定颜色、标记符号和/或线形(s可以省略)。
三维螺旋线例子:t=0:pi/50:10*pi;plot3(sin(t),cos(t),t)grid %添加网格4030201010.510.500-0.5-0.5-1-1plot3可画出空间中的曲线:t=linspace(0,20*pi, 501);plot3(t.*sin(t), t.*cos(t), t); %注意用点乘 .* 亦可同时画出两条空间中的曲线:t=linspace(0, 10*pi, 501);plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t); 正弦曲线图x=linspace(0,3*pi); % 0到 3pi 间100个数据点z1=sin(x);z2=sin(2*x);z3=sin(3*x);y1=zeros(100); % 含有100个数据的 0数组y3=zeros(100);y2=y3/2;plot3(x,y1,z1,x,y2,z2,x,y3,z3);10.5-0.5-110.5108064-0.52-10利用在x,y平面的矩形网格点上的z轴坐标值,MATLAB定义了一个网格曲面。
MATLAB通过将邻接的点用直线连接起来形成网状曲面,其结果好象在数据点有结点的鱼网。
mesh可画出立体网状图.画出由函数形成的立体网状图:x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵 mesh(xx, yy, zz); % 画出立体网状图0.5-0.5212100-1-1-2-2曲面图,除了各线条之间的空档(称作补片)用颜色填充以外,和网格图看起来是一样的。
这种图一般使用函数surf来绘制。
surf和mesh的用法类似: x=linspace(-2, 2, 25); % 在x轴上取25点y=linspace(-2, 2, 25); % 在y轴上取25点[xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵 surf(xx, yy, zz); % 画出立体曲面图0.5-0.5212100-1-1-2-2MATLAB提供了一个peaks函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为:要画出此函数的最快方法即是直接键入peaks:peaksz = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ... - 10*(x/5 - x.^3 -y.^5).*exp(-x.^2-y.^2) ... - 1/3*exp(-(x+1).^2 - y.^2)我们亦可对peaks函数取点,再以各种不同方法进行绘图。