MatLab2第二讲---MatLab图形绘制功能

合集下载

Lab2MATLAB之基本绘图功能

Lab2MATLAB之基本绘图功能

delt_ang=pi/18; start_ang=0; end_ang=2*pi; offset=2.0; i=0 for ang=start_ang:delt_ang:end_ang,
i=i+1; xrad(i)=ang; x(i)=ang*180./pi; y(i)=offset+cos(ang); end
二維X-Y座標圖
❖ plot、 plot(x)、plot(x,y)、plot(x,y,’ ‘) ❖ loglog、semilogx、semilogy, logspace
❖ x=[1:1:5]; ❖ y=[1,4,9,16,25]; ❖ plot(x,y,’r+’);grid ❖ loglog(x,y);grid
❖ text(2,4,‘It is here’); ❖ gtext(‘use your mouse to put the text!’);
❖ grid
圖形顯示控制
❖ axis
axis([Xmin Xmax Ymin Ymax])、 axis(‘normቤተ መጻሕፍቲ ባይዱl‘)、axis(‘square’)
輪流設定為設定範圍或自動調整
標題說明
❖ title(‘string’)
❖ title(‘This plot is a test!’);
❖ xlabel(‘string’)、ylabel(‘string’)
❖ xlabel(‘time(second)’); ❖ ylabel(‘height(meter)’);
❖ text(x0,y0,’string’)、gtext(‘string’)
❖ polar(Θ,ρ)
❖ x=0:(pi/18):(2*pi); ❖ y=1+cos(x); ❖ polar(x,y);

[整理]Matlab学习笔记--Matlab画图.

[整理]Matlab学习笔记--Matlab画图.

1.基本绘图函数:2.Matlab绘图步骤3.plot(x,y,s) s是字符串,不同的字符串代表不同的线型plot(x1,y1,s1,x2,y2,s2,…..)是将多个图形或函数曲线拼接放置在同一个图形框中。

函数曲线的颜色、线型和数据点型上面左边的b代表蓝色,-.代表点线型,就是x取的各点之间的连线为-.,而x取值的各个点的类型为空,就代表是默认的点型上面那个是r代表红色,--代表线型,而点型是*就是x取了多少个点,就多少个*,而*和*直接的连接为—上面的s里面的写法为:线型+颜色+点型线性为-.,颜色为k代表黑色,点型为h代表六角星型。

我们还可以不定义线性,为空,那么两个点之间就不连线了。

4.我们还可以定义曲线的颜色和线宽LineWidth:设定绘图曲线的粗细MarkerEdgeColor:数据点型或边界的颜色(圆形、菱形、六角星型等) MarkerFaceColor:数据点型的天聪颜色。

MarkerSize:数据点的大小从上可以看出:线型为--,颜色为r代表红色,点型为s代表方形,线的粗细为3,点标记的颜色为r代表红色,点标记的填充颜色为y代表黄色,点标记的大小为10.5.很多时候,需要在一张图上多次画多条曲线。

就需要hold函数:即图形保持命令,主要用于暂存当前的图形窗口,可以让用户继续在命令窗口中绘制其他函数图形,并且后续的图形曲线与当前窗口中的曲线在同一个图形界面中显示。

Hold函数不会因后面画的图形的坐标值不一样而改变当前坐标轴的定义范围。

Hold on函数:作用同上,但可以根据新的图形曲线的坐标轴极限值来自动调整当前坐标轴的坐标值。

Hold off函数:结束当前的图形保持状态,一般与Hold on匹配,hold off函数后就需要从新设置坐标轴的属性。

Hold All函数:保留当前的颜色和线型,这样在绘制后面的图形时就是用当前的颜色和线型。

这里x变换是从0—1我们通过hold on之后,就把后面的1—2的变换接上去了,效果很好。

数学2-用MATLAB绘制二维-三维图形(lq)

数学2-用MATLAB绘制二维-三维图形(lq)
ans = 8 9
[i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,
列j,和元素的值v(按所在位置先后 顺序输出)
A=[3 2 0; -5 0 7; 0 0 1]; [i,j,v]=find(A)
i= 1 2 1 2 3 j= 1 1 2 3 3 v = 3 -5 2 7 1
[X,Y]=meshgrid(x,y) 3)根据函数表达式生成全部网格节点出对应的函数值矩阵z: z=f(X,Y) 4)顺序连接已经产生的空间点(x,y,z)绘制相应曲面: mesh(X,Y,Z) surf(X,Y,Z) shading flat %去除网格线。
例2-7画出矩形域[-1,1]×[-1,1]旋转抛物面:z=x2+y2. x=linspace(-1,1,100); y=x; [X,Y]=meshgrid(x,y); %生成矩形区[-1,1]×[-1,1]的网格坐标矩阵 Z=X.^2+Y.^2; subplot(1,2,1) mesh(X,Y,Z); subplot(1,2,2) surf(X,Y,Z); shading flat; %对曲面z=x2现方式做保护处理对用户上传分享的文档内容本身不做任何修改或编辑并不能对任何下载内容负责
用matlab绘制二维、三维图形
2.1二维图形的绘制
2.1.1 二维绘图的基本命令 matlab中,最常用的二维绘图命令是plot。
使用该命令,软件将开辟一个图形窗口,并 画出连接坐标面上一系列点的连线。
例2-5 采用不同形式(直角坐标、参数、极坐标),画出 单位圆x2+y2=1的图形。
分析:对于直角坐标系方程,y= 1 x2,对于参数方 程x=cost,y=sint,t[0,2 pi] ,利用plot(x,y)命令可以实现。 而在极坐标系中单位圆为r=1(1+0t),利用polar(t,r)命 令实现。

