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

Matlab入门教程

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

y=sin(x); z=cos(x);

plot(x,y,'b'); 绘制正弦曲线

hold on; 设置图形保持状态

plot(x,z,'g'); 保持正弦曲线同时绘制余弦曲线 axis ([0 2*pi -1 1]); legend('cos','sin');

hold off 关闭图形保持 【例7】在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。 程序如下:

x=linspace(0,2*pi,1000);

y1=0.2*exp(-0.5*x).*cos(4*pi*x); y2=2*exp(-0.5*x).*cos(pi*x);

k=find(abs(y1-y2)<1e-2); %查找y1与y2相等点(近似相等)的下标

x1=x(k); %取y1与y2相等点的x坐标 y3=0.2*exp(-0.5*x1).*cos(4*pi*x1); %求y1与y2值相等点

的 y坐标

plot(x,y1,x,y2,'k:',x1,y3,'bp');

【例8】在同一坐标中,可以绘制3个同心圆,并加坐标控制。 程序如下: t=0:0.01:2*pi; x=exp(i*t); y=[x;2*x;3*x]'; plot(y)

grid on; %加网格线 box on; %加坐标边框

axis equal %坐标轴采用等刻度 三、 函数f(x)曲线

fplot函数则可自适应地对函数进行采样,能更好地反应函数的变化规律。 fplot函数格式:fplot(fname,lims,tol)

其中fname为函数名,以字符串形式出现,lims为变量取值范围,tol为相对允许误差,其系统默认值为2e-3。

例:fplot(‘sin’,[0 2*pi],’-+’)

fplot(‘[sin(x),cos(x)]’,[0 2*pi],1e-3,’·’) 同时绘制正弦、余弦曲线 为绘制f(x)=cos(tan(πx))曲线,可先建立函数文件fct.m,其内容为: function y=fct(x)

y=cos(tan(pi*x));

用fplot函数调用fct.m函数,其命令为: fplot(‘fct’,[0 1],1e-7) 编程举例

画出衰减震荡曲线

及其包络线

t的取值范围是 程序如下:

t=0:pi/50:4*pi; y0=exp(-t/3);

y=exp(-t/3).*sin(3*t);

plot(t,y,'-r',t,y0,':b',t,-y0,':b')

程序运行结果如下: 用图形表示连续调制波形 及其包络。 程序如下:

t=(0:pi/100:pi)' %长度为101的时间采样列向量y1=sin(t)*[1,-1]; %包络线函数值,是(101x2)的矩阵

y2=sin(t).*sin(9*t); %长度为101的调制波列向量 t3=pi*(0:9)/9 y3=sin(t3).*sin(9*t3);

plot(t,y1,'r:',t,y2,'b',t3,y3,'bo') axis([0,pi,-1,1]) %控制轴的范围

7.2 特殊坐标图形 一、 对数坐标图形

(一)loglog(x,y) 双对数坐标

【例9】 绘制y=|1000sin(7x)|+1的双对数坐标图。程序为: x=[0:0.1:2*pi];

y=abs(1000*sin(7*x))+1;

loglog(x,y); %双对数坐标绘图命令

(二)单对数坐标以X轴为对数重新绘制上述曲线,程序为: x=[0:0.01:2*pi]

y=abs(1000*sin(7*x))+1

semilogx(x,y); 单对数X轴绘图命令

同样,可以以Y轴为对数重新绘制上述曲线,程序为: x=[0:0.01:2*pi]

y=abs(1000*sin(7*x))+1

semilogy(x,y); 单对数Y轴绘图命令

二、 极坐标图 函数polar(theta,rho)用来绘制极坐标图,theta为极坐标角度,rho为极坐标半径

【例10】 绘制sin(2*θ)*cos(2*θ)的极坐标图,程序为: theta=[0:0.01:2*pi];

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

polar(theta,rho); 绘制极坐标图命令 title('polar plot'); 7.3 其它图形函数

除plot等基本绘图命令外,Matlab系统提供了许多其它特殊绘图函数,这里举一些代表性例子,更详细的信息用户可随时查阅在线帮助,其对应的M-file文件存放在系统\\matlab\\toolbox\\matlab目录下。 一、阶梯图形

函数stairs(x,y)可以绘制阶梯图形,如下列程序段: x=[-2.5:0.25:2.5]; y=exp(-x.*x);

stairs(x,y); 绘制阶梯图形命令 title('stairs plot');

二、条形图形(直方图)函数bar(x,y)可以绘制二维垂直直方图,如下列程序段将绘制条形图形 x=[-2.5:0.25:2.5]; y=exp(-x.*x);

