数学建模讲义M(3) - 图文 联系客服

发布时间 : 星期二 文章数学建模讲义M(3) - 图文更新完毕开始阅读8b21190e856a561252d36feb

21.510.50-0.5-10123456图1-4-5 表1-4-2 axis函数功能 axis([xmin xmax ymin max]) 设定坐标轴的最大值和最小值 axis(?auto?) 将坐标系统返回自动缺省状态 axis(?square?) 将当前图形设置为方形(系统默认为矩) axis(?equal?) 两个坐标因子设定成相等 axis(?off?) 关闭坐标系统 axis(?on?) 显示坐标系统 2. 图形标记 有关图形的标题、坐标轴标注等图形文字标识类函数如下: 函数:title(?字符串?) 说明:图形标题.

函数:xlabel(?字符串?) 说明:x轴标注.

函数:ylabel(?字符串?) 说明:y轴标注.

函数:text(x,y,?字符串?)

说明:在坐标(x,y)处标注说明文字. 函数:gtext(?字符串?)

说明:用鼠标在特定处标注说明文字. 3. 图例注解

当在一个坐标系上画出多幅图形时,为区分各个图形,MATLAB提供了图例注解函数. 函数:legend(字符串1,字符串2,...,参数)

说明:此函数在图中开启一个注解视窗,依据绘图的先后顺序,依次输出字符串对各个图形进行注解说明.如字符串1表示第一个出现的线条,字符串2表示第二个出现的线条,参数字符串确定注解视窗在图形中的位置.

例1.4.6 在区间[0,2?]内,同时绘制不同线型不同颜色正弦曲线y?sinx和余弦函数y?cosx,并对图形进行标注和图例注解. 【MATLAB命令】

x=0:pi/100:2*pi; y1=sin(x); y2=cos(x);

plot(x,y1,'k:',x,y2,'b-')

title('sine and cosine curves'); xlabel('independent variable X'); ylabel('dependent variable Y'); text(2.8,0.5,'sin(x)');

text(1.4,0.3,'cos(x)'); legend('sin(x)','cos(x)');

34

【输出结果】(见图1-4-6)

sine and cosine curves10.80.6sin(x)0.4dependent variable Ysin(x)cos(x)cos(x)0.20-0.2-0.4-0.6-0.8-101234independent variable X567图1-4-6 带有图例的函数曲线 1.4.3 图形控制

1.图形的保持

若在已存在的图形窗口中用plot函数继续添加新的图形内容,可使用图形保持指令hold.发出hold on后,再执行plot函数,在保持原有图形的基础上添加新的绘制图形.hold off 关闭此功能.

例1.4.7 在同一窗口,使用两次plot函数绘制出两条曲线. 【MATLAB命令】

x=linspace(0,2*pi,60); y=sin(x); z=cos(x);

plot(x,y,'b'); hold on;

plot(x,z,'k:');

axis([0, 2*pi, –1,1]);

legend('sin(x)','cos(x)');

hold off

【输出结果】(见图1-4-7) 10.80.60.40.20-0.2-0.4-0.6-0.8-101234567sin(x)cos(x)图1-4-7 两次绘制的函数曲线 2. 网格控制

网格是根据坐标轴刻度标示画出的格线.画出网格,便于对曲线进行观察和分析.设置或取消网格需要使用网格控制函数.函数如下:

35

函数:grid on

说明:在所画的图形中添加网格线. 函数:grid off

说明:在所画的图形中去掉网格线.

也可以只输入函数grid添加网格线,再一次输入函数grid,则取消网格线. 3. 图形窗口的分割

subplot函数可以将窗口分割成几个区域,在各个区域中分别绘图. 函数:subplot(m,n,p)

说明:将当前窗口分割成m?n个小区域,并指定第p个区域为当前的绘图区域.区域的编号原则是“先上后下,先左后右”. MATLAB允许每个编号区域可以不同的坐标系单独绘图.n和p前面的逗号可以省略.

例1.4.8 把当前窗口分割成4个区域,绘制4条函数曲线. 【MATLAB命令】

x=0:0.1*pi:2*pi; subplot(2,2,1)

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(2*x),'-.*'); title('sin(2x)'); subplot(2,2,4);

plot(x,cos(3*x),':d') title('cos(3x)')

【输出结果】(见图1-4-8)

sin(x)10.50-0.5-1024sin(2x)10.50-0.5-10246810.50-0.5-1024686810.50-0.5-1024cos(3x)68cos(x)图1-4-8 同一窗口的四条函数曲线

4. 图形的填充

fill函数用于填充二维封闭多边形. 函数:fill(x,y,?颜色参数?)

说明:在由数据所构成的多边形内,用所指定的颜色填充.如果该多边形不是封闭的,则用初始点和终点的连线将其封闭.

36

例1.4.9 绘制正弦函数,并用黑色填充. 【MATLAB命令】

x=0:0.05:7; y=sin(x); subplot(121) plot(x,y) subplot(122) fill(x,y,'k')

【输出结果】(见图1-4-9) 110.80.80.60.60.40.40.20.200-0.2-0.2-0.4-0.4-0.6-0.6-0.8-0.8-102468-102468图1-4-9 用黑色填充的正弦曲线 1.4.4 特殊二维图形

1. 极坐标图形

调用格式:polar(theta,rho);其中theta为极坐标角度,rho极坐标半径. 例1.4.10 绘制??sin(2?)cos(2?)极坐标图形.

【MATLAB命令】

theta=0:0.01:2*pi;

rho=sin(2*theta).*cos(2*theta); polar(theta,rho);

title('polar plot'); 【输出结果】(见图1-4-10) polar plot90 0.512060 0.4 0.3150 0.230 0.11800210330240300270图1-4-10 极坐标图形

37