第四讲 、Matlab绘图

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

第四讲 Matlab绘图

4.1 二维图形

4.2 数据分析图

4.3 三维图形

4.1 二维图形

1、基本图形的绘制

plot(x,y) 对向量x绘制向量y。以x为横坐标,y为纵坐标,按照坐标(xi ,yi)的有序排列绘制曲线。

plot(...,str) 使用字符串str指定的颜色和线型进行绘图。

例1:>> x=-pi:0.02*pi:pi;

>> y=sin(x).*x.^2;

>> plot(x,y)

ezplot(f,xmin,xmax) 绘制函数f在区间[xmin,xmax]上的图形。如果省略xmin和xmax参数,区间将大概取在-2pi——2pi之间。由于ezplot命令使用算法来判断该函数变化显著的区间,因此区间的选取是不固定的。

例2:>> ezplot('sin(x).*x.^2')

2、图形控制

figure(gcf) 显示当前图形窗口。只键入figure命令则创建新的图形窗口;

shg 显示当前图形窗口,等价于figure(gcf)。

hold on 保持当前图形。允许在当前图形状态下,使用同样的缩放比例加入另一个图形。

hold off 释放图形窗口,这样下一个图形将称为当前图形。这是缺省状态。

hold 在hold on和hold off之间进行切换。

subplot(m,n,p) 将图形窗口分割成m行n列,并设置p所指定的子窗口为当前窗口。子窗口按行由左至右,由上至下进行编号。这一命令在Matlab的当前版本中也被写作subplot(mnp)。axis…)用行向量中给出的值,设置坐标轴的最大和最小值。对于二维图形,该向量中含有元素: [xmin, xmax, ymin, ymax]。对于三维图形,是[xmin, xmax, ymin, ymax,zmin, zmax]。axis ~~ ~~的不同参数将给出不同的结果:

1.manual 固定坐标轴刻度。如果当前图形窗口为hold on状态,则后面的图形将采用同样的刻度

2.auto 把坐标轴刻度重新设置为缺省状态值。

3.equal 设置x轴和y轴为同样的刻度增量。

4.tight 以数据的大小为坐标轴的范围。

5.ij 翻转y轴,使得正数在下,负数在上。

6.xy 复位y轴,使正数在上。

7.off 坐标轴消隐。

8.on 绘制坐标轴。

title(txt) 在图形窗口顶端的中间位置输出字符串txt作为标题。

xlabel(txt) 在x轴下的中间位置输出字符串txt作为标注。

ylabel(txt) 在y轴边上的中间位置输出字符串txt作为标注。

zlabel(txt) 在z轴边上的中间位置输出字符串txt作为标注。

text(x,y,txt) 在图形窗口的(x,y)处写字符串txt。坐标x和y按照与所绘制图形相同的刻度给出。对于向量x和y,字符串txt写在(xi,yi)的位置上。如果t x t是一个字符串向量,即一个字符矩阵,且与x, y有相同的行数,则第i行的字符串将写在图形窗口的(xi,yi)的位置上。

gtext(txt) 通过使用鼠标或方向键,移动图形窗口中的十字光标,让用户将字串t xt放置在图形窗口中。当十字光标走到所期望的位置时,用户按下任意键或鼠标上的任意按钮,字符串将会写入在窗口中。

legend(str1,str2 , . . .pos)在当前图上输出图例,并用说明性字符串str1,str2等作为标 注。如果指定参数pos ,则图例将按下面所述放置: -1:将图例框放在坐标轴外的右侧。 0:将图例框放在坐标轴内侧。 1:将图例框放在右上角。 2:将图例框放在左上角。 3:将图例框放在左下角。 4:将图例框放在右下角。

legend off 从当前图形中清除图例。 [x,y]=ginput 从图形窗口中读取坐标值。在图形窗口中放置一个光标,用户可以通过鼠标或方向键对光标进行定位,并且通过按下鼠标按钮或键盘上任意键,将坐标值传递到M AT L A B 中。这些坐标值保存在向量x 和y 中。这一过程直到按下‘回车’键才终止。

-6

-4

-2

02

4

6

-4-3-2-101

234sin(x)/x

x-axis

y -a x i s

>> t=-2*pi:0.02*pi:2*pi; >> x=t+(t==0)*eps; >> y=sin(x)./x; >> plot(x,y,'r') >> title('sin(x)/x') >> xlabel('x-axis') >> ylabel('y-axis') >> text(0,1,'summit') >> hold on >> sy=sin(t); >> cy=cos(t);

>> plot(t,sy ,'b',t,cy,'k')

>> legend('sin(x)/x','sin(x)','cos(x)')

>> axis equal

4.2数据分析图

[m,y]=hist(x) 在x的最大值和最小值之间等分成10个区间,在这个区间上画出统计频数直方图。向量y 的元素为将min(x) 和max(x)之间分成10个等间距的值,向量m为在每个区间内值的个数。

[m,y]=hist(x,n) 在n个等间距区间上画统计频数直方图。

>> y=randn(10000,1);

>> [n,m]=hist(y,30)

n =

Columns 1 through 3

1 2 2

Columns 4 through 6

10 11 23

Columns 7 through 9

41 74 143

Columns 10 through 12

259 384 505

Columns 13 through 15

660 870 990

Columns 16 through 18

989 1010 969

Columns 19 through 21

899 701 543

Columns 22 through 24

349 226 144

Columns 25 through 27

94 52 26

Columns 28 through 30

10 11 2

m =

Columns 1 through 4

-4.0833 -3.8198 -3.5563 -3.2929

Columns 5 through 8

-3.0294 -2.7659 -2.5024 -2.2389

Columns 9 through 12

-1.9754 -1.7119 -1.4484 -1.1850

Columns 13 through 16

-0.9215 -0.6580 -0.3945 -0.1310

Columns 17 through 20

0.1325 0.3960 0.6594 0.9229

Columns 21 through 24

1.1864 1.4499 1.7134 1.9769

Columns 25 through 28

2.2404 2.5038 2.7673

3.0308

Columns 29 through 30

3.2943 3.5578

>> hist(y,30)

相关文档
最新文档