matlab的一些画图技巧(可编辑修改word版)

合集下载

Matlab常用操作、绘图等小知识

Matlab常用操作、绘图等小知识

Matlab 小知识1、翻转fliplr(左右)、flipud(上下)fftshift()上下左右fftshift(,1)对行(row)同时操作,引起列的变化(不是简单的上下) 类似fpliudfftshift(,2)对列(column)同时操作,引起行的变化(不是简单的左右) 类似fplilreg:a=[1 2 3;4 5 6; 7,8 9];fliplr=321654987flipud=789456123fftshift=978312645fftshift(a,1)=789123456fftshift(a,2)=3126459782、data:Naz*Nrg,行为方位向,列为距离向fft(,[],1)同时对一列进行fft,在SAR数据处理中为方位向FFT,变换到距离时域,方位频域(距离-多普勒域)== fft()fft(,[],2)同时对一行进行fft,在SAR数据处理中为距离向FFT,变换到距离频域,方位时域。

== fft(x.’).’fft(,[],1) + fft(,[],2) = fft2()3、conj(共轭) conv(卷积)4、imagesc,colormap(gray)5、转置:“’” 对于复数为共轭转置,若要只转置不取共轭,则应该是“.’”对于实数,“’”即可实现转置。

6、对于有复数j的程序,在循环中切忌再次使用j作为循环变量,同理,不可再次定义变量j进行其他运算。

7、算法优化:a) sinc(1:100)比单独计算sinc(1)…sinc(100)快N倍;b) 如果遇到a^2*b^2,则可以先计算(a*b)再对乘积求平方;8、eps 计算机最小正数,在pc机上,它等于2e-52。

9、保存的指令格式(1)save 工作间中的所有变量保存在磁盘上名为matlab.mat 的文件中。

(2)save [文件名] [变量名] 将指定的变量保存在指定文件中,如:save temp x y z 把x,y,z 这三个变量保存在文件temp.mat 中。

Matlab画图小窍门

Matlab画图小窍门

Matlab图形处理一、二维曲线的绘制语法:plot(x) %绘制以x轴为纵坐标二维曲线plot(x,y) %绘制以x轴为横坐标、y为纵坐标的二维曲线1、用plot(x)绘图x1=[1 2 3]; %横坐标根据向量元素序号从1开始的向量plot(x1)plot(x2)x2 =0 1 0x1=0:0.1:2*pi;y1=sin(x1);plot(x1,y1)y2=[1 1 0 0 1 1]; plot(x2,y2)axis([0 4 0 2])3、矩阵绘图x1=[1 2 3;4 5 6] %以矩阵的每一列作图,横坐标为向量1:2 plot(x1)x1 =1 2 3plot(x2)x2 =-1 2 04 0 -20 0 1Y=[1 2 3;4 5 6]plot(X,Y) %X是向量,其长度与Y的列数相同,X与Y的每一行绘一曲线X =-1 2 3Y =1 2 34 5 6Y1=[1 2;3 4;5 6]plot(X1,Y1) %X1的长度与Y1的行数相同,X1与Y1的每一列绘一图X1 =1 2 3Y1 =1 23 4Y2=[1 2;3 4;5 6]plot(X2,Y2) %如果X2,Y2均是矩阵,则它们的大小必须相同,矩阵X2的每一列和Y2的每一列绘一曲线X2 =1 00 -11 2Y2 =1 23 4Z2=X2+i*Y2plot(Z2) %与plot(real(Z2),imag(Z2))相同Z2 =1.0000 + 1.0000i 0 +2.0000i0 + 3.0000i -1.0000 + 4.0000i1.0000 + 5.0000i2.0000 + 6.0000ix=0:0.1:2*pi;plot(x,sin(x),x,cos(x),x,sin(2*x))6、指定图形窗口语法:figure(n) % 指定第n个窗口,窗口名为"Figure No.n",而不关闭其它窗口7、同一窗口绘制多个子图语法:subplot(m,n,k) %使m n幅子图中的第k幅成为当前图x=0:0.1:2*pi;subplot(2,2,1)plot(x,sin(x))subplot(2,2,2)plot(x,cos(x))subplot(2,2,3)plot(x,sin(2*x))subplot(2,2,4)plot(x,cos(3*x))8、曲线的线型、颜色和数据点型(见书本p140表格)语法:plot(x,y,'s') %s为类型说明的字符串参数,可以是线型,颜色和数据点型之一或三种组合.clfx=0:0.1:2*pi;plot(x,sin(x),'r-.')hold on %使当选前坐标系和图形保留plot(x,cos(x),'b:o')9、文字标注:包括图名(Title)、坐标轴(Lable)、文字注释(Text)和图例(Legend)语法:title(s) %图名xlabel(s) % x坐标名ylabel(s) % y坐标名legend(s,pos) %在指定位置建立图例legend off %擦除当前图中的图例text(xt,yt,s) %在图形的(xt,yt)处注释注:pos可取值0 (自动取最佳位置) ,1(右上角,默认位置), 2(左上角), 3(左下角), 4(右下角), -1(图右侧),也可以直接在图中用鼠标将图例拖到满意位置.clear allclfx=0:0.1:2*pi;plot(x,sin(x))hold onplot(x,cos(x),'ro')title('y1=sin(x),y2=cos(x)')xlabel('x')legend('sin(x)','cos(x)',4) %在右下角添加图例text(pi,sin(pi),'x=\pi')10、交互式图形命令语法:[x,y]=ginput(n) %用鼠标从图形上获取n个点坐标(x,y) gtext('s') %用鼠标把字符串放置到图形上x=0:0.1:2*pi;plot(x,sin(x))[m,n]=ginput(2) %获取两点坐标gtext('2\pi') %写2pim =3.15326.1855n =-0.0029-0.00291、三维曲线:语法:plot3(x,y,z,'s') %x,y,z是同维向量时,绘制以元素为坐标的三维曲线,当x,y,z是同维的矩阵时,绘制三维曲线的条数等于矩阵的列数。

Matlab图形绘制技巧与实例展示

Matlab图形绘制技巧与实例展示

Matlab图形绘制技巧与实例展示一、介绍Matlab是一种功能强大的计算机软件,常用于科学计算和数据可视化分析。

其中,图形绘制是Matlab的一项重要功能,能够直观地展示数据和结果。

本文将探讨一些Matlab图形绘制的技巧,并通过实例展示其应用。

二、基础图形绘制Matlab提供了多种基础图形绘制函数,如plot、scatter、bar等。

这些函数可以用来绘制折线图、散点图、柱状图等常见图形。

例如我们可以使用plot函数绘制一个简单的折线图:```matlabx = 1:10;y = [1, 2, 3, 4, 5, 4, 3, 2, 1, 0];plot(x, y);```运行以上代码,就可以得到一个由点连接而成的折线图。

通过修改x和y的取值,可以得到不同形状和样式的折线图。

三、图形修饰在绘制图形时,我们通常需要添加标题、坐标轴标签、图例等进行修饰。

