好文档 - 专业文书写作范文服务资料分享网站

915217-MATLAB程序设计与应用-第5章 MATLAB绘图_源程序

天下 分享 时间: 加入收藏 我要投稿 点赞

第5章 MATLAB绘图

例5-1 在0≤X≤2?区间内,绘制曲线y=2e-0.5xsin(2πx)。 程序如下:

x=0:pi/100:2*pi;

y=2*exp(-0.5*x).*sin(2*pi*x); plot(x,y)

例5-2 绘制曲线。 t=-pi:pi/100:pi; x=t.*cos(3*t);

y=t.*sin(t).*sin(t); plot(x,y)

例5-3 用不同线型和颜色在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。 x=(0:pi/100:2*pi)';

y1=2*exp(-0.5*x)*[1,-1];

y2=2*exp(-0.5*x).*sin(2*pi*x); x1=(0:12)/2;

y3=2*exp(-0.5*x1).*sin(2*pi*x1);

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

例5-4 用不同标度在同一坐标内绘制曲线y=e-0.5xsin(2πx)及曲线y=sin x。 x=0:pi/100:2*pi;

y1=exp(-0.5*x).*sin(2*pi*x); y2=sin(x);

plotyy(x,y1,x,y2)

例5-5 绘制分段函数曲线并添加图形标注。

x=linspace(0,10,100); %产生自变量向量x y=[]; %y的初始值为空 for x0=x if x0>=8

y=[y,1]; %将函数值追加到向量y elseif x0>=6

y=[y,5-x0/2]; elseif x0>=4 y=[y,2]; elseif x0>=0

y=[y,sqrt(x0)]; end end

plot(x,y)

axis([0,10,0,2.5]) %设置坐标轴 title('分段函数曲线') %加图形标题 xlabel('Variable X') %加X轴说明 ylabel('Variable Y') %加Y轴说明

text(2,1.3,'y=x^{1/2}') %在指定位置添加图形说明 text(4.5,1.9,'y=2')

text(7.3,1.5,'y=5-x/2') text(8.5,0.9,'y=1')

例5-6 用图形保持功能在同一坐标内绘制曲线y=2e-0.5xsin(2πx)及其包络线。 x=(0:pi/100:2*pi)';

y1=2*exp(-0.5*x)*[1,-1];

y2=2*exp(-0.5*x).*sin(2*pi*x);

plot(x,y1,'b:') %绘制两根包络线 axis([0,2*pi,-2,2]) %设置坐标 hold on %设置图形保持状态

plot(x,y2,'k') %绘制曲线 legend('包络线','包络线','曲线y') %加图例 hold off %关闭图形保持 grid %网格线控制

例5-7 在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。 程序如下:

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

t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps); subplot(2,2,1) %选择2×2个区中的1号区 plot(x,y)

title('sin(x)');axis([0,2*pi,-1,1]) subplot(2,2,2) %选择2×2个区中的2号区 plot(x,z)

title('cos(x)');axis([0,2*pi,-1,1]) subplot(2,2,3) %选择2×2个区中的3号区 plot(x,t)

title('tangent(x)');axis([0,2*pi,-40,40]) subplot(2,2,4) %选择2×2个区中的4号区 plot(x,ct)

title('cotangent(x)');axis([0,2*pi,-40,40]) 实际上,还可以作更灵活的分割。请看下面的程序。 x=linspace(0,2*pi,60); y=sin(x);

2

z=cos(x);

t=sin(x)./(cos(x)+eps); ct=cos(x)./(sin(x)+eps);

subplot(2,2,1) %选择2×2个区中的1号区 plot(x,y-1)

title('sin(x)-1');axis ([0,2*pi,-2,0]) subplot(2,1,2) %选择2×1个区中的2号区 plot(x,z-1)

title('cos(x)-1');axis ([0,2*pi,-2,0]) subplot(4,4,3) %选择4×4个区中的3号区 plot(x,y)

title('sin(x)');axis ([0,2*pi,-1,1])

subplot(4,4,4) %选择4×4个区中的4号区 plot(x,z)

title('cos(x)');axis ([0,2*pi,-1,1])

subplot(4,4,7) %选择4×4个区中的7号区 plot(x,t)

title('tangent(x)');axis ([0,2*pi,-40,40]) subplot(4,4,8) %选择4×4个区中的8号区 plot(x,ct)

title('cotangent(x)');axis ([0,2*pi,-40,40])