bar(x,y); 绘制条形图命令 barh:绘制二维的水平直方图 bar3:用于绘制三维垂直直方图 bar3h:用于绘制三维水平直方图

bar3(A,’depth’) ; bar3(A,’group’) ; bar3(A,’stack’) ; 三、饼图pie某一工厂每一季度产品销售额

X=[56 78 60 99;66 88 40 112; 65 90 56 130;70 102 70 56] Y=sum(X) subplot(1,2,1) pie(Y)

subplot(1,2,2)

pie(Y,[1,0,1,0]) %使第一、三块分离出来 Legend(‘p1’,’p2’,’p3’,’p4’)

四、柱状图柱状图函数首先计算在一定数据范围之内的元素个数,然后将每个数据范围在图形窗口中显示为相应的矩形窗。

hist函数在笛卡尔坐标系中显示数据, rose函数极坐标中显示数据 X=randn(1200,1) hist(X)

五、枝干图:枝干图将每个离散的数据显示成尾部带有 标记符号的线条,称为枝干。 函数:stem

单位脉冲序列 和单位阶跃序列u(n)

可以用ones(1,n)和zeros(1,n)来生成单位脉冲序列和单位阶跃序列 ones(1,n)命令产生1行n列的1值 zeros(1,n)命令产生1行n列的0值

产生单位脉冲序列 和单位阶跃序列u(n-5) n=-2:30;

x=[zeros(1,5),1,zeros(1,27)]; y=[zeros(1,5),ones(1,28)]; subplot(2,1,1);

stem(n,x,'fill');grid on; subplot(2,1,2)

stem(n,y,'fill');grid on;

六、填充图形

fill(x,y,’c’)函数用来绘制并填充二维多边图形,x和y为二维多边形顶点坐标向量。字符 ’c’ 规定填充颜色,其取值前已叙述。 下述程序段绘制一正方形并以黄色填充: 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.7]); 颜色向量

Matlab系统可用向量表示颜色,通常称其为颜色向量。基本颜色向量用[r g b]表示,即RGB颜色组合;以RGB为基本色,通过 r,g,b在0~1范围内的不同取值可以组合出各种颜色。

二维绘图函数小结

plot 二维图形基本函数 close 关闭图形窗口 fplot f(x)函数曲线绘制 figure 创建图形窗口 fill 填充二维多边图形 grid 放置坐标网格线 polar 极坐标图 gtext 用鼠标放置文本 bar 条形图 hold 保持当前图形窗口内容 loglog 双对数坐标图 subplot 创建子图 semilogx X轴为对数的坐标图 text 放置文本 semilogy Y轴为对数的坐标图 title 放置图形标题 stairs 阶梯形图 xlabel 放置X轴坐标标记 axis 设置坐标轴 ylabel 放置Y轴坐标标记 clf 清除图形窗口内容

7.4 三维图形 一、 plot3函数

最基本的三维图形函数为plot3,它是将二维函数plot的有关功能扩展到三维空间,用来绘制三维图形。

函数格式:plot3(x1,y1,z1,c1,x2,y2,z2,c2,…)

其中x1,y1,z1…表示三维坐标向量,c1,c2…表示线形或颜色。 函数功能:以向量x,y,z为坐标,绘制三维曲线 【例11】 绘制三维螺旋曲线,其程序为: 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)'),zlabel('t'); grid;

二、mesh函数

mesh函数用于绘制三维网格图。

三维曲面的网格图最突出的优点是:它较好地解决了实验数据在三维空间的可视化问题。

函数格式:mesh(x,y,z,c)

其中x,y控制X和Y轴坐标,矩阵z是由(x,y)求得Z轴坐标,(x,y,z)组成了三维空间的网格点;c用于控制网格点颜色。 【例12】 下列程序绘制三维网格曲面图 x=[0:0.15:2*pi]; y=[0:0.15:2*pi];

z=sin(y')*cos(x); 矩阵相乘 mesh(x,y,z); 三、surf函数

surf用于绘制三维曲面图,各线条之间的补面用颜色填充。surf函数和mesh函数的调用格式一致。 函数格式: surf (x,y,z)

其中x,y控制X和Y轴坐标,矩阵z是由x,y求得的曲面上Z轴坐标。

Matlab入门教程

y=sin(x);z=cos(x);plot(x,y,'b');绘制正弦曲线holdon;设置图形保持状态plot(x,z,'g');保持正弦曲线同时绘制余弦曲线axis([02*pi-11]);legend('cos','sin')
推荐度:
点击下载文档文档为doc格式
14nft9stdx5gf8x599lp
领取福利

微信扫码领取福利

微信扫码分享