1、第3节 Matlab的图形绘制,Matlab就有很强大的图形绘制功能 图形功能使得仿真结果更加直观、形象,更容易从杂乱的离散数据中发现数据的内在关系 二维绘图指令 plot 三维绘图指令 plot3,mesh,Matlab二维绘图基本指令,二维绘图指令 plot plot的基本指令有3种 plot(y1) plot(x1,y1) plot(x1,y1,x2,y2,),Matlab二维绘图基本指令,例1:通过plot绘制简单图形 t=0:pi/100:2*pi; %产生时间序列 y1=sin(t); y2=sin(t).*sin(t); figure; %新建一个图形 plot(t); %绘制时
2、间轴t二维图形 figure; %新建第二个图形 plot(t,y1); %绘制y1的二维图形 figure; %新建第三个图形 plot(t,y1,t,y2); %绘制y1和y2的二维图形,Matlab二维绘图基本指令,例2:指令参数调制的例子 t=0:pi/100:2*pi; y1=sin(t); y2=sin(t).*sin(t); figure; plot(t,m); %品红色三角 figure; plot(t,y1,c); %青色上三角 figure; plot(t,y1,r*,t,y2,b:); %红色*和蓝色虚线,Matlab二维绘图基本指令,plot的参数调制指令格式 plot
3、(x,y,参数) plot参数详表 b blue . point - solid g green o circle : dotted r red x x-mark -. dashdot c cyan + plus - dashed m magenta * star y yellow s square k black d diamondv triangle (down) triangle (up)triangle (right)p pentagramh hexagram 查询参数可以在Maltab的Command window里面键入help plot,Matlab二维绘图基本指令,多子图绘图指
4、令 subplot使用subplot命令,可以将图形分成若干子图,并在不同的子图下绘制图形,它的语法如下:subplot(m,n,k) %分成mnsubplot(position,left bottom width height) %在人工指定位置作出子图,Matlab二维绘图基本指令,例三:subplot的例子 t=0:pi/100:2*pi; y1=sin(t); y2=sin(t).*sin(t); subplot(2,2,1); plot(t,m); subplot(2,2,2); plot(t,y1,c); subplot(position,0.2 0.05 0.6 0.45); p
5、lot(t,y1,r*,t,y2,b:);,Matlab二维绘图基本指令,其他绘图控制指令运用 grid指令 grid on; %打开网格指令 grid off; %关闭网格指令 图形标识指令 title(text); %书写图名 xlabel(text); %横轴坐标 ylabel(text); %纵轴坐标 legend(text1,text2); %放置图例 text(xt,yt,text) %在(xt,yt)处书写字符注释 重叠绘图指令 hold on; %再次绘制图形时,当前图形不被刷新 hold off; %再次绘制图形时,当前图形可被刷新,Matlab三维绘图指令,基本三维绘图指令
6、 plot3plot3是Matlab中最基本的三维绘图指令,其具体语法如下: plot3(x,y,z); plot3(x1,y1,z1,x2,y2,z2,);和plot一样,plot3也指令也可以进行参数设置,其设置方式与plot指令一致,Matlab三维绘图指令,例1:通过plot3指令绘制三维图 t=(0:0.02:2)*pi; %产生t时间序列 x=sin(t); %x轴参数 y=cos(t); %y轴参数 z=x.*y; %z轴参数 plot3(x,y,z,r*); %作出三维图形,Matlab三维绘图指令,三维网线图和曲面图 mesh(z),以z矩阵的元素值作为z轴自变量,而以矩阵的
7、列、行下标作为x,y轴自变量,画三维网线图 mesh(x,y,z),以x,y,z为三轴自变量,画三维网线图 mesh(x,y,z,c),指定网线颜色为c surf(z),以z矩阵的元素值作为z轴自变量,而以矩阵的列、行下标作为x,y轴自变量,画三维曲面图 surf(x,y,z),以x,y,z为三轴自变量,画三维曲面图 surf(x,y,z,c),指定曲面颜色为c,Matlab三维绘图指令,例2:作出z2=x2+y2的网线图和曲面图 x=-4:4; y=x; x,y=meshgrid(x,y); %生成x-y坐标上的个点矩阵 z=x.2+y.2; %计算格点上的函数值 figure; surf(x,y,z); %画出曲面图 figure; mesh(x,y,z); %画出网线图,