例5-8 用fplot函数绘制f(x)=cos(tan(?x))的曲线。 命令如下:

>> fplot(@(x)cos(tan(pi*x)),[0,1])

例5-9 绘制y=10x2的对数坐标图并与直角线性坐标图进行比较。 程序如下: x=0:0.1:10; y=10*x.*x;

subplot(2,2,1);plot(x,y) %直角坐标曲线 title('plot(x,y)');grid on

subplot(2,2,2);semilogx(x,y) %x半对数坐标曲线 title('semilogx(x,y)');grid on

subplot(2,2,3);semilogy(x,y) %y半对数坐标曲线 title('semilogy(x,y)');grid on

subplot(2,2,4);loglog(x,y) %全对数坐标曲线 title('loglog(x,y)');grid on

例5-10 蝴蝶曲线是一种富有美感的平面曲线。

3

① 绘制蝴蝶曲线。

② 调整θ的大小可以改变曲线形状及其方向,将θ减π/2,使图形旋转90o,绘制蝴蝶曲线。

程序如下:

t=0:pi/50:20*pi;

r1=exp(cos(t))-2*cos(4*t)+sin(t/12).^5;

r2=exp(cos(t-pi/2))-2*cos(4*(t-pi/2))+sin((t-pi/2)/12).^5; subplot(1,2,1)

polar(t,r1) %绘制蝴蝶曲线 subplot(1,2,2)

polar(t,r2) %旋转90度的蝴蝶曲线

例5-11 条形图应用示例。 程序如下: x=-1:1;

y=[1,2,3,4,5;1,2,1,2,1;5,4,3,2,1]; subplot(2,2,1);bar(x,y,'grouped') title('Group');axis([-3,3,0,6]) subplot(2,2,2);barh(x,y,'stacked') title('Stack')

例5-12 绘制服从高斯分布的直方图,再将这些数据分到指定范围的区间中,并绘制直方图中。

程序如下:

y=randn(500,1);

subplot(2,2,1)

hist(y);title('高斯分布直方图') x=-4:0.1:4; subplot(2,2,2)

hist(y,x);title('指定范围的高斯分布直方图')

例5-13 绘制例5-12中高斯分布数据在极坐标下的直方图。 y=randn(500,1); theta=y*pi; rose(theta)

title('在极坐标下的直方图')

4

例5-14 某次考试优秀、良好、中等、及格、不及格的人数分别为:7、17、23、19、5,试用扇形统计图作成绩统计分析。

程序如下:

pie([7,17,23,19,5],[0,0,0,0,1]) %对应第5分量部分从饼图中心分离 title('饼图')

legend('优秀','良好','中等','及格','不及格')

例5-15 绘制一个红色的正八边形。 程序如下:

t=0:2*pi/8:2*pi; %取正八边形坐标点

t=[t,t(1)]; %数据向量的首尾重合,使图形封闭。 x=sin(t); y=cos(t);

fill(x,y,'r') %x、y是圆周坐标,数据间隔足够小时可以画圆 axis equal;axis([-1.5,1.5,-1.5,1.5])

例5-16 分别以散点图、阶梯图和杆图形式绘制曲线y=2e-0.5x。 程序如下: x=0:0.35:7; y=2*exp(-0.5*x);

subplot(2,3,1);scatter(x,y,'g')

title('scatter(x,y,''g'')');axis([0,7,0,2]) subplot(2,3,2);stairs(x,y,'b')

title('stairs(x,y,''b'')');axis([0,7,0,2]) subplot(2,3,3);stem(x,y,'k')

title('stem(x,y,''k'')');axis([0,7,0,2])

例5-17 分别以罗盘图、羽毛图和箭头图形式绘制绘制正弦曲线。 程序如下: x=-pi:pi/8:pi; y=sin(x);

subplot(2,2,1);compass(x,y) title('罗盘图')

subplot(2,2,2);feather(x,y)

5

915217-MATLAB程序设计与应用-第5章 MATLAB绘图_源程序

第5章MATLAB绘图例5-1在0≤X≤2?区间内,绘制曲线y=2e-0.5xsin(2πx)。程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*sin(2*pi*x);plot(x,y)例5-2绘制曲线。t=-pi:pi/100:pi;x=t.*cos(3*t);
推荐度:
点击下载文档文档为doc格式
29j1h4efo34n25q6ny0j2r4yi9c8hj003vh
领取福利

微信扫码领取福利

微信扫码分享