Matlab提供了相应的函数,如title、xlabel、ylabel、legend等。

下面是一个例子:```matlabx = 1:10;y = [1, 4, 9, 16, 25, 16, 9, 4, 1, 0];plot(x, y);title('Parabolic Curve');xlabel('X-axis');ylabel('Y-axis');legend('Curve');```执行以上代码,我们得到一个带有标题、坐标轴标签和图例的折线图。

四、子图绘制有时候,我们希望在一幅图中同时显示多个子图,以便比较它们之间的关系。

Matlab提供了subplot函数来实现这个功能。

下面是一个例子:```matlabx = 1:10;y1 = [1, 2, 3, 4, 5, 4, 3, 2, 1, 0];y2 = [0, 1, 0, 1, 0, 1, 0, 1, 0, 1];subplot(2, 1, 1);plot(x, y1);title('Subplot 1');subplot(2, 1, 2);plot(x, y2);title('Subplot 2');通过subplot函数,我们将一幅图分为两个子图,并在每个子图中绘制不同的折线图。

matlab绘图帮助

matlab绘图帮助

Matlab 运用帮助文档一、图像设定类set(gcf,'Position',[100,50,1200,700]);%设置图像位置ylim([-1.5 , 1.5]); %设置y轴坐标set(gca,'yDir','reverse','ytick',-1.5:0.5:1.5);%设置y轴的顺序,正反,以及y轴坐标的步长set(gca,'xtick',0:0.1:1); %设置x轴坐标的步长title('汉字','FontSize',16); %设置标题及其大小xlabel('汉字','FontSize',16); %设置x轴坐标的汉字及大小ylabel(汉字','FontSize',16); %设置y轴坐标的汉字及大小set(gca,'fontsize',16); %设置图像数字的大小h=legend('标识1','标识2',1); %加标识,1表示放标识的位置set(h,'FontSize',16); %设置标识框内汉字大小legend('boxoff') %去掉标识框caxis([0 34]); %显示色标范围colorbar; %加色标colorbar off % 色标去除colormap(jet); %鲁棒方式,色标模式view(2); %图像显示视角shg %图像的前端显示hold on %画图方式为叠加不刷新subplot(2,2,1); %多图画在一个图形界面内clf; %清除图形界面内的内容close(figure(1)); %关闭图片 1set(gca,'YGrid','on') ;%设置y轴方向网格化set(findobj('Type','line'),'Color','k') %设置图片内的线条颜色为黑色str=['pinlv',num2str(2)];print('-dtiff',str); %打印图像,输出格式为gif print('-djpeg',str); %打印图像,输出格式为jpeg二、文件输入输出类fid=fopen(‘文件地址’,’wb’); %文件打开,后面是读写方式fwrite(fid,a(:,i),’float32’); %以二进制格式按列写出数组fwrite(fid,a(i,:),’float32’); %以二进制格式按行写出数组fclose(fid) %关闭文件fprintf(fid,’%d %f’,y); %按文本格式写出数组fscanf(fid,’%d %f’,w); %读入文本文件load(‘文件地址.txt’); % 载入文本文件imread(’图像文件地址’); %读入图像文件xlsread(’文件地址.xls’); %读入excel文件xlswrite(‘文件地址.xls’) ; %写出excel文件xlsread(’文件地址.xls’,1,‘A4:B5’);%读入excel文件的A4到B5的矩阵fseek(fid, offset, origin)%跳过文件多少字节,offset 代表跳过的大小,origin代表初始位置,offset 可负可正,origin=‘bof’文件起始,origin=‘cof’文件当前位置,origin=‘eof’文件末尾。

matlab 绘图技巧

matlab 绘图技巧

一、目录1.彗星图二维彗星图三维彗星图2.帧动画3.程序动画4.色图变换5.Voronoi图和三角剖分Voronoi图三角剖分6.四面体7.彩带图彩带图三维流彩带图8.伪彩图9.切片图切片图切片轮廓线图10.轮廓图显示轮廓线显示围裙瀑布效果带光照模式的阴影图11.函数绘图轮廓线、网格图、曲面图、轮廓网格图轮廓曲面图、二维曲线、极坐标曲线图、自定义函数12.三维图形控制视点灯光效果色彩控制二、图形示例1.彗星图二维彗星图t=0:.01:2*pi;x=cos(2*t).*(cos(t).^2);y=sin(2*t).*(sin(t).^2);comet(x,y);title('二维彗星轨迹图')hold onplot(x,y)三维彗星图a=12;b=9;T0=2*pi;%T0是轨道的周期T=5*T0;dt=pi/100;t=[0:dt:T]';f=sqrt(a^2-b^2);%地球与另一焦点的距离th=12.5*pi/180;%未经轨道与x-y平面的倾角E=exp(-t/20);%轨道收缩率x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));plot3(x,y,z,'g')%画全程轨线hold on,sphere(20);%画地球axis offtitle('卫星返回地球示例')x1=-18*T0;x2=6*T0;y1=-12*T0;y2=12*T0;z1=-6*T0;z2=6*T0;axis([x1 x2 y1 y2 z1 z2])% axis([-15 10 -15 10 -10 10])axis equalcomet3(x,y,z,0.02);%画运动轨线hold off2.帧动画Z=peaks;surf(Z)%绘制网格表面图axis tightset(gca,'nextplot','replacechildren');%设定axis覆盖重画模式title('帧动画播放示例')for j=1:20surf(sin(2*pi*j/20)*Z,Z)%重新绘制网格表面图,这里后面一个Z当成了颜色矩阵F(j)=getframe;%创建帧endmovie(F,20)%播放动画20次3.程序动画t=0:pi/50:10*pii=1;h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');%设定擦除模式grid onaxis([-2 2 -2 2 -1 10*pi])title('程序动画示例')for i=2:length(t)set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));drawnowpause(0.01)end4.色图变换load spine image(X) colormap cool spinmap(10)5.Voronoi图和三角剖分Voronoi图rand('state',5)x=rand(1,10);y=rand(1,10);subplot(131)voronoi(x,y);%绘制voronoi图形axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(132)[vx,vy]=voronoi(x,y);plot(x,y,'r+',vx,vy,'b-');%应用返回值绘制axis equalaxis([-0.2 1.6 -0.5 2.5])subplot(133)rand('state',5);x=rand(10,2);[v,c]=voronoin(x);%返回值v参数维voronoi顶点矩阵,返回值c参数为voronoi元胞数组for i=1:length(c)if all(c{i}~=1)patch(v(c{i},1),v(c{i},2),i);%应用色图iendendaxis equalaxis([-0.2 1.6 -0.5 2.5])box on三角剖分[x,y]=meshgrid(1:15,1:15); tri=delaunay(x,y);z=peaks(15);trimesh(tri,x,y,z)d=[-1 1];[x,y,z]=meshgrid(d,d,d);%定义一个立方体x=[x(:);0];y=[y(:);0];z=[z(:);0];%[x,y,z]分别为加上中心的立方体顶点X=[x(:) y(:) z(:)];Tes=delaunayn(X);%返回m×n的数组值tetramesh(Tes,X);%绘制四面体图camorbit(20,0);%旋转摄像目标位置7.彩带图彩带图[x,y]=meshgrid(-3:.5:3,-3:.1:3);z=peaks(x,y);三维流彩带图load wind%打开保存的数据lims=[100.64 116.67 17.25 28.75 -0.02 6.86];%定义坐标轴范围[x,y,z,u,v,w]=subvolume(x,y,z,u,v,w,lims);%lims来定义数据子集[sx sy sz]=meshgrid(110,20:5:30,1:5);%定义网格点verts=stream3(x,y,z,u,v,w,sx,sy,sz,.5);%计算彩带顶点cav=curl(x,y,z,u,v,w);%计算卷曲角速度wind_speed=sqrt(u.^2+v.^2+w.^2);%计算流速h=streamribbon(verts,x,y,z,cav,wind_speed,2);%绘制流彩带图view(3)8.伪彩图n=6%定义轮数r=(0:n)'/n;%定义轮的半径theta=pi*(-n:n)/n;%定义轮的扇区角X=r*cos(theta);Y=r*sin(theta);%定义网格顶点C=r*cos(2*theta);%定义色图pcolor(X,Y,C)%绘制伪彩图axis equal tight9.切片图切片图[x,y,z] = meshgrid(-2:.2:2,-2:.25:2,-2:.16:2); v = x.*exp(-x.^2-y.^2-z.^2);xslice = [-1.2,.8,2]; yslice = 2; zslice = [-2,0]; slice(x,y,z,v,xslice,yslice,zslice)colormap hsv切片轮廓线图[x y z v]=flow;%打开水流数据h=contourslice(x,y,z,v,[1:9],[],[0],linspace(-8,2,10));%切片轮廓线view([-12 30])10.轮廓图显示轮廓线[x,y,z]=peaks;subplot(1,2,1)meshc(x,y,z);%同时画出网格图与轮廓线title('meshc 网格图与轮廓线')axis([-inf inf -inf inf -inf inf]);subplot(1,2,2)surfc(x,y,z);%同时画出曲面图与轮廓线title('surfc 曲面图与轮廓线')axis([-inf inf -inf inf -inf inf]);显示围裙[x y z]=peaks;meshz(x,y,z);瀑布效果[X,Y,Z]=peaks(30); waterfall(X,Y,Z)带光照模式的阴影图[x,y]=meshgrid(-3:1/8:3);z=peaks(x,y);surfl(x,y,z);shading interp%着色处理colormap(gray);%灰度处理axis([-3 3 -3 3 -8 8])11.函数绘图轮廓线、网格图、曲面图、轮廓网格图%图1绘制轮廓线、网格图、曲面图、轮廓网格图subplot(221)f=['3*(1-x)^2*exp(-(x^2)-(y+1)^2)-10*(x/5-x^3-y^5)*exp(-x^2-y^2)-1/3*exp(-(x+1)^2-y^ 2)'];%定义双变量x、y的函数式ezcontour(f,[-3,3],49)%x、y为[-3 3],网格为49×49subplot(222)ezmesh('sqrt(x^2+y^2)');subplot(223)ezsurf('real(atan(x+i*y))')%经过滤波,如果相同数据surf绘图没有滤波subplot(224)ezmeshc('y/(1+x^2+y^2)',[-5,5,-2*pi,2*pi])%x、y的数值范围分别为[-5 5]、[-2*pi 2*pi]轮廓曲面图、二维曲线、极坐标曲线图、自定义函数%图2绘制轮廓曲面图、二维曲线、极坐标曲线图、自定义函数figure(2)subplot(221)ezsurfc('sin(u)*sin(v)')subplot(222)ezplot('x^2-y^4');subplot(223)ezpolar('1+cos(t)')subplot(224)fplot('myfun',[-20 20])function Y=myfun(x)Y(:,1)=200*sin(x(:))./x(:);Y(:,2)=x(:).^2;三维曲线图%绘制三维曲线图figure(3)ezplot3('sin(t)','cos(t)','t',[0,6*pi])12.三维图形控制视点View图形旋转subplot(121)surf(peaks);title('旋转前图形'); subplot(122)h=surf(peaks); rotate(h,[1 0 1],180) title('旋转后图形');灯光效果%灯光效果(1)camlight(2)light(3)lightangle(4)lighting(5)material sphere;camlight色彩控制%色彩控制(1)缺省设置colordef、whitebg(2)色图colormap(3)浓淡处理shading load flujetimage(X)colormap(jet)subplot(131)sphere(16)axis squareshading flattitle('Flat Shading') subplot(132)sphere(16)axis squareshading facetedtitle('Faceted Shading') subplot(133)sphere(16)axis squareshading interptitle('Interpolated Shading')v。

Matlab绘图技巧

Matlab绘图技巧

绘制二维数据曲线图1.1 绘制单根二维曲线plot 函数的基本调用格式为:plot(x,y) 其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。

例1-1 在0≤x≤2p区间内,绘制曲线y=2e-0.5xcos(4πx)程序如下:x=0:pi/100:2*pi;y=2*exp(-0.5*x).*cos(4*pi*x);plot(x,y)例1-2 绘制曲线。

程序如下:t=0:0.1:2*pi;x=t.*sin(3*t);y=t.*sin(t).*sin(t);plot(x,y);plot函数最简单的调用格式是只包含一个输入参数:plot(x)在这种情况下,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一条连续曲线,这实际上是绘制折线图。

1.2 绘制多根二维曲线1.plot函数的输入参数是矩阵形式(1)当x是向量,y是有一维与x同维的矩阵时,则绘制出多根不同颜色的曲线。

曲线条数等于y矩阵的另一维数,x被作为这些曲线共同的横坐标。

(2)当x,y是同维矩阵时,则以x,y对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

(3)对只包含一个输入参数的plot函数,当输入参数是实矩阵时,则按列绘制每列元素值相对其下标的曲线,曲线条数等于输入参数矩阵的列数。

当输入参数是复数矩阵时,则按列分别以元素实部和虚部为横、纵坐标绘制多条曲线。

2.含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)(1)当输入参数都为向量时,x1和y1,x2和y2,…,xn和yn分别组成一组向量对,每一组向量对的长度可以不同。

每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制出多条曲线。

(2) 当输入参数有矩阵形式时,配对的x,y按对应列元素为横、纵坐标分别绘制曲线,曲线条数等于矩阵的列数。

例1-3 分析下列程序绘制的曲线。

x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)3.具有两个纵坐标标度的图形在MA TLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。

MATLAB图形绘制技巧与实例

MATLAB图形绘制技巧与实例

MATLAB图形绘制技巧与实例介绍:MATLAB是一种功能强大,广泛应用于科学计算和工程领域的软件平台。

它拥有丰富的图形绘制功能,可以用于可视化数据和传达研究成果。

本文将探讨一些MATLAB图形绘制的技巧和提供一些实例,让读者了解如何高效地利用MATLAB 绘制各种类型的图形。

一、基本绘图函数MATLAB中最基本的绘图函数是plot,它可以绘制二维图形。

可以通过指定x和y向量作为输入参数,将数据点连线绘制出来。

除了plot函数,还有其他一些常用的绘图函数,如scatter用于绘制散点图,bar用于绘制条形图,hist用于绘制直方图等。

这些函数具有丰富的参数选项,可以根据需要进行调整,以得到满意的图形效果。

二、自定义图形样式在MATLAB中,可以通过一些简单的命令实现图形样式的自定义。

例如,可以通过修改线型、颜色和点标记等属性,使得图形更加美观和易读。

除了利用内置的属性选项,还可以使用一些自定义的方法,如在plot函数中添加字符串参数来自定义线型和颜色。

三、多图绘制在某些情况下,需要在一个图形窗口中展示多个图形。

MATLAB提供了subplot函数,可以将图形窗口划分为多个小的绘图区域,并在每个区域中绘制不同的图形。

这对于比较不同数据集之间的关系或展示多个实验结果非常有用。

另外,还可以使用hold on和hold off命令,以在同一个图形窗口中绘制多个图形,并在绘制后保持图形的可编辑性。

四、3D图形绘制除了二维图形,MATLAB还支持绘制三维图形。

可以使用plot3函数将数据点绘制成三维曲线或散点图。

也可以使用mesh和surf函数绘制三维表面图,这在可视化函数和曲面的形状时非常有用。

通过调整视角和添加颜色映射等设置,可以使得3D图形更加生动和具有立体感。

五、图形标注和注释为了更好地传达和解释图形的含义,MATLAB提供了一些标注和注释功能。

可以使用xlabel、ylabel和title函数添加坐标轴标签和标题。

详尽全面的matlab绘图教程

详尽全面的matlab绘图教程

详尽全⾯的matlab绘图教程Matlab绘图强⼤的绘图功能是Matlab的特点之⼀,Matlab提供了⼀系列的绘图函数,⽤户不需要过多的考虑绘图的细节,只需要给出⼀些基本参数就能得到所需图形,这类函数称为⾼层绘图函数。

此外,Matlab还提供了直接对图形句柄进⾏操作的低层绘图操作。

这类操作将图形的每个图形元素(如坐标轴、曲线、⽂字等)看做⼀个独⽴的对象,系统给每个对象分配⼀个句柄,可以通过句柄对该图形元素进⾏操作,⽽不影响其他部分。

本章介绍绘制⼆维和三维图形的⾼层绘图函数以及其他图形控制函数的使⽤⽅法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。

⼀.⼆维绘图⼆维图形是将平⾯坐标上的数据点连接起来的平⾯图形。

可以采⽤不同的坐标系,如直⾓坐标、对数坐标、极坐标等。

⼆维图形的绘制是其他绘图操作的基础。

⼀.绘制⼆维曲线的基本函数在Matlab中,最基本⽽且应⽤最为⼴泛的绘图函数为plot,利⽤它可以在⼆维平⾯上绘制出不同的曲线。

1. plot函数的基本⽤法plot函数⽤于绘制⼆维平⾯上的线性坐标曲线图,要提供⼀组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的⼆维曲线。

plot函数的应⽤格式plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。

例51 在[0 , 2pi]区间,绘制曲线程序如下:在命令窗⼝中输⼊以下命令>> x=0:pi/100:2*pi;>> y=2*exp(-0.5*x).*sin(2*pi*x);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线注意:指数函数和正弦函数之间要⽤点乘运算,因为⼆者是向量。

例52 绘制曲线这是以参数形式给出的曲线⽅程,只要给定参数向量,再分别求出x,y向量即可输出曲线:>> t=-pi:pi/100:pi;>> x=t.*cos(3*t);>> y=t.*sin(t).*sin(t);>> plot(x,y)程序执⾏后,打开⼀个图形窗⼝,在其中绘制出如下曲线以上提到plot函数的⾃变量x,y为长度相同的向量,这是最常见、最基本的⽤法。

Matlab中的图形绘制技巧

Matlab中的图形绘制技巧

MATLAB中的图形绘制技巧概述:MATLAB是一种用于科学计算和数据可视化的强大工具,它提供了丰富的图形绘制功能,使用户能够清晰地展示和分析数据。

本文将介绍一些MATLAB中的图形绘制技巧,帮助读者更加熟悉和灵活运用这些功能。

一、基本图形绘制1.折线图(Line Plot):折线图是用于显示随时间、变量或其他条件变化而变化的数据的理想选择。

例如,假设我们想要展示一段时间内气温的变化趋势,可以使用MATLAB中的plot 函数来生成折线图。

通过在X轴上放置时间(日期)或变量,将温度值绘制在Y 轴上,我们可以清晰地看到气温的变化。

2.散点图(Scatter Plot):散点图用于观察两个连续变量之间的关系。

在MATLAB中,可以使用scatter 函数生成散点图。

例如,我们可以绘制一个散点图来观察身高和体重之间的关系,每个点代表一个人,x轴表示身高,y轴表示体重。

通过观察图形,我们可以直观地看到身高和体重之间是否存在某种关联。

3.柱状图(Bar Plot):柱状图适用于对各个组或类别之间的数值进行比较。

使用bar函数可以在MATLAB中绘制柱状图。

例如,如果我们想要比较不同地区的人口数量,可以使用柱状图将不同地区的人口数量以柱状图的形式展示出来。

不同地区的柱状图高度不同,可以直观地看到不同地区的人口数量差异。

4.饼图(Pie Chart):饼图用于表示不同类别之间的比例关系,MATLAB中的pie函数可以用来生成饼图。

例如,我们可以使用饼图展示一份问卷调查中各个选项的比例,饼图的每个扇区表示一个选项,扇区的面积大小代表该选项占总数的比例。

通过观察饼图,我们可以更加直观地了解各个选项之间的比例关系。

二、高级图形绘制技巧1.子图(Subplot):在MATLAB中,我们可以使用subplot函数创建一个包含多个子图的大图。

通过在subplot函数中指定行数和列数,可以将图形划分为不同的区域,并在每个区域中绘制不同的图形。

Matlab图形绘制技巧

Matlab图形绘制技巧

Matlab图形绘制技巧Matlab是一种广泛应用于科学和工程领域的计算软件,其强大的图形绘制功能使得数据的可视化变得更加直观和易于理解。

在本文中,我将向读者介绍一些Matlab图形绘制的技巧,并分享一些我在实践中收集的经验。

首先,让我们从简单的二维图形开始。

Matlab提供了各种各样的绘图函数,比如plot、scatter和bar等。

这些函数都有一些共同的参数,如x和y坐标数据,线条颜色和样式等。

我们可以使用这些参数来自定义图形的外观。

例如,可以通过设置不同的颜色和样式来区别不同的数据集,使得图形更加清晰易读。

此外,还可以使用legend函数添加图例,以进一步增加图像的可读性。

另一个重要的技巧是使用子图。

Matlab提供了subplot函数用于在一个图像窗口里显示多个子图。

这在比较同一组数据的不同方面时非常有用。

通过将多个子图放在同一窗口中,我们可以更直观地比较它们之间的差异和相似之处。

此外,可以使用title和xlabel、ylabel函数为每个子图添加标题和坐标轴标签,以进一步增加图像的可读性。

当我们需要绘制三维图形时,Matlab提供了一系列的三维绘图函数,如plot3、surf和mesh等。

这些函数使我们能够在三维空间中绘制各种不同形式的数据。

同样,我们可以通过设置不同的颜色和样式来区分不同的数据集,以增强图像的可读性。

此外,我们还可以使用view函数来改变观察角度,以获得更好的视觉效果。

除了基本的二维和三维图形,Matlab还提供了一些特殊类型的图形绘制函数。

例如,我们可以使用contour函数绘制等高线图,这对于可视化二维数据的变化非常有用。

另外,我们还可以使用polar函数绘制极坐标图,这对于展示周期性数据的特点非常有效。

当我们需要处理大量数据时,有时候绘制所有数据点并不是一个好的选择,因为这可能会导致图像非常混乱和难以解读。

在这种情况下,我们可以使用直方图、柱状图和箱线图等来显示数据的分布和统计特征。

MATLAB绘图整理

MATLAB绘图整理

MATLAB命令窗口换行:同时按住shift+enter键。

MATLAB绘图相关:1.曲线颜色、线型及标记点类型(1)、各种颜色属性选项及选项意义(以下为简单颜色可直接使用,其它颜色可通过[RGB]矩阵设置)'r' 红色'm' 品红'g' 绿色'c' 青色(亮蓝色)'b' 蓝色'w' 白色'y' 黄色'k' 黑色(2)、各种线型属性选项及选项意义'-' 实线'--' 虚线':' 点线'-.' 点划线(3)、各种标记点属性选项及选项意义'.' 用点号绘制各数据点'^' 用上三角绘制各数据点'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点'o' 用圆圈绘制各数据点'x' 用'x'号绘制各数据点's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点'd'或diamond用菱形绘制各数据点'h' 用六角星绘制各数据点这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线,通常将表示颜色的字符放在前面。

plot(x,z,'r>-','MarkerFaceColor','g') 用实心的三角形会输据点注意:1)以上表示属性的符号必须放在同一个字符串中;在画图命令前加上这一句:可使绘图窗口坐标轴周围背景由默认的灰色变为白色,figure1 = figure('Color',[1 1 1]);2.设置曲线线宽、标记点大小,标记点边框颜色和标记点填充颜色等。

MATLAB图形绘制技巧分享

MATLAB图形绘制技巧分享

MATLAB图形绘制技巧分享概述:MATLAB是一款功能强大的科学计算软件,其图形绘制功能十分出色。

通过灵活运用MATLAB的绘图函数和技巧,可以创建各种精美的图形,用于数据可视化、科研论文制作等方面。

本文将分享一些MATLAB图形绘制的技巧,帮助读者更好地驾驭这一工具。

一、基础绘图函数1. plot函数plot函数是最基础的绘图函数之一,可以绘制折线图、曲线图等。

通过设置不同的参数,可以调整线条颜色、样式、宽度等。

例如,使用plot(x, y, 'r--','LineWidth', 2)即可绘制红色虚线折线图,线宽为2。

2. scatter函数scatter函数用于绘制散点图,可以展示数据的分布特征。

通过设置参数,可以调整散点图的大小、颜色等属性。

例如,使用scatter(x, y, 50, 'filled', 'r')将绘制红色实心散点图,散点的大小为50。

3. bar函数bar函数用于绘制柱状图,适用于比较不同类别或组之间的数据。

可以通过设置参数调整柱子的宽度、颜色等属性。

例如,使用bar(x, y, 'FaceColor', [0.5 0.5 0.5])将绘制灰色柱状图。

4. pie函数pie函数用于绘制饼图,可以直观地展示数据的占比关系。

通过设置参数,可以调整饼图的颜色、字体等属性。

例如,使用pie(data, labels, explode, colors,'FontSize', 12)将绘制饼图,其中explode参数用于突出显示某一扇区,colors参数用于设置扇区的颜色。

二、高级图形绘制技巧1. 图形叠加MATLAB中可以将多个图形叠加在一张图中,通过hold on和hold off命令可以实现。

例如,在绘制折线图的同时,将散点图叠加在其中,可以用以下代码实现:```matlabx = 1:10;y1 = x.^2;y2 = x.^3;plot(x, y1, 'r--', 'LineWidth', 2);hold on;scatter(x, y2, 50, 'filled', 'b');hold off;```2. 子图绘制使用subplot函数可以在一张图中绘制多个子图,展示不同的数据或视角。

matlab绘制bode图技巧(可编辑修改word版)

matlab绘制bode图技巧(可编辑修改word版)

我们经常会遇到使用Matlab 画伯德图的情况,可能我们我们都知道bode 这个函数是用来画bode 图的,这个函数是Matlab 内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。

譬如我们要画出下面这个传递函数的伯德图:1.576e010 s^2H(s)=s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014(这是一个用butter 函数产生的2 阶的,频率范围为[20 20K]HZ 的带通滤波器。

)我们可以用下面的语句:num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den);bode(H)这样,我们就可以得到以下的伯德图:可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on 解决)。

下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions我们可以看到以下内容:ans =Title: [1x1 struct]XLabel: [1x1 struct]YLabel: [1x1 struct]TickLabel: [1x1 struct]Grid: 'off'XLim: {[1 10]}XLimMode: {'auto'}YLim: {[1 10]}YLimMode: {'auto'}IOGrouping: 'none'InputLabels: [1x1 struct]OutputLabels: [1x1 struct]InputVisible: {'on'}OutputVisible: {'on'}FreqUnits: 'rad/sec'FreqScale: 'log'MagUnits: 'dB'MagScale: 'linear'MagVisible: 'on'MagLowerLimMode: 'auto'MagLowerLim: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off'PhaseMatching: 'off'PhaseMatchingFreq: 0PhaseMatchingValue: 0我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions;P.Grid='on';P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ';num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den);bode(H,P)这时,我们将会看到以下的伯德图:上面这张图相对就比较好了,它的横坐标单位是HZ,范围是[10 40K]HZ,而且打开了网格,便于我们观察-3DB 处的频率值。

(完整版)matlab的一些画图技巧

(完整版)matlab的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆plot(1,1,'r。

','markersize',50)二维作图绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polor命令绘制极坐标图.基本形式如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出y=[0., 0.48, 0.84, 1., 0.91, 6。

14 ]则用命令:plot(y)它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y的长度Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y是由计算机自动绘出的.图4.1。

1。

1 plot([0。

,0.48,0。

84,1.,0.91,6。

14])上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title命令可以加上.如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=sin(x); plot(x,y)grid on, title(’ y=sin( x )曲线图' )xlabel(’ x = 0 : 0.05 : 4Pi ')结果见下图.图4.1.1。

2 y=sin(x)的图形title图形标题xlabel x坐标轴标注ylabel y坐标轴标注text标注数据点legend 在右上角加解释文字grid给图形加上网格hold保持图形窗口的图形表4。

1.1.1 Matlab图形命令多重线在一个单线图上,绘制多重线有三种办法。

第一种方法是利用plot的多变量方式绘制:plot(x1,y1,x2,y2,.。

.,xn,yn)x1,y1,x2,y2,。

.。

,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上.第二种方法也是利用plot绘制,但加上hold on/off命令的配合:plot(x1,y1)hold onplot(x2,y2)hold off第三种方法还是利用plot绘制,但代入矩阵:如果plot用于两个变量plot(x,y),并且x,y是矩阵,则有以下情况:(1)如果y是矩阵,x是向量,plot(x,y)用不同的画线形式绘出y的行或列及相应的x向量,y 的行或列的方向与x向量元素的值选择是相同的.(2)如果x是矩阵,y是向量,则除了x向量的线族及相应的y向量外,以上的规则也适用.(3)如果x,y是同样大小的矩阵,plot(x,y)绘制x的列及y相应的列.还有其它一些情况,请参见Matlab的帮助系统.线型和颜色的控制如果不指定划线方式和颜色,Matlab会自动为您选择点的表示方式及颜色.您也可以用不同的符号指定不同的曲线绘制方式.例如:plot(x,y,’*’)用'*’作为点绘制的图形.plot(x1,y1,’:’,x2,y2,’+')用’:’画第一条线,用’+’画第二条线.线型、点标记和颜色的取值有以下几种:线型点标记颜色-实线.点y黄:虚线o小圆圈m棕色-。

matlab常用画图调整命令汇总(带例子)

matlab常用画图调整命令汇总(带例子)

matlab常用画图调整命令汇总(带例子)Matlab常用画图调整1.%单y轴2.plot(t*1e+9,abs(iGG)/max(abs(iGG)),'k','linewidth',2);3.axis([-5,5,0,1])4.xlabel('时间/ns');5.ylabel('幅度/a.u.');6.set(get(gca,'title'),'FontSize',10,'FontName','宋体');%设置标题字体大小,字型7.set(get(gca,'XLabel'),'FontSize',10,'FontName','Times New Roman');%设置X坐标标题字体大小,字型8.set(get(gca,'YLabel'),'FontSize',10,'FontName','Times New Roman');%设置Y坐标标题字体大小,字型9.set(gca,'FontName','Times New Roman','FontSize',10)%设置坐标轴字体大小,字型10.text(0.3,1.2,'(a)','FontSize',10,'FontName','Times New Roman');%设置文本字型字号11.set(gca,'XTick',[0 10 20 30 40 50 60 70 80 90])%设置X坐标轴刻度数据点位置12.set(gca,'XTickLabel',{'0','10','20','30','40','50','60','70','80',' 90'})%设置X坐标轴刻度处显示的字符13.set(gca,'YTick',[-15 -10 -5 0 5 10 15])%设置X坐标轴刻度数据点位置14.set(gca,'YTickLabel',{'-15','-10','-5','0','5','10','15'})%设置Y 坐标轴刻度处显示的字符15.axis([0,90,-20,20])16.set(gca,'YTickLabel',[]);%只显示y坐标轴刻度,不显示y坐标轴的值;17.set(gca,'XTickLabel',[]);%只显示x坐标轴刻度,不显示x坐标轴的值;18.set(gca,'ytick',[]);%y轴的坐标值和刻度均不显示;19.set(gca,'xtick',[]);%x轴的坐标值和刻度均不显示;20.21.figure;22.set(gcf,'Position',[400,300,600,200]);%设定plot输出图片的尺寸。

(完整)Matlab图形的编辑(含绘图修改的奥义

(完整)Matlab图形的编辑(含绘图修改的奥义

1matlab 画图中线型,颜色及字体的设置 (3)1。

1.................................................. plot格式31.2图形尺寸和字体的设置:方法:Flie—Export Setup,进入如下界面:4 2matlab作图标注 (5)2.1坐标轴的标题:title函数, (5)2。

2坐标轴的说明:xlabel和ylabel函数, (5)2。

3图形说明文字:text和gtext函数 (6)2。

4在图形中添加图例框:legend函数。

其调用格式为:62.5用鼠标点选屏幕上的点: (6)2。

6使用多个x轴和y轴 (8)2。

7..................................... axis对坐标轴的控制93绘图设置 (10)3.1网格设置: (10)3.2曲线设置 (10)3.3在单线图上绘制多重线:有三种办法. (11)4一些特殊函数的绘图方法 (11)5其他一些绘图技巧 (17)5.1图像不显示 (17)5.2Legend设置 (17)5.3Matlab如何在一个figure中添加多个data cursor 185。

4.............................. m atlab可不可以建文件夹?185.5如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。

(18)5。

6.............................. f igure命令建一个绘图窗口185。

7注释掉一段程序: (19)5.8doc 命令名,打开命令的帮助文档 (19)5。

9.......................... box on %打开图框195。

10................................................ close all 195。

11.................................................. T ab补全195.12cell模式 (19)5.13获取文件列表,批处理 (20)5。

matlab绘图知识点总结

matlab绘图知识点总结

matlab绘图知识点总结一、Matlab基本绘图函数1. plot函数plot函数是Matlab中最基本的绘图函数之一,用于绘制二维图表。

其基本语法为:plot(x, y)。

其中x是横轴坐标数据,y是纵轴坐标数据。

通过plot函数可以绘制折线图、散点图等。

2. bar函数bar函数用于绘制条形图,其基本语法为:bar(x, y)。

其中x是条形的横轴坐标位置,y是条形的高度。

3. pie函数pie函数用于绘制饼图,其基本语法为:pie(x, labels)。

其中x是用来指定各个扇形区域的大小的矩阵,labels则是用来指定每个扇形区域的标签。

4. hist函数hist函数用于绘制直方图,其基本语法为:hist(x, bins)。

其中x是待绘制的数据,bins则是用来指定直方图的条形数目。

5. scatter函数scatter函数用于绘制散点图,其基本语法为:scatter(x, y)。

其中x和y分别是散点的横轴和纵轴坐标数据。

6. contour函数contour函数用于绘制等高线图,其基本语法为:contour(x, y, z)。

其中x和y分别是网格的横轴和纵轴坐标,z则是用来指定等高线的数值。

二、自定义图形1. 设置标题、标签和图例在Matlab中,可以使用title、xlabel、ylabel和legend等函数分别设置图表的标题、横轴和纵轴标签以及图例。

2. 设置图表样式可以使用line属性、marker属性以及color属性等来设置折线图、散点图等的样式。

3. 修改图表坐标轴可以使用xlim、ylim函数来设置图表的横轴和纵轴范围,并使用xticks和yticks函数来设置坐标刻度。

4. 绘制多个数据集可以使用hold on函数来绘制多个数据集,并使用hold off函数来结束绘制多个图表。

5. 设置图表背景可以使用grid、box、axis equal等函数来设置图表的背景。

三、子图表绘制1. subplot函数subplot函数用于在一个图形窗口中绘制多个子图表,其基本语法为:subplot(m,n,p)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二维作图绘图命令plot 绘制x-y 坐标图;loglog 命令绘制对数坐标图;semilogx 和semilogy 命令绘制半对数坐标图;polor 命令绘制极坐标图.基本形式如果y 是一个向量,那么plot(y)绘制一个y 中元素的线性图.假设我们希望画出y=[0., 0.48, 0.84, 1., 0.91, 6.14 ]则用命令:plot(y)它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y 的下标编号, n 为向量y 的长度Matlab 会产生一个图形窗口,显示如下图形,请注意:坐标x 和y 是由计算机自动绘出的.图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])matlab 中如何在指定一点画一个填充颜色的小圆plot(1,1,'r.','markersize',50)x=0:0.05:4*pi;y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ')结果见下图.图4.1.1.2 y=sin(x)的图形title 图形标题 xlabel x 坐标轴标注 ylabel y 坐标轴标注 text标注数据点上面的图形没有加上 x 轴和 y 轴的标注,也没有标题.用 xlabel ,ylabel ,title命令可以加上.如果x ,y 是同样长度的向量,plot(x,y)命令可画出相应的 x 元素与y 元素的 x-y坐标图.例:多重线在一个单线图上,绘制多重线有三种办法.第一种方法是利用 plot 的多变量方式绘制:plot(x1,y1,x2,y2,...,xn,yn)x1,y1,x2,y2,...,xn,yn 是成对的向量,每一对 x, y 在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用 plot 绘制,但加上 hold on/off 命令的配合:plot(x1,y1) hold on plot(x2,y2) hold off第三种方法还是利用 plot 绘制,但代入矩阵:表4.1.1.1 Matlab 图形命令保持图形窗口的图形hold给图形加上网格 grid legend 在右上角加解释文字如果plot 用于两个变量plot(x,y),并且x,y 是矩阵,则有以下情况:(1)如果y 是矩阵,x 是向量,plot(x,y)用不同的画线形式绘出y 的行或列及相应的x 向量,y 的行或列的方向与x 向量元素的值选择是相同的.(2)如果x 是矩阵,y 是向量,则除了x 向量的线族及相应的y 向量外,以上的规则也适用.(3)如果x,y 是同样大小的矩阵,plot(x,y)绘制x 的列及y 相应的列.还有其它一些情况,请参见Matlab 的帮助系统.线型和颜色的控制如果不指定划线方式和颜色,Matlab 会自动为您选择点的表示方式及颜色.您也可以用不同的符号指定不同的曲线绘制方式.例如:plot(x,y,'*') 用'*'作为点绘制的图形.plot(x1,y1,':',x2,y2,'+') 用':'画第一条线,用'+'画第二条线.线型、点标记和颜色的取值有以下几种:线型点标记颜色- 实线. 点y 黄: 虚线o 小圆圈m 棕色-. 点划线x 叉子符 c 青色-- 间断线+ 加号r 红色* 星号g 绿色x=sin(t); y=cos(t);plot(t,x, '+r',t,y, '-b')图4.1.3.1不同线型、颜色的 sin,cos 图形t=-3.14:0.2:3.14; 例如:如果你的计算机系统不支持彩色显示,Matlab 将把颜色符号解释为线型符 号,用不同的线型表示不同的颜色.颜色与线型也可以一起给出,即同时指定曲线的颜色和线型. 表4.1.3.1线型和颜色控制符h六角星p 五角星 < 朝左三角 > 朝右三角 v 朝下三角 黑色朝上三角 k ^ w白色 d 菱形蓝色 b s 方格对数图、极坐标图及条形图loglog、semilogx、semilogy 和polar 的用法和plot 相似.这些命令允许数据在不同的graph paper 上绘制,例如不同的坐标系统.先介绍的fplot 是扩展来的可用于符号作图的函数.●fplot(fname,lims)绘制fname 指定的函数的图形.●polar( theta, rho)使用相角theta 为极坐标形式绘图,相应半径为rho,其次可使用grid 命令画出极坐标网格.●loglog 用log10-log10标度绘图.●semilogx 用半对数坐标绘图,x 轴是log10,y 是线性的.●semilogy 用半对数坐标绘图,y 轴是log10,x 是线性的.●bar(x)显示x 向量元素的条形图,bar 不接受多变量.●hist 绘制统计频率直方图.●histfit(data,nbins)绘制统计直方图与其正态分布拟合曲线.fplot 函数的绘制区域为lims=[xmin,xmax],也可以用lims=[xmin,xmax,ymin,ymax]指定y 轴的区域.函数表达式可以是一个函数名,如sin,tan 等;也可以是带上参数x 的函数表达式,如sin(x),diric(x,10);也可以是一个用方括号括起的函数组,如[sin, cos].例1:fplot('sin',[0 4*pi])例2:fplot('sin(1 ./ x)', [0.01 0.1])例3:fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi],'-o')例4:fplot('[sin(x), cos(x) , tan(x)]',[-2*pi 2*pi -2*pi 2*pi]) %%(图4.1.4.1)图4.1.4.1 sin,cos,tan 函数图形图4.1.4.2半对数图下面介绍的是其它几个作图函数的应用.例5:半对数坐标绘图t=0.001:0.002:20;y=5 + log(t) + t;semilogx(t,y, 'b')t=0:0.01:2*pi;polar(t,sin(6*t))%% (图4.1.4.3)图4.1.4.3极坐标绘图 图4.1.4.4正态分布的统计直方图与其正态分布拟合曲线例7:正态分布图我们可以用命令 normrnd 生成符合正态分布的随机数.normrnd(u,v,m,n)其中,u 表示生成随机数的期望,v 代表随机数的方差. 运行:a=normrnd(10,2,10000,1);histfit(a)%% (图4.1.4.4)hold onsemilogx(t,t+5, 'r')%% (图4.1.4.2)例6:极坐标绘图我们可以得到正态分布的统计直方图与其正态分布拟合曲线.例8:比较正态分布(图4.1.4.5(1))与平均分布(图4.1.4.5(2))的分布图:yn=randn(30000,1); %%正态分布x=min(yn) : 0.2 : max(yn);subplot(121)hist(yn, x)yu=rand(30000,1); %%平均分布subplot(122)hist(yu, 25)4.1.4.5(1) 4.1.4.5(2)图4.1.4.5正态分布与平均分布的分布图在绘图过程中,经常要把几个图形在同一个图形窗口中表现出来,而不是简单地叠加(例如上面的例8).这就用到函数subplot.其调用格式如下:subplot(m,n,p)subplot 函数把一个图形窗口分割成m×n 个子区域,用户可以通过参数p 调用个各子绘图区域进行操作.子绘图区域的编号为按行从左至右编号.例9:绘制子图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)')得到图形如下:图4.1.5.1子图利用二维绘图函数patch,我们可绘制填充图.绘制填充图的另一个函数为fill.下面的例子绘出了函数humps(一个Matlab 演示函数)在指定区域内的函数图形.例10:用函数patch 绘制填充图fplot('humps',[0,2],'b')hold onpatch([0.5 0.5:0.02:1 1],[0 humps(0.5:0.02:1) 0],'r');hold offtitle('A region under an interesting function.')grid图4.1.6.1填充图我们还可以用函数fill 来绘制类似的填充图.例11:用函数fill 绘制填充图x=0:pi/60:2*pi;y=sin(x);x1=0:pi/60:1;y1=sin(x1);plot(x,y,'r');hold onfill([x1 1],[y1 0],'g')图4.1.6.2填充图三维作图mesh(Z)语句可以给出矩阵Z 元素的三维消隐图,网络表面由Z 坐标点定义,与前面叙述的x-y 平面的线格相同,图形由邻近的点连接而成.它可用来显示用其它方式难以输出的包含大量数据的大型矩阵,也可用来绘制Z 变量函数.显示两变量的函数Z=f(x,y),第一步需产生特定的行和列的x-y 矩阵.然后计算函数在各网格点上的值.最后用mesh 函数输出.下面我们绘制sin(r)/r 函数的图形.建立图形用以下方法:x=-8:.5:8;y=x';x=ones(size(y))*x;y=y*ones(size(y))';R=sqrt(x.^2+y.^2)+eps;z=sin(R)./R;mesh(z) %% 试运行mesh(x,y,z),看看与mesh(z)有什么不同之处?(坐标问题)各语句的意义是:首先建立行向量x,列向量y;然后按向量的长度建立1- 矩阵;用向量乘以产生的1-矩阵,生成网格矩阵,它们的值对应于x-y 坐标平面;接下来计算各网格点的半径;最后计算函数值矩阵Z.用mesh 函数即可以得到图形.图4.2.1三维消隐图第一条语句x 的赋值为定义域,在其上估计函数;第三条语句建立一个重复行的x 矩阵,第四条语句产生y 的响应,第五条语句产生矩阵R(其元素为各网格点到原点的距离).用mesh 方法结果如上.(1) meshc 与函数mesh 的调用方式相同,只是该函数在 mesh 的基础上又增加了绘制相应等高线的功能.下面来看一个 meshc 的例子:[x,y]=meshgrid([-4:.5:4]);z=sqrt(x.^2+y.^2);meshc(z)%% 试运行 meshc(x,y,z),看看与 meshc(z)有什么不同之处?我们可以得到图形:图4.2.2.1 meshc 图地面上的圆圈就是上面图形的等高线.另外,上述命令系列中的前4行可用以下一条命令替代:[x, y]=meshgrid(-8:0.5:8)[x,y]=meshgrid([-4:.5:4]); z=sqrt(x.^2+y.^2);meshz(z) %% 试运行meshz(x,y,z),看看与meshz(z)有什么不同之处?我们得到图形:图4.2.2.2 meshz 图(1)在Matlab 中有一个专门绘制圆球体的函数sphere,其调用格式如下:(2)函数meshz 与mesh 的调用方式也相同,不同的是该函数在mesh 函数的作用之上增加了屏蔽作用,即增加了边界面屏蔽.例如:此函数生成三个(n+1)×(n+1)阶的矩阵,再利用函数surf(x,y,z)可生成单位球面.[x,y,z]=sphere 此形式使用了默认值n=20sphere(n) 只绘制球面图,不返回值.运行下面程序:sphere(30);axis square;我们得到球体图形:图4.2.3.1 球面图若只输入sphere 画图,则是默认了n=20的情况.(2) surf 函数也是Matlab 中常用的三维绘图函数.其调用格式如下:[x,y,z]=sphere(n)%绘制地球表面的气温分布示意图.[a,b,c]=sphere(40);t=abs(c); %求绝对值surf(a,b,c,t);axis equalcolormap('hot')我们可以得到图形如下:surf(x,y,z,c)输入参数的设置与mesh 相同,不同的是mesh 函数绘制的是一网格图,而surf 绘制的是着色的三维表面.Matlab 语言对表面进行着色的方法是,在得到相应网格后,对每一网格依据该网格所代表的节点的色值(由变量c 控制),来定义这一网格的颜色.若不输入c,则默认为c=z.我们看下面的例子:图4.2.3.2 等温线示意图(1)坐标轴的控制函数axis,调用格式如下:axis([xmin,xmax,ymin,ymax,zmin,zmax])用此命令可以控制坐标轴的范围.与axis 相关的几条常用命令还有:axis auto 自动模式,使得图形的坐标范围满足图中一切图元素axis equal 严格控制各坐标的分度使其相等axis square 使绘图区为正方形axis on 恢复对坐标轴的一切设置axis off 取消对坐标轴的一切设置axis manual 以当前的坐标限制图形的绘制(2)grid on 在图形中绘制坐标网格.grid off 取消坐标网格.(3)xlabel, ylabel, zlabel 分别为x 轴, y 轴, z 轴添加标注.title 为图形添加标题.以上函数的调用格式大同小异,我们以xlabel 为例进行介绍:xlabel('标注文本','属性1','属性值1','属性2','属性值2',…)这里的属性是标注文本的属性,包括字体大小、字体名、字体粗细等.例如:[x, y]=meshgrid(-4:.2:4);R=sqrt(x.^2+y.^2);z=-cos(R);mesh(x,y,z)xlabel('x\in[-4,4]','fontweight','bold');ylabel('y\in[-4,4]','fontweight','bold');zlabel('z=-cos(sqrt(x^2+y^2))','fontweight','bold');title('旋转曲面','fontsize',15,'fontweight','bold','fontname','隶书');图4.2.4.1添加标注以上各种绘图方法的详细用法,请看联机信息.对平面上n 个点:在平面直线族{ 为实数}中寻求一条直线,使得散点到与散点相对应的在直线上的点之间的纵坐标的误差的平方和最小,用微积分的方法可得:所求得的这条直线:称为回归直线.例:已知如下点列,求其回归直线,并计算最小误差平方和.x 0.1 0.1 .12 .13 .14 .15 .16 .17 .18 .2 .21 .23 1y 42 43. 45 45. 45 47. 49 53 50 55 55 605 5 5参考的程序如下:x=[0.1 0.11 .12 .13 .14 .15 .16 .17 .18 .2 .21 .23];y=[42 43.5 45 45.5 45 47.5 49 53 50 55 55 60];n=length(x);xb=mean(x);yb=mean(y);x2b=sum(x.^2)/n;xyb=x*y'/n;b=(xb*yb-xyb)/(xb^2-x2b);a=yb-b*xb;y1=a+b.*x;plot(x,y,'*',x,y1);serror=sum((y-y1).^2)。

相关文档
最新文档