MatLab图形绘制功能(精编文档).doc

MatLab图形绘制功能(精编文档).doc

【最新整理,下载后即可编辑】MatLab & 数学建模第二讲MatLab图形绘制功能一、二维平面图形基本绘图函数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则是设定绘图横轴及纵轴的下限及上限。

matlab绘图功能

matlab绘图功能

Matlab的常用绘图功能1.绘制二维图形(1)基本二维图形①plot(y)功能:以向量y的分量值为纵坐标,以相应的分量下标为横坐标,依次描点连线。

②plot(x,y)功能:以x为横坐标向量,y为纵坐标向量,描点连线。

③plot(x,y,'选项')功能:以选项指定的线型、颜色、数据点标记等描点绘线。

④plot(x1,y1,'选项1',x2,y2,'选项2',…)功能:绘制组合图(画若干条线在同一画中)。

例:t1=0:0.4:2*pit2=1:0.1:3*piplot(t1,sin(t1),':ob',t2,cos(t2),'--g')(2)几种特殊的坐标图①对数坐标曲线semilogx(x,y):以横坐标x为对数坐标,描点连线。

semilogy(x,y):以纵坐标y为对数坐标,描点连线。

loglog(x,y):纵、横坐标均为对数坐标。

grid on命令:图形窗口中添加网格线②极坐标曲线polar(theta,rho,’选项’)以theta为极角向量,rho为极径向量,描点连线作图,‘选项’同plot 。

例:theta=0:0.1:4*pirho=(cos(theta/4)+1/3)polar(theta,rho)③双y轴图形●plotyy(x1,y1,x2,y2)曲线(x1,y1)用左侧y轴,曲线(x2,y2)用右侧y轴●plotyy(x1,y1,x2,y2,’FUN’)用‘FUN’指定绘图函数(如:plot,semilog等)plotyy(x1,y1,x2,y2,’FUN1’,’FUN2’)用‘FUN1’指定的函数去绘制曲线(x1,y1),用‘FUN2’指定的函数绘(x2,y2)。

例:x=1:0.01:5y=exp(x)plotyy(x,y,x,y,'semilogy','plot')④复数数据绘制plot(z) :以z的实部为横坐标,虚部为纵坐标。

第二讲 MATLAB 绘图

第二讲 MATLAB 绘图
2015-5-14 18
绘制y=1-exp(0.3*t).*cos(0.7*t)
t=6*pi*(0:100)/100; y=1-exp(-0.3*t).*cos(0.7*t); tt=t(find(abs(y-1)>0.05)); ts=max(tt); plot(t,y,'r-'); grid on; axis([0,6*pi,0.6,max(y)]); title('y=1-exp(-\alpha*t)*cos(\omega*t)'); hold on; plot(ts,0.95,'bo'); hold off; set(gca,'xtick',[2*pi,4*pi,6*pi],'ytick',[0.95,1,1.05,max(y)]); grid on;
绘制曲线
x t cos(3t ) , t 2 y t sin t
t = -pi:pi/100:pi; x = t.*cos(3*t); y = t.*sin(t).^2; plot(x,y)
2015-5-14 10
图形标识

图形标识包括:

图名(title) 坐标轴名(xlabel、ylabel) 图形文本注释(text) 图例(legend)
2015-5-14 22
双纵坐标:plotyy指令

plotyy指令调用格式:
plotyy(x1, y1, x2, y2)
x1-y1曲线y轴在左, x2-y2曲线y轴在右。
例3.7:
x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); plotyy(x,y1,x,y2);

MATLAB图形绘制PPT课件

MATLAB图形绘制PPT课件

