MATLAB作图教程全
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
plotyy 有两个y坐标轴,一个在左边,一个在右边
例 用方形标记创建一个简单的loglog
解 输入命令: x=logspace(-1,2); loglog(x,exp(x),’-s’) grid on %标注格栅
例 创建一个简单的半对数坐标图 解 输入命令: x=0:.1:10; semilogy(x,10.^x)
例 在[0,2*pi]用红线画sin(x),用绿圈画cos(x).
解 x=linspace(0,2*pi,30); y=sin(x); Matlab liti1 z=cos(x); plot(x,y,'r',x,z,’g0')
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
二维绘图函数小结
• • • • • • • • • • • • plot fplot fill polar bar loglog semilogx semilogy stairs axis clf close 二维图形基本函数 f(x)函数曲线绘制 填充二维多边图形 极坐标图 条形图 双对数坐标图 X轴为对数的坐标图 Y轴为对数的坐标图 阶梯形图 设置坐标轴 清除图形窗口内容 关闭图形窗口
Matlab 解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0,2*pi])
x
liti41
例 在[-2,0.5],[0,2]上画隐函数e sin(xy) 0 的图
解 输入命令 ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2])
Matlab
ezplot(‘x(t)’,’y(t)’,[tmin,tmax]) 表示在区间tmin<t<tmax绘制参数方程 x=x(t),y=y(t)的函数图
例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(x)’,[0,pi])
Matlab
liti25
3 3 例 在[0,2*pi]上画 x cos t , y sin t 星形图
数学建模与数学实验
MATLAB作图
后勤工程学院数学教研室 数学与信息科学学院
二维图形
三维图形
图形处理
实例
特殊二wenku.baidu.com三维图形
作 业
: -. -线型 符号 1.曲线图 含义 实线 虚线 点划线 双划线 Matlab作图是通过描点、连线来实现的,故在 g r c m y k w 色彩 符号 b 画一个曲线图形之前,必须先取得该图形上的白 含义 蓝 绿 红 青 品红 黄 黑
2.符号函数(显函数、隐函数和参数方程)画图
(1) ezplot
ezplot(‘f(x)’,[a,b])
表示在a<x<b绘制显函数f=f(x)的函数图
ezplot(‘f(x,y)’,[xmin,xmax,ymin,ymax])
表示在区间xmin<x<xmax和 ymin<y<ymax绘制
隐函数f(x,y)=0的函数图
x=[-2.5:0.25:2.5]; y=exp(-x.*x); bar(x,y); 绘制条形图命令
• 6.3 填充图形
• fill(x,y,’c’)函数用来绘制并填充二维多
边图形,x和y为二维多边形顶点坐标向 量。字符 ’c’ 规定填充颜色,其取值前 已叙述。 • 下述程序段绘制一正方形并以黄色填充:
• 图形标记
• 在绘制图形的同时,可以对图形加上一些说明,如图 形名称、图形某一部分的含义、坐标说明等,将这些操 作称为添加图形标记。 • title(‘加图形标题'); • xlabel('加X轴标记'); • ylabel('加Y轴标记'); • text(X,Y,'添加文本'); • grid on 加网格线 • text(x,y,‘string’) adds the string in quotes(引号) to the location specified by the point (x,y). • \bullet · • \pi π • \rightarrow 右箭头 • EdgeColor -- Color of the rectangle's edge (none by default). • ‘EdgeColor’ ,‘red’
(这里meshgrid(x,y)的作用 是产生一个以向量x为行、向量y 为列的矩阵)
返回
2’、多条曲线
• 函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)
• 其中x1,y1,z1…表示三维坐标向量,c1,c2…表示线形或颜色。
• 函数功能:以向量x,y,z为坐标,绘制三维曲线。
• 6.1阶梯图形
• 函数stairs(x,y)可以绘制阶梯图形,如下列程序段:
x=[-2.5:0.25:2.5]; y=exp(-x.*x); stairs(x,y); 绘制阶梯图形命令 title('stairs plot');
• 6.2 条形图形 • 函数bar(x,y)可以绘制条形图形,如下 列程序段将绘制条形图形
• • • • • •
例 绘制三维螺旋曲线,其程序为: t=0:pi/50:10*pi; y1=sin(t),y2=cos(t); plot3(y1,y2,t); title('helix'),text(0,0,0,'origin'); xlabel('sin(t)'),ylabel('cos(t)'),z label('t'); • grid on;
一系列的点的坐标(即横坐标和纵坐标),然v + * o > < ^ 点形 符号 . 后将该点集的坐标传给Matlab函数画图.
含义 命令为: 点 加号 星号 plot(x,y,‘s’) 圈 三角符
线型、颜色、点形
X,Y是向量,分别表示点集的横坐标和纵坐标
plot(x,y)--画实线 plot(x,y1,‘s1’,x,‘y2’,s2,……,x,yn,‘sn’) --将多条线画在一起
例 在[-1,2]上画 y e
解
2x
sin(3x 2 ) 的 图形
Matlab liti43
先建M文件myfun1.m: function Y=myfun1(x) Y=exp(2*x)+sin(3*x.^2) 再输入命令: fplot(‘myfun1’,[-1,2])
例 在[-2,2]范围内绘制函数tanh的图形 解 fplot(‘tanh’,[-2,2])
ezplot figure grid gtext hold subplot text title xlabel ylabel
Subplot
符号函数 创建图形窗口 放置坐标网格线 用鼠标放置文本 保持当前图形窗口内容 创建子图 放置文本 放置图形标题 放置X轴坐标标记 放置Y轴坐标标记
多子图
三维图形 1、空间曲线 2、空间曲面
• subplot(2,2,2);
4. 对数坐标图
在很多工程问题中,通过对数据进行对数转换可以 更清晰地看出数据的某些特征,在对数坐标系中描绘数 据点的曲线,可以直接地表现对数转换.对数转换有双对 数坐标转换和单轴对数坐标转换两种.用loglog函数可 以实现双对数坐标转换,用semilogx和semilogy函数可以 实现单轴对数坐标转换. loglog(Y) 表示 x、y坐标都是对数坐标系 semilogx(Y) semilogy(…) 表示 x坐标轴是对数坐标系 表示y坐标轴是对数坐标系
• 格式:legend('图例说明','图例说明');
• • • • • • 为正弦、余弦曲线增加图例,其程序为: x=0:pi/100:2*pi; Matlab aaa y1=sin(x); y2=cos(x); plot(x,y1,x,y2, '--'); legend('sin(x)','cos(x)');
• 例 在一个图形窗口中同时绘制正弦、余弦、正切、余切曲 线,程序为:
• • • • • • • • x=linspace(0,2*pi,60); y=sin(x); z=cos(x); t=sin(x)./(cos(x)+eps); eps为系统内部常数 ct=cos(x)./(sin(x)+eps); plot(x,y); title('sin(x)'); axis ([0 2*pi -1 1]); plot(x,z); title('cos(x)'); axis ([0 2*pi -1 1]);
liti40
(2) fplot
fplot(‘fun’,lims)
表示绘制字符串fun指定的函数在 lims=[xmin,xmax]的图形.或
lims=[xmin,xmax, ymin,ymax] 注意:
[1] fun必须是M文件的函数名或是独立变量为 x的字符串. [2] fplot函数不能画参数方程和隐函数图形, 但在一个图上可以画多个图形。
2、多条曲线 plot3(x,y,z)
其中x,y,z都是m*n矩阵,其对应的每一列表示一条曲线.
例 画多条曲线观察函数Z=(X+Y).^2.
解 x=-3:0.1:3;y=1:0.1:5; [X,Y]=meshgrid(x,y); Z=(X+Y).^2; plot3(X,Y,Z) Matlab liti9
返回
空 1、 一条曲线
间
曲
线
plot3(x,y,z,s)
n维向量,分别表示曲 线上点集的横坐标、纵 坐标、函数值 例 指定颜色、 线形等
在区间[0,10*pi]画出参数曲线x=sin(t),y=cos(t), z=t. 解 t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) Matlab liti8 rotate3d %旋转
Matlab
liti28
例 x、y 的取值范围都在[-2 ,2 ], 画函数 tanh(x),sin(x),cos(x)的图形
解 输入命令: Matlab fplot(‘[tanh(x),sin(x),cos(x)]’,2*pi*[-1 1 –1 1]) liti42
3 subplot函数 • subplot(m,n,p) • 该命令将当前图形窗口分成m×n个绘图 区,即每行n个,共m行,区号按行优先 编号,且选定第p个区为当前活动区。
• x=[0 1 1 0 0]; 正方形顶点坐标向量 • y=[0 0 1 1 0]; • fill(x,y,'y');绘制并以黄色填充正方形图
• 再如:
• x=[0:0.025:2*pi]; • y=sin(3*x); • fill(x,y,[0.5 0.3 0.4]); 颜色向量
• Matlab系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量 用[r g b]表示,即RGB颜色组合;以RGB为基本色,通过 r,g,b在 0~1范围内的不同取值可以组合出各种颜色。
subplot(2,2,3);
• subplot(2,2,1);
plot(x,t); title('tangent(x)'); 分成2×2区域且指定1号为活动区 axis ([0 2*pi -40 40]);
subplot(2,2,4);
plot(x,ct); title('cotangent(x)'); axis ([0 2*pi -40 40]);
•
在 坐 标 范 围 0≤X≤2π ,-2≤Y≤2 内 重 新绘制正弦曲线,其程序为:
x=linspace(0,2*pi,60);生成含有60个数据元素的向量X y=sin(x); plot(x,y); axis ([0 2*pi -2 2]);设定坐标轴范围
• 加图例
• 给图形加图例命令为legend。该命令把图例放置在图形空 白处,用户还可以通过鼠标移动图例,将其放到希望的位 置。
设定坐标轴
• 用户若对坐标系统不满意,可利用axis命令对其重 新设定。
• • • • • • axis([xmin xmax ymin ymax]) 设定最大和最小值 axis (’auto’) 将坐标系统返回到自动缺省状态 axis (’square’) 将当前图形设置为方形 axis (’equal’) 两个坐标因子设成相等 axis (’off’) 关闭坐标系统 axis (’on’) 显示坐标系统
Matlab
liti37
Matlab
liti38
例 绘制y=x3的函数图、对数坐标图、半对数坐标图
Matlab
liti22
返回
6 其它图形函数
• 除plot等基本绘图命令外,Matlab系统提 供了许多其它特殊绘图函数,这里举一 些代表性例子,更详细的信息用户可随 时查阅在线帮助,其对应的M-file文件存 放在系统\matlab\toolbox\matlab目录下。