1MATALB图形处理功能2变量命名原则Matlab变量以字母开头后面可以跟字母、数字和下划线长度不超过63个字符(6.5版本以前为19个)变量名区分字母的大小写Matlab语句的通常形式变量=表达式表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号“=”左边的变量3分号和续行符的作用Matlab变量若不想在屏幕上输出结果,可以在语句最后加分号如果语句很长,可用续行符“…”(三个点)续行续行符的前面最好留一个空格例:4变量的查询Matlab变量who显示工作空间中的所有变量whos查看工作空间中变量的详细属性5系统预定义变量Matlab变量pi:圆周率,其值为imag(log(-1))inf,Inf:无穷大nan,NaN:Not-a-Number,一个不定值,如0/0eps:浮点运算相对精度特殊变量ansi,j:虚部单位,即1应尽量避免给系统预定义变量重新赋值!6数与算术表达式Matlab数值运算Matlab中的数默认是双精度实数,表示方法同C语言3,-9,0.4,1.603e-12,3.23e+20浮点运算的相对误差为eps浮点数表示范围为:10-308~10308复数的输入z=3+4i(4与i之间不能有空格)z=3+4*i复数作为矩阵元素输入时,加号两边不能有空格!7变量的存储存储当前工作空间中的变量save将所有变量存入文件matlab.matsavemydata将所有变量存入指定文件mydata.mat存储指定的变量savemydata.mat将所有变量存入文件mydata.matsave文件名变量名列表例:savemydataAxz变量名列表中各变量之间用空格分隔8变量的读取将数据文件中的变量载入当前工作空间loadmydata载入数据文件中的所有变量loadmydataAx从数据文件中提取指定变量清除当前工作空间中的变量clear清除当前工作空间中的所有变量clearAx清除指定的变量9几个小技巧Matlab的命令记忆功能:上下箭头键命令补全功能:Tab键可以先输入命令的前几个字符,再按上下键缩小搜索范围用Esc键删除命令行10Matlab语言的绘图功能不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。Matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄绘图方法。在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用图形。111、二维绘图(1)plot——最基本的二维图形指令plot的功能:plot命令自动打开一个图形窗口Figure用直线连接相邻两数据点来绘制图形根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示12如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图可任意设定曲线颜色和线型可给图形加坐标网线和图形加注功能13plot的调用格式:plot(x)——缺省自变量绘图格式,x为向量,以x元素值为纵坐标,以相应元素下标为横坐标绘图plot(x,y)——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x为自变量,作出m条曲线plot(x1,y1,x2,y2)——多条曲线绘图格式14plot(x,y,’s’)——开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel表示等。或者plot(x1,y1,’s1’,x2,y2,’s2’,…)可任意设置颜色与线型--图形设置选项:字母颜色符号含义y黄色m粉红c亮蓝r大红g绿色b蓝色w白色k黑色-:-.--实线虚线点划线双划线16图形设置选项:.+*^v实心黑点十字符八线符朝上三角符朝左三角符朝右三角符朝下三角符dhopsx菱形符六脚星符空心圆圈五角星符方块符叉字符171.单窗口单曲线绘图例1:x=[0,0.48,0.84,1,0.91,0.6,0.14];plot(x);1801234567-1-0.8-0.6-0.4-0.200.20.40.60.812.单窗口多曲线绘图例2:t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)yy1y219例3:y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);plot(t,[y',y1',y2',y3',y4',y5'])20y3=cos(t);y4=cos(t+0.25);y5=cos(t+0.5);plot(t,y3);holdon;plot(t,y4);plot(t,y5);21x=-pi:pi/10:pi;y=tan(sin(x))-sin(tan(x));plot(x,y,'-o');-4-3-2-101234-3-2-1012322x=-pi:pi/10:pi;y=tan(sin(x))-sin(tan(x));plot(x,y,'--rs','LineWidth',2,'MarkerEdgeColor','k,'MarkerFaceColor','g',...'MarkerSize',10);-4-3-2-101234-3-2-10123236.图形加注功能将标题、坐标轴标记、网格线及文字注释加注到图形上,这些函数为:title——给图形加标题xlabel——给x轴加标注ylabel——给y轴加标注text——在图形指定位置加标注gtext——将标注加到图形任意位置gridon(off)——打开、关闭坐标网格线legend——添加图例axis——控制坐标轴的刻度24例5:t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--');x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲线');legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦')gridaxissquare2526(2)fplot——自动绘制一个已定义的函数分布图•二维函数曲线专用命令fplot用plot绘图在确定自变量的取值间隔时,一般采用平均间隔,有时会因某处间距太大,而不能反映出函数的变化情况。fplot是绘制函数y=f(x)图形的专用命令,它的数据点是自适应产生的,对那些导数变化较大的函数,用fplot函数绘出的曲线比等分取点所画出的曲线更加接近真实。fplot函数命令的调用格式为:[X,Y]=fplot(‘fun’,lims)fun:函数名字符串;lims:定义x的取值区间,lims=[xmin,xmax];27有时需要在一个图形窗口中显示几幅图,以便对几个函数进行直观、便捷的比较。由于每个绘图命令在绘制数据图像时都会将已有图形覆盖掉,而用hold命令不能实现同时显示几个不同坐标尺寸下的图形,用figure命令再创窗口又很难同时比较由不同的数据绘得的图像。实现在同一个窗口中同时显示多个图像的命令subplot。使用格式为:subplot(m,n,i)其含义为:把图形窗口分割为m行n列子窗口,然后选定第i个窗口为当前窗口。按从左至右,从上至下排列。subplot命令不仅用于二维图形,对三维图形一样适用。其本质是将figure窗口分为几个区域,再在每个区域内分别绘图。(3)单窗口多曲线分图绘图行列绘图序号28用subplot函数把两种不同的图形综合在一个图形窗口中。subplot(2,2,1)t=0.1:0.1:2*pi;y=sin(t);semilogx(t,y)gridonsubplot(2,2,2)t=0:0.1:4*pi;y=sin(t);plot(t,y)subplot(2,2,3)x=1:0.01:5;y=exp(x);plot(x,y,x,y,’semilogx’,’plot’)subplot(2,2,4)x=1:0.1:10;y=sqrt(x);plot(x,y,’:rd’)29subplot(1,3,1);plot(t,y)subplot(1,3,2);plot(t,y3)subplot(1,3,3);plot(t,y2)30subplot(3,1,1);plot(t,y)subplot(3,1,2);plot(t,y3)subplot(3,1,3);plot(t,y2)31subplot('position',[leftbottomwidthheight])0123-1-0.500.510123-1-0.500.5100.511.522.53-1-0.500.5132(4)多窗口绘图figure(n)——创建窗口函数,n为窗口顺序号。t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)%自动出现第一个窗口figure(2)plot(t,y1)%在第二窗口绘图figure(3)plot(t,y2)%在第三窗口绘图3334(5)axis其他用法:axis([xminxmaxyminymax])——用行向量中给出的值设定坐标轴的最大和最小值。如axis([-2205])axis(equal)——将两坐标轴设为相等axison(off)——显示和关闭坐标轴的标记、标志axisauto——将坐标轴设置返回自动缺省值352、特殊二维绘图函数bar––––绘制直方图polar––––绘制极坐标图hist––––绘制统计直方图stairs––––绘制阶梯图stem––––绘制火柴杆图rose––––绘制统计扇形图comet––––绘制彗星曲线36errorbar––––绘制误差棒图compass––––复数向量图(罗盘图)feather––––复数向量投影图(羽毛图)quiver––––向量场图area––––区域图pie––––饼图convhull––––凸壳图scatter––––离散点图37例6:绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)38例6:阶梯绘图h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;subplot(8,1,1);stairs(t,h8(1,:));axis('off')subplot(8,1,2);stairs(t,h8(2,:));axis('off')subplot(8,1,3);stairs(t,h8(3,:));axis('off')subplot(8,1,4);stairs(t,h8(4,:));axis('off')subplot(8,1,5);stairs(t,h8(5,:));axis('off')subplot(8,1,6);stairs(t,h8(6,:));axis('off')subplot(8,1,7);stairs(t,h8(7,:));axis('off')subplot(8,1,8);stairs(t,h8(8,:));axis('off')39h2=[11;1-1];h4=[h2h2;h2-h2];h8=[h4h4;h4-h4];t=1:8;fori=1:8subplot(8,1,i);stairs(t,h8(i,:))axis('off')end4041例7:绘制极坐标绘图t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)42例8:绘制火柴杆绘图t=0:0.2:2*pi;y=cos(t);stem(y)43例9:绘制直方图t=0:0.2:2*pi;y=cos(t);bar(y)44x=[1234567];y