可编辑课件
15
另外一种方法,可以通过自定义曲线的颜色、 线型等来区别不同的曲线。对例6-2程序的最后 一句修改如下
plot(x,y1,'r:',x,y2,'g--',x,y3,'b-.') 运行后结果如图6.7所示
在图6.7中,用红色的虚线(在程序中用r:表示) 表示函数y1,用绿色的双画线(在程序中用g--表 示)表示函数y2,用蓝色的点画线(在程序中用b-. 表示)表示y3。这样就能方便区分同一窗口中不 同的曲线。
可编辑课件
9
④plotyy指令的常用调用格式 plotyy(x1,y1,x2,y2) plotyy(x1,y1,x2,y2,'f') plotyy(x1,y1,x2,y2,'f1','f2')
指令中出现的参数f、f1、f2等代表绘制数据的 方式,可选择plot、semilogx、semilogy、 loglog等不同的形式。
可编辑课件
20
【例6-5】 图形的图例标注。 x=linspace(0,2*pi,50); y1=cos(x); y2=sin(x); plot(x,y1,x,y2) xlabel('x的取值范围') ylabel('y1和y2的值') legend(' y1=cos(x)', ' y2=sin(x)')
域分别显示,把例6-2程序修改如下。
x=0:0.01:10;
y1=sin(x);
y2=x.*sin(x);
y3=exp(2*cos(x));
subplot(2,2,1),plot(x,y1) % 在第1个子图中显示y1

matlab的图形功能

matlab的图形功能

matlab的图形功能第3章MATLAB的图形功能MATLAB可以给计算数据以⼆维、三维的图形表现。

通过对图形线型、⾊彩、光线、视⾓等的指定和处理,可把计算数据的特征更好地表现出来。

在MATLAB中有两个层次的绘图命令:⾼层与底层绘图命令。

⾼层命令简单实⽤,底层命令有更强、更灵活的控制和表现图形的能⼒。

本章将先后介绍上述两类绘图命令。

但重点介绍⾼层绘图命令。

3.1⼆维图形3.1.1 基本⼆维绘图命令–plot1、调⽤格式格式1:plot(x,y)功能:(1)若x,y为同规模的向量,则绘制以x为横坐标、y为纵坐标的⼀条曲线。

例如:x=0:0.02:6;y=1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6; plot(x,y)(2)若x为向量、y是⼆维数组,则绘制以x为横坐标、y的每⼀列为纵坐标的多条曲线。

例如:x=0:0.02:6;y=[sin(x);cos(x)]';plot(x,y)运⾏结果如下图所⽰:模),则绘制以它们的对应列为横、纵坐标的多条曲线。

例如:x=[0:0.02:6;0:0.02:6];y=[sqrt(x(1,:));exp(-x(2,:))];plot(x.',y.') 运⾏结果如下图所⽰:将被忽略。

例如:x = 0:0.2:10*pi;y = sqrt(sin(x));plot(x,y) 运⾏结果如下图所⽰:格式2:plot(y)功能:(1)若y为向量,其元素为实数,则绘制以其下标为横坐标、以y为纵坐标的图形,即相当于plot(1:length(y),y)。

例如:x=0:0.02:6;y=1./((x–0.3).^2+0.01)+1./((x–0.9).^2+0.04)-6; plot(y)运⾏结果如下图所⽰:(1)若y为复数向量,则绘制以其实部为横坐标,以其虚部系数为纵坐标的图形,即相当于plot(real(y),imag(y))。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MatLab & 数学建模第二讲 MatLab图形绘制功能一、二维平面图形基本绘图函数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])【例】画椭圆1232222=+y xa = [0:pi/50:2*pi]'; %角度π20-X = cos(a)*3; %参数方程Y = sin(a)*2;plot(X,Y);xlabel('x'), ylabel('y');title('椭圆')图形窗口的分割一般用命令subplot: subplot(2,2,1);subplot(2,3,4);MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。

当资料点数量不多时,长条图是很适合的表示方式: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个μ=0,σ=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([00 1])=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 %添加网格plot3可画出空间中的曲线: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);利用在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); % 画出立体网状图曲面图,除了各线条之间的空档(称作补片)用颜色填充以外,和网格图看起来是一样的。

这种图一般使用函数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); % 画出立体曲面图MATLAB提供了一个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函数取点,再以各种不同方法进行绘图。

meshz可将曲面加上围裙:[x,y,z]=peaks;meshz(x,y,z);waterfall可在x方向或y方向产生水流效果:[x,y,z]=peaks;waterfall(x,y,z);下列命令产生在y方向的水流效果:[x,y,z]=peaks;waterfall(x',y',z');meshc同时画出网状图与等高线:[x,y,z]=peaks;meshc(x,y,z);surfc同时画出曲面图与等高线:[x,y,z]=peaks;surfc(x,y,z);contour3画出曲面在三度空间中的等高线:contour3(peaks, 20);contour画出曲面等高线在XY平面的投影:contour(peaks, 20);剔透玲珑球[X0,Y0,Z0]=sphere(30); %产生单位球面的三维坐标X=2*X0;Y=2*Y0;Z=2*Z0; %产生半径为2的球面的三维坐标surf(X0,Y0,Z0); %画单位球面shading interp %采用插补明暗处理hold on; mesh(X,Y,Z);hold off %画外球面hidden off %产生透视效果axis off %不显示坐标轴动态图形动画效果彗星状轨迹图【*例】简单二维示例。

相关文档
最新文档