MATLAB绘图常用示例语句
matlab常用指令
matlab常用指令MATLAB是一款非常实用的科学计算软件,在使用过程中,一些常用的指令是非常必要的。
在本篇文章中,我们将会介绍MATLAB常用指令,以使你更加熟练掌握MATLAB的使用。
一、基本数学运算+ 加- 减* 乘/ 除^ 幂(指数)sqrt 平方根exp 取指数log 取自然对数log10 取以10为底的对数sin 正弦cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切abs 绝对值rem 模运算fix 向零取整floor 向负无穷取整ceil 向正无穷取整round 四舍五入mod 取摸余数二、变量与矩阵1、赋值:通过等号将数值赋给变量,如:a=3;b=2.1;c=2+3i;2、数列:建立一个等差数组,例如:d=1:10; %1到10的等差数列e=linspace(0,2*pi,100); %0到2*pi之间的100个等间距点 a=[1 2 3;4 5 6;7 8 9];b=zeros(2,3);c=ones(3,2);d=rand(3,3);e=eye(4);4、矩阵元素操作:通过下标访问矩阵中的元素,例如:a(1,2) %输出a矩阵第一行第二列的元素b(2,3)=7 %将b矩阵第二行第三列的元素赋为75、矩阵运算:矩阵加减乘除,如:a+b %对应元素相加a-b %对应元素相减a*b %矩阵乘法a/b %矩阵除法a' %矩阵转置6、矩阵函数:除了使用基本操作外,还能使用各种矩阵相关函数完成矩阵计算,例如:inv(a) %矩阵求逆det(a) %矩阵求行列式trace(a) %矩阵求迹eig(a) %求特征值rank(a) %矩阵的秩size(a) %返回矩阵的大小max(a) %求矩阵元素最大值min(a) %求矩阵元素最小值sum(a) %求矩阵元素的和prod(a) %求矩阵所有元素的乘积mean(a) %求矩阵元素的平均值三、绘图1、二维绘图:绘制二维函数的曲线、散点图等,例如:x=linspace(-3,3,100); %生成-3到3之间的100个等间距点y=sin(x);plot(x,y); %绘制正弦函数曲线plot(x,y,'r--'); %绘制红色的正弦函数曲线,形状为虚线xlabel('x values');ylabel('y values');title('sine function');grid on;四、数据处理1、数据导入:在MATLAB中,可以通过各种方式将数据导入,如:a=load('filename.txt'); %从文件中载入数据b=xlsread('filename.xls'); %从Excel文件中载入数据五、编程1、条件语句:通过条件语句实现程序的分支结构,例如:if(a<0)disp('a is negative');elseif(a==0)disp('a is zero');elsedisp('a is positive');endfor i=1:10disp(i);end3、函数:在MATLAB中,可以自定义函数,函数调用格式为:function [out1,out2,...]=function_name(in1,in2,...)%函数说明%计算过程end4、脚本:在MATLAB中,脚本是一些命令或函数的集合,可以将脚本保存到文件中执行,例如:%脚本说明a=1;b=2;c=a+b;disp(c);以上便是MATLAB一些常用指令的详细介绍。
matlab各种三维绘图及实例
Matlab绘制三维图形三维曲线plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同.当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线.当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数.例绘制三维曲线。
程序如下:t=0:pi/100:20*pi;x=sin(t);y=cos(t);z=t。
*sin(t).*cos(t);plot3(x,y,z);title(’Line in 3—D Space’);xlabel(’X’);ylabel(’Y’);zlabel('Z');三维曲面1.产生三维数据在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵.其格式为:x=a:d1:b; y=c:d2:d;[X,Y]=meshgrid(x,y);语句执行后,矩阵X的每一行都是向量x,行数等于向量y的元素的个数,矩阵Y的每一列都是向量y,列数等于向量x的元素的个数。
2.绘制三维曲面的函数surf函数和mesh函数的调用格式为:mesh(x,y,z,c):画网格曲面,将数据点在空间中描出,并连成网格。
surf(x,y,z,c):画完整曲面,将数据点所表示曲面画出。
一般情况下,x,y,z是维数相同的矩阵。
x,y是网格坐标矩阵,z是网格点上的高度矩阵,c用于指定在不同高度下的颜色范围。
例绘制三维曲面图z=sin(x+sin(y))-x/10。
程序如下:[x,y]=meshgrid(0:0。
25:4*pi); %在[0,4pi]×[0,4pi]区域生成网格坐标z=sin(x+sin(y))—x/10;mesh(x,y,z);axis([0 4*pi 0 4*pi -2。
matlab编程实例100例
1-32是:图形应用篇33-66是:界面设计篇67-84是:图形处理篇85-100是:数值分析篇实例1:三角函数曲线(1)function shili01h0=figure('toolbar','none',...'position',[198 56 350 300],...'name','实例01');h1=axes('parent',h0,...'visible','off');x=-pi:0.05:pi;y=sin(x);plot(x,y);xlabel('自变量X');ylabel('函数值Y');title('SIN( )函数曲线');grid on实例2:三角函数曲线(2)function shili02h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例02');x=-pi:0.05:pi;y=sin(x)+cos(x);plot(x,y,'-*r','linewidth',1);grid onxlabel('自变量X');ylabel('函数值Y');title('三角函数');实例3:图形的叠加function shili03h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例03');x=-pi:0.05:pi;y1=sin(x);y2=cos(x);plot(x,y1,...'-*r',...x,y2,...'--og');grid onxlabel('自变量X');ylabel('函数值Y');title('三角函数');实例4:双y轴图形的绘制function shili04h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例04');x=0:900;a=1000;b=0.005;y1=2*x;y2=cos(b*x);[haxes,hline1,hline2]=plotyy(x,y1,x,y2,'semilogy','plot'); axes(haxes(1))ylabel('semilog plot');axes(haxes(2))ylabel('linear plot');实例5:单个轴窗口显示多个图形function shili05h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例05');t=0:pi/10:2*pi;[x,y]=meshgrid(t);subplot(2,2,1)plot(sin(t),cos(t))axis equalsubplot(2,2,2)z=sin(x)-cos(y);plot(t,z)axis([0 2*pi -2 2])subplot(2,2,3)h=sin(x)+cos(y);plot(t,h)axis([0 2*pi -2 2])subplot(2,2,4)g=(sin(x).^2)-(cos(y).^2);plot(t,g)axis([0 2*pi -1 1])实例6:图形标注function shili06h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例06');t=0:pi/10:2*pi;h=plot(t,sin(t));xlabel('t=0到2\pi','fontsize',16);ylabel('sin(t)','fontsize',16);title('\it{从0to2\pi 的正弦曲线}','fontsize',16) x=get(h,'xdata');y=get(h,'ydata');imin=find(min(y)==y);imax=find(max(y)==y);text(x(imin),y(imin),...['\leftarrow最小值=',num2str(y(imin))],...'fontsize',16)text(x(imax),y(imax),...['\leftarrow最大值=',num2str(y(imax))],...'fontsize',16)实例7:条形图形function shili07h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例07');tiao1=[562 548 224 545 41 445 745 512];tiao2=[47 48 57 58 54 52 65 48];t=0:7;bar(t,tiao1)xlabel('X轴');ylabel('TIAO1值');h1=gca;h2=axes('position',get(h1,'position'));plot(t,tiao2,'linewidth',3)set(h2,'yaxislocation','right','color','none','xticklabel',[]) 实例8:区域图形function shili08h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例08');x=91:95;profits1=[88 75 84 93 77];profits2=[51 64 54 56 68];profits3=[42 54 34 25 24];profits4=[26 38 18 15 4];area(x,profits1,'facecolor',[0.5 0.9 0.6],...'edgecolor','b',...'linewidth',3)hold onarea(x,profits2,'facecolor',[0.9 0.85 0.7],...'edgecolor','y',...'linewidth',3)hold onarea(x,profits3,'facecolor',[0.3 0.6 0.7],...'edgecolor','r',...'linewidth',3)hold onarea(x,profits4,'facecolor',[0.6 0.5 0.9],...'edgecolor','m',...'linewidth',3)hold offset(gca,'xtick',[91:95])set(gca,'layer','top')gtext('\leftarrow第一季度销量')gtext('\leftarrow第二季度销量')gtext('\leftarrow第三季度销量')gtext('\leftarrow第四季度销量')xlabel('年','fontsize',16);ylabel('销售量','fontsize',16);实例9:饼图的绘制function shili09h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例09');t=[54 21 35;68 54 35;45 25 12;48 68 45;68 54 69];x=sum(t);h=pie(x);textobjs=findobj(h,'type','text');str1=get(textobjs,{'string'});val1=get(textobjs,{'extent'});oldext=cat(1,val1{:});names={'商品一:';'商品二:';'商品三:'};str2=strcat(names,str1);set(textobjs,{'string'},str2)val2=get(textobjs,{'extent'});newext=cat(1,val2{:});offset=sign(oldext(:,1)).*(newext(:,3)-oldext(:,3))/2; pos=get(textobjs,{'position'});textpos=cat(1,pos{:});textpos(:,1)=textpos(:,1)+offset;set(textobjs,{'position'},num2cell(textpos,[3,2]))实例10:阶梯图function shili10h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例10');a=0.01;b=0.5;t=0:10;f=exp(-a*t).*sin(b*t);stairs(t,f)hold onplot(t,f,':*')hold offglabel='函数e^{-(\alpha*t)}sin\beta*t的阶梯图'; gtext(glabel,'fontsize',16)xlabel('t=0:10','fontsize',16)axis([0 10 -1.2 1.2])实例11:枝干图function shili11h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例11');x=0:pi/20:2*pi;y1=sin(x);y2=cos(x);h1=stem(x,y1+y2);hold onh2=plot(x,y1,'^r',x,y2,'*g');hold offh3=[h1(1);h2];legend(h3,'y1+y2','y1=sin(x)','y2=cos(x)') xlabel('自变量X');ylabel('函数值Y');title('正弦函数与余弦函数的线性组合');实例12:罗盘图function shili12h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例12');winddirection=[54 24 65 84256 12 235 62125 324 34 254];windpower=[2 5 5 36 8 12 76 14 10 8];rdirection=winddirection*pi/180;[x,y]=pol2cart(rdirection,windpower); compass(x,y);desc={'风向和风力','气象台','10月1日0:00到','10月1日12:00'};gtext(desc)实例13:轮廓图function shili13h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例13');[th,r]=meshgrid((0:10:360)*pi/180,0:0.05:1); [x,y]=pol2cart(th,r);z=x+i*y;f=(z.^4-1).^(0.25);contour(x,y,abs(f),20)axis equalxlabel('实部','fontsize',16);ylabel('虚部','fontsize',16);h=polar([0 2*pi],[0 1]);delete(h)hold oncontour(x,y,abs(f),20)实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold onx=[];y=[];n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点'); but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo')n=n+1;disp('单击鼠标左键点取下一个点');x(n,1)=xi;y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,'r-');hold off实例14:交互式图形function shili14h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例14');axis([0 10 0 10]);hold onx=[];y=[];n=0;disp('单击鼠标左键点取需要的点'); disp('单击鼠标右键点取最后一个点'); but=1;while but==1[xi,yi,but]=ginput(1);plot(xi,yi,'bo')n=n+1;disp('单击鼠标左键点取下一个点');x(n,1)=xi;y(n,1)=yi;endt=1:n;ts=1:0.1:n;xs=spline(t,x,ts);ys=spline(t,y,ts);plot(xs,ys,'r-');hold off实例15:变换的傅立叶函数曲线function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15');axis equalm=moviein(20,gcf);set(gca,'nextplot','replacechildren') h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20) for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);endclf;axes('position',[0 0 1 1]);movie(m,30)实例16:劳伦兹非线形方程的无序活动function shili15h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例15');axis equalm=moviein(20,gcf);set(gca,'nextplot','replacechildren') h=uicontrol('style','slider','position',...[100 10 500 20],'min',1,'max',20) for j=1:20plot(fft(eye(j+16)))set(h,'value',j)m(:,j)=getframe(gcf);endclf;axes('position',[0 0 1 1]);movie(m,30)实例17:填充图function shili17h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例17');t=(1:2:15)*pi/8;x=sin(t);y=cos(t);fill(x,y,'r')axis square offtext(0,0,'STOP',...'color',[1 1 1],...'fontsize',50,...'horizontalalignment','center') 例18:条形图和阶梯形图function shili18h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例18');subplot(2,2,1)x=-3:0.2:3;y=exp(-x.*x);bar(x,y)title('2-D Bar Chart')subplot(2,2,2)x=-3:0.2:3;y=exp(-x.*x);bar3(x,y,'r')title('3-D Bar Chart')subplot(2,2,3)x=-3:0.2:3;y=exp(-x.*x);stairs(x,y)title('Stair Chart')subplot(2,2,4)x=-3:0.2:3;y=exp(-x.*x);barh(x,y)title('Horizontal Bar Chart')实例19:三维曲线图function shili19h0=figure('toolbar','none',...'position',[200 150 450 400],...'name','实例19');subplot(2,1,1)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x));z2=0.5*z1;z3=z1;plot3(x,y1,z1,x,y2,z2,x,y3,z3)grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:3-D Plot')subplot(2,1,2)x=linspace(0,2*pi);y1=sin(x);y2=cos(x);y3=sin(x)+cos(x);z1=zeros(size(x));z2=0.5*z1;z3=z1;plot3(x,z1,y1,x,z2,y2,x,z3,y3)grid onxlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:3-D Plot')实例20:图形的隐藏属性function shili20h0=figure('toolbar','none',...'position',[200 150 450 300],...'name','实例20');subplot(1,2,1)[x,y,z]=sphere(10);mesh(x,y,z)axis offtitle('Figure1:Opaque')hidden onsubplot(1,2,2)[x,y,z]=sphere(10);mesh(x,y,z)axis offtitle('Figure2:Transparent') hidden off实例21PEAKS函数曲线function shili21h0=figure('toolbar','none',...'position',[200 100 450 450],...'name','实例21');[x,y,z]=peaks(30);subplot(2,1,1)x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j);surfc(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure1:surfc函数形成的曲面') subplot(2,1,2)x=x(1,:);y=y(:,1);i=find(y>0.8&y<1.2);j=find(x>-0.6&x<0.5);z(i,j)=nan*z(i,j);surfl(x,y,z)xlabel('X轴');ylabel('Y轴');zlabel('Z轴');title('Figure2:surfl函数形成的曲面')实例22:片状图function shili22h0=figure('toolbar','none',...'position',[200 150 550 350],...'name','实例22');subplot(1,2,1)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trimesh(t,x,y,z)hidden offtitle('Figure1:Triangular Surface Plot'); subplot(1,2,2)x=rand(1,20);y=rand(1,20);z=peaks(x,y*pi);t=delaunay(x,y);trisurf(t,x,y,z)title('Figure1:Triangular Surface Plot'); 实例23:视角的调整function shili23h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例23');x=-5:0.5:5;[x,y]=meshgrid(x);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;subplot(2,2,1)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure1')view(-37.5,30)subplot(2,2,2)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure2')view(-37.5+90,30)subplot(2,2,3)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure3')view(-37.5,60)subplot(2,2,4)surf(x,y,z)xlabel('X-axis')ylabel('Y-axis')zlabel('Z-axis')title('Figure4')view(180,0)实例24:向量场的绘制function shili24h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例24');subplot(2,2,1)z=peaks;ribbon(z)title('Figure1')subplot(2,2,2)[x,y,z]=peaks(15);[dx,dy]=gradient(z,0.5,0.5); contour(x,y,z,10)hold onquiver(x,y,dx,dy)hold offtitle('Figure2')subplot(2,2,3)[x,y,z]=peaks(15);[nx,ny,nz]=surfnorm(x,y,z);surf(x,y,z)hold onquiver3(x,y,z,nx,ny,nz)hold offtitle('Figure3')subplot(2,2,4)x=rand(3,5);y=rand(3,5);z=rand(3,5);c=rand(3,5);fill3(x,y,z,c)grid ontitle('Figure4')实例25:灯光定位function shili25h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例25');vert=[1 1 1;1 2 1;2 2 1;2 1 1;1 1 2;12 2;2 2 2;2 1 2];fac=[1 2 3 4;2 6 7 3;4 3 7 8;15 8 4;1 2 6 5;5 6 7 8];grid offsphere(36)h=findobj('type','surface');set(h,'facelighting','phong',...'facecolor',...'interp',...'edgecolor',[0.4 0.4 0.4],...'backfacelighting',...'lit')hold onpatch('faces',fac,'vertices',vert,...'facecolor','y');light('position',[1 3 2]);light('position',[-3 -1 3]); material shinyaxis vis3d offhold off实例26:柱状图function shili26h0=figure('toolbar','none',...'position',[200 50 450 450],...'name','实例26');subplot(2,1,1)x=[5 2 18 7 39 8 65 5 54 3 2];bar(x)xlabel('X轴');ylabel('Y轴');title('第一子图');subplot(2,1,2)y=[5 2 18 7 39 8 65 5 54 3 2];barh(y)xlabel('X轴');ylabel('Y轴');title('第二子图');实例27:设置照明方式function shili27h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例27');subplot(2,2,1)sphereshading flatcamlight leftcamlight rightlighting flatcolorbaraxis offtitle('Figure1')subplot(2,2,2)sphereshading flatcamlight leftcamlight rightlighting gouraudcolorbaraxis offtitle('Figure2')subplot(2,2,3)sphereshading interpcamlight rightcamlight leftlighting phongcolorbaraxis offtitle('Figure3')subplot(2,2,4)sphereshading flatcamlight leftcamlight rightlighting nonecolorbaraxis offtitle('Figure4')实例28:羽状图function shili28h0=figure('toolbar','none',...'position',[200 150 450 350],...'name','实例28');subplot(2,1,1)alpha=90:-10:0;r=ones(size(alpha));m=alpha*pi/180;n=r*10;[u,v]=pol2cart(m,n);feather(u,v)title('羽状图')axis([0 20 0 10])subplot(2,1,2)t=0:0.5:10;x=0.05+i;y=exp(-x*t);feather(y)title('复数矩阵的羽状图')实例29:立体透视(1)function shili29h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例29');[x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2);grid onfor i=-2:0.5:2;h1=surf(linspace(-2,2,20),...linspace(-2,2,20),...zeros(20)+i);rotate(h1,[1 -1 1],30)dx=get(h1,'xdata');dy=get(h1,'ydata');dz=get(h1,'zdata');delete(h1)slice(x,y,z,v,[-2 2],2,-2)hold onslice(x,y,z,v,dx,dy,dz)hold offaxis tightview(-5,10)drawnowend实例30:立体透视(2)function shili30h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例30');[x,y,z]=meshgrid(-2:0.1:2,...-2:0.1:2,...-2:0.1:2);v=x.*exp(-x.^2-y.^2-z.^2); [dx,dy,dz]=cylinder;slice(x,y,z,v,[-2 2],2,-2)for i=-2:0.2:2h=surface(dx+i,dy,dz);rotate(h,[1 0 0],90)xp=get(h,'xdata');yp=get(h,'ydata');zp=get(h,'zdata');delete(h)hold onhs=slice(x,y,z,v,xp,yp,zp);axis tightxlim([-3 3])view(-10,35)drawnowdelete(hs)hold offend实例31:表面图形function shili31h0=figure('toolbar','none',...'position',[200 150 550 250],...'name','实例31');subplot(1,2,1)x=rand(100,1)*16-8;y=rand(100,1)*16-8;r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;xlin=linspace(min(x),max(x),33); ylin=linspace(min(y),max(y),33); [X,Y]=meshgrid(xlin,ylin);Z=griddata(x,y,z,X,Y,'cubic'); mesh(X,Y,Z)axis tighthold onplot3(x,y,z,'.','Markersize',20)subplot(1,2,2)k=5;n=2^k-1;theta=pi*(-n:2:n)/n;phi=(pi/2)*(-n:2:n)'/n;X=cos(phi)*cos(theta);Y=cos(phi)*sin(theta);Z=sin(phi)*ones(size(theta));colormap([0 0 0;1 1 1])C=hadamard(2^k);surf(X,Y,Z,C)axis square实例32:沿曲线移动的小球h0=figure('toolbar','none',...'position',[198 56 408 468],...'name','实例32');h1=axes('parent',h0,...'position',[0.15 0.45 0.7 0.5],...'visible','on');t=0:pi/24:4*pi;y=sin(t);plot(t,y,'b')n=length(t);h=line('color',[0 0.5 0.5],...'linestyle','.',...'markersize',25,...'erasemode','xor');k1=uicontrol('parent',h0,...'style','pushbutton',...'position',[80 100 50 30],...'string','开始',...'callback',[...'i=1;',...'k=1;,',...'m=0;,',...'while 1,',...'if k==0,',...'break,',...'end,',...'if k~=0,',...'set(h,''xdata'',t(i),''ydata'',y(i)),',...'drawnow;,',...'i=i+1;,',...'if i>n,',...'m=m+1;,',...'i=1;,',...'end,',...'end,',...'end']);k2=uicontrol('parent',h0,...'style','pushbutton',...'position',[180 100 50 30],...'string','停止',...'callback',[...'k=0;,',...'set(e1,''string'',m),',...'p=get(h,''xdata'');,',...'q=get(h,''ydata'');,',...'set(e2,''string'',p);,',...'set(e3,''string'',q)']); k3=uicontrol('parent',h0,...'style','pushbutton',...'position',[280 100 50 30],...'string','关闭',...'callback','close');e1=uicontrol('parent',h0,...'style','edit',...'position',[60 30 60 20]);t1=uicontrol('parent',h0,...'style','text',...'string','循环次数',...'position',[60 50 60 20]);e2=uicontrol('parent',h0,...'style','edit',...'position',[180 30 50 20]); t2=uicontrol('parent',h0,...'style','text',...'string','终点的X坐标值',...'position',[155 50 100 20]); e3=uicontrol('parent',h0,...'style','edit',...'position',[300 30 50 20]); t3=uicontrol('parent',h0,...'style','text',...'string','终点的Y坐标值',...'position',[275 50 100 20]);实例33:曲线转换按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例33');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhuidiao=[...'if i==1,',...'i=0;,',...'y=cos(x);,',...'delete(h),',...'set(hm,''string'',''正弦函数''),',...'h=plot(x,y);,',...'grid on,',...'else if i==0,',...'i=1;,',...'y=sin(x);,',...'set(hm,''string'',''余弦函数''),',...'delete(h),',...'h=plot(x,y);,',...'grid on,',...'end,',...'end'];hm=uicontrol(gcf,'style','pushbutton',...'string','余弦函数',...'callback',huidiao);i=1;set(hm,'position',[250 20 60 20]);set(gca,'position',[0.2 0.2 0.6 0.6])title('按钮的使用')hold on实例34:栅格控制按钮h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例34');x=0:0.5:2*pi;y=sin(x);plot(x,y)huidiao1=[...'set(h_toggle2,''value'',0),',...'grid on,',...];huidiao2=[...'set(h_toggle1,''value'',0),',...'grid off,',...];h_toggle1=uicontrol(gcf,'style','togglebutton',...'string','grid on',...'value',0,...'position',[20 45 50 20],...'callback',huidiao1);h_toggle2=uicontrol(gcf,'style','togglebutton',...'string','grid off',...'value',0,...'position',[20 20 50 20],...'callback',huidiao2);set(gca,'position',[0.2 0.2 0.6 0.6])title('开关按钮的使用')实例35:编辑框的使用h0=figure('toolbar','none',...'position',[200 150 350 250],...'name','实例35');f='Please input the letter';huidiao1=[...'g=upper(f);,',...'set(h2_edit,''string'',g),',...];huidiao2=[...'g=lower(f);,',...'set(h2_edit,''string'',g),',...];h1_edit=uicontrol(gcf,'style','edit',...'position',[100 200 100 50],...'HorizontalAlignment','left',...'string','Please input the letter',...'callback','f=get(h1_edit,''string'');',...'background','w',...'max',5,...'min',1);h2_edit=uicontrol(gcf,'style','edit',...'HorizontalAlignment','left',...'position',[100 100 100 50],...'max',5,...'min',1);h1_button=uicontrol(gcf,'style','pushbutton',...'string','小写变大写',...'position',[100 45 100 20],...'callback',huidiao1);h2_button=uicontrol(gcf,'style','pushbutton',...'string','大写变小写',...'position',[100 20 100 20],...'callback',huidiao2);实例36:弹出式菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例36');x=0:0.5:2*pi;y=sin(x);h=plot(x,y);grid onhm=uicontrol(gcf,'style','popupmenu',...'string',...'sin(x)|cos(x)|sin(x)+cos(x)|exp(-sin(x))',...'position',[250 20 50 20]);set(hm,'value',1)huidiao=[...'v=get(hm,''value'');,',...'switch v,',...'case 1,',...'delete(h),',...'y=sin(x);,',...'h=plot(x,y);,',...'grid on,',...'case 2,',...'delete(h),',...'y=cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 3,',...'delete(h),',...'y=sin(x)+cos(x);,',...'h=plot(x,y);,',...'grid on,',...'case 4,',...'y=exp(-sin(x));,',...'h=plot(x,y);,',...'grid on,',...'end'];set(hm,'callback',huidiao)set(gca,'position',[0.2 0.2 0.6 0.6])title('弹出式菜单的使用')实例37:滑标的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例37');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;h0=mesh(x,y,z);h1=axes('position',...[0.2 0.2 0.5 0.5],...'visible','off');htext=uicontrol(gcf,...'units','points',...'position',[20 30 45 15],...'string','brightness',...'style','text');hslider=uicontrol(gcf,...'units','points',...'position',[10 10 300 15],...'min',-1,...'max',1,...'style','slider',...'callback',...'brighten(get(hslider,''value''))');实例38:多选菜单h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例38');[x,y]=meshgrid(-8:0.5:8);r=sqrt(x.^2+y.^2)+eps;z=sin(r)./r;h0=mesh(x,y,z);hlist=uicontrol(gcf,'style','listbox',...'string','default|spring|summer|autumn|winter',...'max',5,...'min',1,...'position',[20 20 80 100],...'callback',[...'k=get(hlist,''value'');,',...'switch k,',...'case 1,',...'colormap default,',...'case 2,',...'colormap spring,',...'case 3,',...'colormap summer,',...'case 4,',...'colormap autumn,',...'case 5,',...'colormap winter,',...'end']);实例39:菜单控制的使用h0=figure('toolbar','none',...'position',[200 150 450 250],...'name','实例39');x=0:0.5:2*pi;y=cos(x);h=plot(x,y);grid onset(gcf,'toolbar','none')hm=uimenu('label','example');huidiao1=[...'set(hm_gridon,''checked'',''on''),',...'set(hm_gridoff,''checked'',''off''),',...'grid on'];huidiao2=[...'set(hm_gridoff,''checked'',''on''),',...'set(hm_gridon,''checked'',''off''),',...'grid off'];hm_gridon=uimenu(hm,'label','grid on',...'checked','on',...'callback',huidiao1);hm_gridoff=uimenu(hm,'label','grid off',...'checked','off',...'callback',huidiao2);实例40:UIMENU菜单的应用。
Matlab 绘图大全
要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:
plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)
例1-6 在同一坐标内,分别用不同线型和颜色绘制曲线y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点。
title('bar(x,y,''g'')');axis([0,7,-2,2]);
subplot(2,2,2);stairs(x,y,'b');
title('stairs(x,y,''b'')');axis([0,7,-2,2]);
subplot(2,2,3);stem(x,y,'k');
例1-7 在0≤x≤2p区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。
程序如下:
x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}'); %加图形标题
1.6 对函数自适应采样的绘图函数
fplot函数的调用格式为:
fplot(fname,lims,tol,选项)
其中fname为函数名,以字符串形式出现,lims为x,y的取值范围,tol为相对允许误差,其系统 默认值为2e-3。选项定义与plot函数相同。
axis off:取消坐标轴。
axis on:显示 坐标轴。
给坐标加网格线用grid命令来控制。grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
MATLAB(matlab)二维绘图fplot语句的应用示例汇总(非常全面)
Matlab二维绘图fplot语句的帮助应用示例一、每种语句格式的使用说明二、每种语句格式的应用示例(1)fplot(f)应用举例fplot(@(x)cos(x));(2)fplot (f, xinterval) 应用举例:xinterval——[Xmin, Xmax] fplot(@(x)cos(x), [-pi,pi]);(3)fplot (funx, funy)应用举例——相当于画带参数的函数(4)fplot( funx, funy, tinterval)应用举例:tinterval——[tmin tmax](5)fplot(___, LineSpec)的应用举例fplot(@(x)exp(x),[-3 0],'--*y');hold on; %在一张图上画多个函数fplot(@(x)cos(x),[0 3],'-.^b');fplot(@(x)sin(x),[3,6],'-+g');grid on %加网格线(6)fplot (___,Name, Value)的应用举例绘制具有不同相位的三个正弦波。
对于第一个,使用 2 磅的线宽。
对于第二个,指定带有圆圈标记的红色虚线线型。
对于第三个,指定带有星号标记的青蓝色点划线线型。
其中第一条语句的’Linewidth’对应name;2对应value。
后附线条属性及各种标记的值,及常用的name, value的值(7)fplot(ax,___)的应用举例(8)fp = fplot(___)的应用举例通过使用圆点表示法设置属性,将线条更改为红色点线。
添加交叉标记,并将标记颜色设置为蓝色。
(9)[x,y] = fplot(___)的应用举例添加标题和轴标签添加标题和轴标签并格式化刻度使用gca 访问当前坐标轴对象。
沿x 轴以为间隔显示刻度线。
通过设置坐标轴对象的XTick 和XTickLabel 属性,格式化x 轴刻度值。
matlab画图常用命令
matlab画图常用命令clc 清理命令窗口历史内容clear 清除所有内存存储的变量值clf 清除图形whos 显示各变量信息sqrt 开方edit 开编辑窗口linspace(a,b,N) 定义等差数列,a初值,b末值,N步数(即数据个数)logspace(a,b,N) 定义等比数列,初值10^a,末值10^b,N步数(即数据个数)A.*B 矩阵点乘,对应项相乘A./B 矩阵点除A.^B 矩阵点方(指数相同也要用点方)A=[a:n:b] 定义以a为开始,步长为n的等差数列,最后一个数不超过b(n省略代表步长为1)A' 矩阵转置A=[B,C;D] 矩阵拼凑e *10^exp e^format long 后续数据显示小数点后15位format short 后续数据显示小数点后4位format bank 后续数据显示小数点后2位(不适用于复数)format long/short e 后续数据科学技术法显示,并且小数点后15位/4位format long/short eng 后续数据类似科学技术法显示,但指数保持为3的整数倍,并且有效位数(15位+1/4位+1)format + 矩阵中各元素只显示正负,零为空格format rat 以分数形式显示有理数format long/short g Matlab自定最优显示load/save +文件名载入/储存工作区数据rem(a,b) a/b的余数size(A) A矩阵的大小[行数列数]ylim([0,1])help 打开帮助界面help+帮助界面中对应标题查看对应函数的使用nthroot(x,n) x的n次实数根sign(x) x大于零输出1;x等于零输出0;x小于零输出-1log10(x) lg(x)log(x) ln(x)【注:logb(a)=ln(a)/ln(b)】fix(x) 取整round(x) 对x四舍五入floor(x) 对x向负取整ceil(x) 对x向正取整factor(x) 对x因式分解gcd(a,b) 求a,b最大公约数lcm(a,b) 求a,b最小公倍数rats(x) 用分数表示xfactorial(x) x!nchoosek(n,k) 组合数n选kprimes(x) 找出小于x的素数isprime(x) x是素数,返回1sin(),cos(),tan()... 自变量为弧度asin(),acos(),atan()... 结果为弧度max(x),min(x) x适量中的最大、最小值[a,b]=max(A) A为一行时,a为最大值,b为最大值单行位置A为m行n列时,a为m行向量,对应各列最大值,b为m行向量,对应各列最大值在该列位置多个最大值时,位置默认第一个max(A,B) A、B同大,结果为A,B中对应位置最大值的汇总矩阵mean()/median()/mode() 求平均值/中位数/众数(众数选最小值)cumsum/cumprod(A) 求A的累加/累乘结果,生成与A同大小矩阵,(列运算)单矩阵运算sum/prod(A) A矩阵列求和/求积或求行向量和/积sort(A)/sort(A,'descend') 将A升序/降序排列(行向量自身升序/降序,矩阵列升序/降序)sortrows(A,n) 按第n列排列各行,n正升序,n负降序,n省略第一列升序size(x)/[a,b]=size(x) 返回[行数,列数]/给a、b赋值length(A) 矩阵A的最大长度(行数和列数的最大值)std(A) 求A的标准差(行向量自身求解,矩阵列求解)var(A) 求A的方差(行向量自身求解,矩阵列求解)rand/randn(m,n) 生成(0,1)m×n随机数矩阵/生成均值为0,标准差为1的高斯随机数矩阵(正态分布)【通过randn(m,n)*std+mean可得到均值为mean,标准差为std的正态分布随机数矩阵】A+B*i(complex(A,B)) 生成复数或复数矩阵real(A)/imag(A) 求实部/虚部isreal(A) 实数返回1coni(A) 求共轭【或用A'也可,但会发生行列互换】x为复数时abs(x)/angle(x) 求复数的模,与水平方向的夹角realmax/realmin 返回MATLAB能够使用的最大/最小浮点数intmax/intmin 返回MATLAB能够使用的最大/最小整数pi/i/j 圆周率/虚数/虚数clock 当前时间(一般使用fix(clock)增加可读性)date 返回日期,以字符串形式eps 返回MATLAB最小间隔矩阵A(n,:)/(:,m)【A(n,end)/(end,m)】A矩阵的第n行【最后一列】/第m列【最后一行】[A,B]=meshgrid(a,b),A.*B a,b为行向量,运行结果得a*b的m*n 维矩阵【meshgrid(x)等价于meshgrid(x,x)】zeros(m)/(m,n) m*m/m*n全零矩阵ones(m)/(m,n) m*m/m*n全一矩阵diag(A) 取对角元素为列向量diag(x) 若x为行向量或列向量,结果为对角阵其他元素为零diag(A,n/-n) 对角线右上/左下第n斜线上的元素fliplr(A)/flipud(A) A矩阵列/行进行对称翻转magic(m) 创建m*m维魔方矩阵作图xlabel/ylabel('') 添加x/y轴坐标title('') 添加表头grid 使图像出现网格figure(x) 创建或打开figure x窗口,之后作图均在该窗口进行hold on 保持图像窗口中之前的图像,进而在此作图不会清除之前图像(hold off取消)plot(x1,y1,x2,y2) 同时做两个图像plot(x) x为行向量,则以点数1至n为横轴,x为纵轴作图,按顺序依次连线plot(A) A为m*n矩阵,则图像为那条曲线,每条曲线横轴均为1至m,纵轴为相应列对应值plot(x,A) 以x为横轴,A的每一列为纵轴作图(x与A同维)plot(A,B) A与B需同维,对应列分别作为横轴和纵轴作图plot('标识符') 线型:-实线:点-.点画线--虚线点型:.点o圆圈xx形状+加号*星号s方形d菱形v下三角^上三角<左三角>右三角p五角星h六角星颜色:b蓝色g绿色r红色c青色m洋红色y黄色k黑色w白色【注】,多重输出可多重设定axis([a,b,c,d]) 限制图像x轴在[a,b],y轴在[c,d]legend('string1','string2',etc) 按照作图顺序添加图注text(x,y,'string') 在(x,y)处添加文本‘string’gtext('string') 添加文本‘string’,位置由鼠标点击确定【注】(适用于string形式)输入希腊字母需要'\'+希腊字母读法;^ 可出现上标,_ 可出现下标若想输出_或^,可用\+相应符号subplot(m,n,k) 将图形窗口划分成m行n列,所有的绘图操作都在一行一行数的第k个子图中进行【注】clf针对消除一个figure窗口内的内容,而plot等一系列操作针对一个子图中,且hold on/off被限于特定一个子图中,不影响其他子图polar(x,y) 绘制极图semilogx/semilogy(x,y) x轴对数,y轴线性/x轴线性,y轴对数作图loglog(x,y) 双对数坐标作图bar(x)/barh(x) x为矢量时,按x绘制垂直/水平条形图x为矩阵时,按各行分组绘制垂直/水平条形图bar3(x)/bar3h(x) 同上,绘制三维条形图pie(x)/pie3(x) 绘制(三维)饼状图。
matlab的常用指令及其含义
matlab的常用指令及其含义1、清除命令窗口clc2、清除变量clear3、清除figureclf4、生成一个图层figure()figure(1)figure('name','实例')gwin=figure('MenuBar','none','NumberTitle','off','Name','菜单创建演示','Position',[(rect(3)-N)/2,(rect(4)-N)/2,N,N],'Resize','off','Color','red');5、打印disp(a)fprintf('the value of pi is%6.2f\n',pi)6、字符串和数字转换str2num(123)num2str('123')7、取整函数floor(2.3)==2 %为向下取整ceil(2.3)==3 %为向上取整round(2.3)==2 %为取最接近的整数fix(-3.5)==-3 %为向0取整8、复数运算temp = complex(1,2) %构造函数,==2+5ireal(temp) == 1 %返回实部imag(temp)==5 %返回虚部abs(temp)==5.3852 %返回模conj(temp)==2-5i %返回共轭复数9、快速生成矩阵A=zeros(5) %5行5列的0矩阵B=ones(5) %5行5列的1矩阵A=zeros(m,n) %m行n列0矩阵B=ones(m,n) %m行n列1矩阵A=eye(5) %5行5列的单位矩阵B=rand(3,5) %3行5列的0~1之间的随机矩阵A=magic(5) %5行5列的魔方矩阵,注意这里行和列必须相同10、生成随机矩阵rand(1,5) %生成一个1行5列的矩阵,即行向量11、求最大值max12、数据库结果转矩阵data_mat = cell2mat(data_cell);data_cell是数据库返回的结果,data_mat是矩阵13、求转置矩阵a=[1; 2; 3];b=a.'; %点+单引号b->{1 2 3}14、打印时间disp(datestr(datetime('now')));15、将矩阵转化为列向量,即列矩阵B=A(:); %A是矩阵16、读取矩阵取前N行或N列A(1:2,:) %读取矩阵A的1~2行A(:,1:3) %读取矩阵A的1~3列17、矩阵运算(加、减、乘、除、点乘、点除等)(1)A+B; 表示矩阵A和矩阵B相加(各个元素对应相加);(2)A-B; 表示矩阵A和矩阵B相减(各个元素对应相减);(3)A*B; 表示矩阵A和矩阵B相乘;(4)A.*B; 表示矩阵A和矩阵B对应元素相乘(点乘);(5)A/B; 表示矩阵A与矩阵B相除法;(6)A./B; 表示矩阵A和矩阵B对应元素相除(点除);(7)A^B; 表示矩阵A的B次幂;(8)A.^B; 表示矩阵A的每个元素的B次幂18、获取数组的行数和列数[rows,colums]=size(cell_data); %cell_data是2行3列的数组,rows==2 colums==319、获取数组的指定行和指定列first = cell_data(1,:); %第一行所有列first = cell_data(:,1); %第一列所有行。
matlab里的plot的功能与用法(二)
matlab里的plot的功能与用法(二)MATLAB中plot函数的功能与用法简介plot函数是MATLAB中最常用的绘图函数之一,它用于绘制一维和二维图形。
通过plot函数,我们可以方便地绘制曲线、散点图、柱状图等各种图形。
本文将介绍plot函数的一些常用用法。
绘制基本曲线使用plot函数,可以绘制基本的曲线。
下面是一个简单的示例代码:x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y)参数说明•x:表示x轴上的数据点的取值,可以是向量或矩阵。
在上述示例代码中,我们使用了linspace函数生成了一个包含100个点的向量。
•y:表示y轴上的数据点的取值,也可以是向量或矩阵。
在示例代码中,我们计算了对应于x轴取值的正弦函数值。
绘制结果运行上述代码,可以绘制出一个以x为自变量,y为因变量的曲线图。
修改曲线样式plot函数允许我们修改绘图的样式,包括曲线的颜色、线型、标记等。
下面是一个示例代码:x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y, 'r--o')参数说明通过在plot函数的第三个参数位置传入一个字符串,我们可以控制绘图的样式: - 'r':表示曲线的颜色为红色。
- '--':表示曲线的线型为虚线。
- 'o':表示在每个数据点处绘制圆形标记。
绘制结果通过修改样式参数,我们可以得到一条红色的虚线,且在每个数据点处都有圆形标记的曲线图。
绘制多个曲线除了绘制单个曲线外,我们还可以在同一个图中绘制多个曲线。
下面是一个示例代码:x = linspace(0, 2*pi, 100);y1 = sin(x);y2 = cos(x);plot(x, y1, 'r')hold on % 开启绘图保持功能plot(x, y2, 'b--')legend('sin', 'cos')参数说明•y1和y2:分别表示两条曲线的因变量取值。
matlab画图大全[资料]
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 spineimage(X)colormap coolspinmap(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)6.四面体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);ribbon(y,z)三维流彩带图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)materialsphere;camlight色彩控制%色彩控制(1)缺省设置colordef、whitebg(2)色图colormap(3)浓淡处理shadingload 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')。
matlab-画图函数命令
例 在[0,pi]上画y=cos(x)的图形 解 输入命令 ezplot(‘sin(lab
liti25
例 在[0,2*pi]上画 x = cos t , y = sin t 星形图
Matlab 解 输入命令 ezplot(‘cos(t)^3’,’sin(t)^3’,[0.2*pi])
(2) figure(h)
新建h窗口,激活图形使其可见,并把它置 于其它图形之上
例
区间[0,2*pi]新建两个窗口分别画出y=sin(x); z=cos(x)。 解 x=linspace(0,2*pi,100); y=sin(x);z=cos(x); plot(x,y); Matlab liti6 title('sin(x)'); pause figure(2); plot(x,z); title('cos(x)');
(3)meshz(X,Y,Z) 在网格周围画一个curtain图(如,参考平面) 例 绘peaks的网格图
解 输入命令: [X,Y]=meshgrid(-3:.125:3); Z=praks(X,Y); Meshz(X,Y,Z) Matlab liti36
返回
在图形上加格栅、 在图形上加格栅、图例和标注
例 将屏幕分割为四块,并分别画出y=sin(x),z=cos(x), a=sin(x)*cos(x),b=sin(x)/cos(x)。 解x=linspace(0,2*pi,100); Matlab liti7 y=sin(x); z=cos(x); a=sin(x).*cos(x);b=sin(x)./(cos(x)+eps) subplot(2,2,1);plot(x,y),title(‘sin(x)’) subplot(2,2,2);plot(x,z),title(‘cos(x)’) subplot(2,2,3);plot(x,a),title(‘sin(x)cos(x)’) subplot(2,2,4);plot(x,b),title(‘sin(x)/cos(x)’
MATLAB中的绘图函数介绍
MATLAB中的绘图函数介绍概述:MATLAB是一种非常强大的数值计算和科学绘图软件,在各个领域中都得到广泛的应用。
在MATLAB中,绘图函数是其中一个非常重要的功能,它可以帮助我们将数据可视化,并进行分析和解释。
在本文中,我们将详细介绍一些常用的MATLAB绘图函数及其功能。
一、plot函数:plot函数是MATLAB中最基本的绘图函数之一,它可以绘制线性图。
通过将一系列的点连接起来,我们可以绘制出数据的变化趋势。
下面是plot函数的一个简单示例:```matlabx = 0:0.1:10;y = sin(x);plot(x, y);```在这个例子中,我们首先定义了x的取值范围为0到10,间隔为0.1。
然后通过使用sin函数计算出对应的y值。
最后,调用plot函数将x和y的数值传入,即可得到一条关于sin函数的图形。
除了基本的线性图,plot函数还可以绘制不同颜色和线型的曲线,并添加标题、标签等。
它是进行简单数据可视化的利器。
二、scatter函数:相比于plot函数,scatter函数可以绘制散点图,用于展示多个不同数据点之间的分布关系。
通过scatter函数,我们可以方便地比较不同变量之间的相关性。
以下是scatter函数的一个示例:```matlabx = randn(100,1);y = 0.5*x + randn(100,1);scatter(x, y);```在这个例子中,我们首先生成了两组随机数x和y。
然后使用scatter函数将它们绘制成散点图。
通过观察散点图的分布,我们可以判断出x和y之间是否存在线性相关性。
scatter函数还支持设置散点的颜色、大小和透明度等参数,以满足不同的需求。
它是进行多变量分析的重要工具之一。
三、bar函数:bar函数可以用于绘制柱状图,常用于展示各个类别的数据之间的差异。
通过柱状图,我们可以清晰地比较不同类别之间的数值大小。
以下是bar函数的一个示例:```matlabx = categorical({'A', 'B', 'C', 'D'});y = [10, 15, 8, 12];bar(x, y);```在这个例子中,我们首先定义了四个类别,分别是'A'、'B'、'C'和'D'。
matlab figure 用法
MATLAB Figure 用法1.引言M A TL AB是一种强大且广泛应用的数值计算软件,它提供了丰富的绘图功能。
其中,`f ig ur e`函数是用于创建图形窗口的关键函数。
这篇文档将介绍`fi gu re`函数的用法及相关技巧,帮助读者更好地进行数据可视化。
2.创建图形窗口要创建一个图形窗口,可以使用`fi gu re`函数。
以下是一些常见的用法:-创建一个默认大小的图形窗口:`f ig ur e`-创建一个指定大小的图形窗口:`f ig ur e('P os it ion',[le ft,b ot to m,w i dt h,he ig ht])`-创建一个具有特定名称的图形窗口:`f i gu re('Na me','窗口名称')`3.图形窗口的操作3.1关闭图形窗口要关闭一个图形窗口,可以使用`cl os e`函数。
以下是一些常用的示例:-关闭当前活动的图形窗口:`c lo se`-关闭指定窗口句柄的图形窗口:`c lo se(wi nd ow_h an dl e)`3.2切换图形窗口在M AT LA B中,可以通过`f ig ur e`函数的不同用法来切换图形窗口。
以下是一些示例:-切换到指定窗口句柄对应的图形窗口:`f ig ur e(wi nd ow_ha n dl e)`-切换到最近创建的图形窗口:`fi gu re('la st')`-切换到下一个图形窗口:`fi gu re('ne x t')`3.3最大化和最小化图形窗口要最大化或最小化一个图形窗口,可以使用`se t`函数来更改窗口的属性。
以下是一些示例:-最大化当前窗口:`s et(g cf,'Wi nd owS t at e','ma xi mi zed')`-最小化指定窗口句柄对应的窗口:`s et(w in do w_ha ndl e,'Wi nd ow St at e','mi ni mi ze d')`4.图形窗口的属性设置4.1背景颜色可以使用`s et`函数来设置图形窗口的背景颜色。
MATLAB绘图的指令
绘图的指令1、plot函数MATLAB中最常用的绘图函数是plot( )。
其基本调用格式为:plot(x, y ),其中x, y均为向量,该函数表示以x向量作为X轴,以y向量作为Y轴。
示例3:绘制从0 ~ 4范围的正弦函数曲线。
t = 0 : pi/20 : 4*pi;y = sin(t);plot(t, y);2、stem函数对于离散序列,MATLAB用stem( )命令实现其绘制。
示例4:绘制从0 ~ 4范围的正弦函数序列。
t = 0 : pi/10 : 4*pi;y = sin(t);stem(t, y);3、subplot函数如果要在一个绘图窗口中显示多个图形,可用subplot函数实现。
其基本调用格式为:subplot(m, n, k) 或subplot(m n k),其中m, n, k取值为1 ~ 9。
该函数表示将绘图窗口划分为m×n个子窗口(子图),并在第k个子窗口中绘图。
示例5:在一个绘图窗口中绘制下列函数的图形。
t = 0 : 0.1 : 2;y1 = 2*exp(-3*t); % (a) 指数函数figure;subplot(221);plot(t,y1);xlabel('(a)');y2 = 2*t.*exp(-3*t); % (b) t乘指数函数subplot(222);plot(t,y2);xlabel('(b)');t1 = -4 : 0.1 : 4;y3 = 1/(2^0.5)*exp(-0.5*t1.^2); % (c) 正态分布函数subplot(223);plot(t1,y3);xlabel('(c)');t2 = -5 : 0.1 : 5;y4 = sinc(t2); % (d) 取样函数subplot(224);plot(t2,y4);xlabel('(d)');ylabel('sinc(t)');axis([-5 5 -0.25 1.1])grid on二维图形的修饰1、坐标轴名称标识函数xlabel、ylabel、title绘制 的nyquist 图和bode 图102.110)(2++=s s s G解MATLAB编程如下:»num=[10];»den=[1,1.2,10];»w=logspace(-2,2,1000); » nyquist(num,den,w)»grid»bode(num,den,w)»grid极小化»fx='10*exp(-x)*cos(x)';»fplot(fx,[2,5])»xmin=fmin(fx,2,5)xmin =2.35619746669214求零点»xzero=fzero(fx,5)xzero =4.71238898038469»xzero=fzero(fx,2)xzero =1.57079632679490曲线拟合»x=0:0.1:1;»y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];»p=polyfit(x,y,2);»xi=0:0.01:1;»yi=polyval(p,xi);»plot(x,y,xi,yi) 三维图形»x=-4:0.1:4;»y=x;»[x,y]=meshgrid(x,y);»z = 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);»mesh(x,y,z)二维图形»x=0:0.01:pi*3;»y=sin(x);»plot(x,y)»title('First Figure Example')»xlabel('Time(s)')»ylabel('Value(v)')»grid on»gtext(‘sinx’)»legend(‘sinx’)管理命令和函数help 在线帮助文件doc 装入超文本说明what M、MA T、MEX文件的目录列表 type 列出M文件lookfor 通过help条目搜索关键字which 定位函数和文件Demo 运行演示程序Path 控制MATLAB的搜索路径管理变量和工作空间Who 列出当前变量Whos 列出当前变量(长表) Load 从磁盘文件中恢复变量 Save 保存工作空间变量Clear 从内存中清除变量和函数Pack 整理工作空间内存Size 矩阵的尺寸Length 向量的长度disp 显示矩阵或与文件和*作系统有关的命令cd 改变当前工作目录Dir 目录列表Delete 删除文件Getenv 获取环境变量值! 执行DOS*作系统命令Unix 执行UNIX*作系统命令并返回结果Diary 保存MA TLAB任务控制命令窗口Cedit 设置命令行编辑 Clc 清命令窗口Home 光标置左上角Format 设置输出格式Echo 底稿文件内使用的回显命令more 在命令窗口中控制分页输出启动和退出MA TLABQuit 退出MATLABStartup 引用MA TLAB时所执行的M文件Matlabrc 主启动M文件*作符和特殊字符+ 加—减* 矩阵乘法.* 数组乘法^ 矩阵幂.^ 数组幂\ 左除或反斜杠/ 右除或斜杠./ 数组除Kron Kronecker张量积: 冒号( ) 圆括号[ ] 方括号. 小数点.. 父目录…继续, 逗号; 分号% 注释! 感叹号‘转置或引用= 赋值= = 相等< > 关系*作符& 逻辑与| 逻辑或~ 逻辑非xor 逻辑异或逻辑函数Exist 检查变量或函数是否存在Any 向量的任一元为真,则其值为真All 向量的所有元为真,则其值为真Find 找出非零元素的索引号三角函数Sin 正弦Sinh 双曲正弦Asin 反正弦Asinh 反双曲正弦Cos 余弦Cosh 双曲余弦Acos 反余弦Acosh 反双曲余弦Tan 正切Tanh 双曲正切Atan 反正切Atan2 四象限反正切Atanh 反双曲正切Sec 正割Sech 双曲正割Asech 反双曲正割Csc 余割Csch 双曲余割Acsc 反余割Acsch 反双曲余割Cot 余切Coth 双曲余切Acot 反余切Acoth 反双曲余切指数函数Exp 指数Log 自然对数Log10 常用对数Sqrt 平方根复数函数Abs 绝对值Argle 相角Conj 复共轭Image 复数虚部Real 复数实部特殊变量和常数Ans 当前的答案Eps 相对浮点精度Realmax 最大浮点数Realmin 最小浮点数Pi 圆周率I,j 虚数单位Inf 无穷大Nan 非数值Flops 浮点运算次数Nargin 函数输入变量数Nargout 函数输出变量数基本X—Y图形Plot 线性图形Loglog 对数坐标图形Semilogx半对数坐标图形(X轴为对数坐标) Semilogy 半对数坐标图形(Y轴为对数坐标) Fill 绘制二维多边形填充图特殊X—Y图形Polar 极坐标图Bar 条形图Stem 离散序列图或杆图Stairs 阶梯图Errorbar 误差条图Hist 直方图Rose 角度直方图Compass 区域图Feather 箭头图Fplot 绘图函数Comet 星点图图形注释Title 图形标题Xlabel X轴标记Ylabel Y轴标记Text 文本注释Gtext 用鼠标放置文本Grid 网格线MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。
matlab绘图指令大全
绘图指令1 二维曲线图1.1 绘制折线图plot指令图例Y=[1,3,6,5,9,0,2];plot(Y);X=0: pi/10: pi*2;Y=sin(X);plot(X,Y);X=0: pi/10: pi*2;Y1=sin(X);Y2=cos(X);Plot(X,Y1,X,Y2);调整坐标范围:axisaxis([0,300,0,2])1.2 绘制自定义函数DrawCircle.mfunction DrawCircle(Point,Radius)Hold ont=0: pi/10: 2*pi;x=Point(1)+ Radius*cos(t);y=Point(2)+ Radius*sin(t);plot(x,y);DrawCircle([10 10],1)DrawCircle([20 10],2)DrawCircle([10 20],3)1.3 绘制符号函数显函数ezplot('sin(x)',[0,2*pi])隐函数ezplot('x^2+y^2-10',[-5,5],[-6,6])参数方程ezplot('cos(t)^3','sin(t)^3',[0,2*pi])1.4 绘制自定义函数function y=myf1(x)y=sqrt(100-x^2);fplot('myf1',[-15 15])fplot('[sin(x) cos(x) myf1(x)]',[-15 15])1.5 图形修饰设置颜色 y m c r g b w k设置线型 - : -. --设置标记 . o x + *指令图例X=0: pi/10: pi*2;Y=sin(X);plot(X,Y, 'b-.');在指定坐标处,书写文字:text(3.5, 0.6, '曲线比较');x=[1.6*pi, 1.6*pi]; y=[-0.3, 0.8]; s=['曲线cos'; '曲线sin'];text(x,y,s);1.6 更多类型的二维图指令图例bar直方图X=0:pi/10:2*pi;Y=sin(X);bar(X,Y);polar极坐标图T=0: pi/10: 4*pi;R=T;polar(T, R);误差棒棒图X=0:pi/10:2*pi;Y=sin(X);e=0.2*rand(size(X)); errorbar(X,Y,e);火柴杆图X=0:pi/10:2*pi;Y=sin(X);stem(X,Y);stairs楼梯图X=0:pi/10:2*pi;Y=sin(X);stairs(X,Y);多边形填色图X=[1,2,3,4,5];Y=[3,5,2,1,6];fill(X,Y,'r');hold on; % 保持图形plot(X,Y,'o')1.7 数值函数的二维图fplot('0.5*cos(x)',[-pi,pi]) % 绘图[X,Y] = fplot('0.5*cos(x)',[-pi,pi]); % 返回点坐标fplot('cos(x)',[-pi,pi],'r-+'); % 观察点的位置控制采样点的密度fplot('cos(x)',[-pi,pi],'r-+',0.05);fplot('cos(x)',[-pi,pi],'r-+',0.1);可绘制系统函数,也可绘制自定义函数的图形。
Matlab绘图的常用命令
下面程序是12月26日课题组例会报告的附件内容,叙述了matlab中Cell的概念,列举了画图要用到的一些常用命令。
function [ output_args ] = plot_operation( input_args )%PLOT_OPERATION Summary of this function goes here% 本程序同时写明大规模程序的习惯,就是像学位论文那样分章节,有标题,即Cell的写法。
% 各Cell类似于Word中的各节。
% Cell的定义:在题头使用'%% XXXXXXX'的形式,即“双百分号+空格+Cell名称”的写法。
% 这种写法用工具条中的“双百分号”按钮可以直接查看各节标题,类似于word中的大纲视图。
% 采用'cell'的格式的程序,运行时请点击Ctrl+Shift+Enter,就可以一个Cell一个Cell的运行了。
%% 1. 初始定义clcclearclose all % 关闭所有绘图窗口t=0:0.01:2*pi;y1=sin(t);y2=cos(t);% 设置端点,调试时需要一段一段调试。
%% 2.画图,句柄操作f1=figure(1)l1=plot(t,y1,'.r');hold onl2=plot(t,y2,'b*');handle_legend=legend([l2],'余弦') %只显示第2条线的图例handle_title=title('正弦曲线'); %标题handlex=xlabel('时间/s') %横坐标名称handley=ylabel('alpha_\alpha^\beta') %上标,下标,希腊字母表达式set(gca,'XTicklabel','第1列|第3列| ') %设置坐标轴上的标识handle_t=text(2,-1.1,'sine curve y_1') %在图上显示文字set(gca,'fontsize',30) %设置坐标轴文字大小set(handley,'fontsize',30) %设置坐标轴名称文字大小hold off%% 3. 分图表示f2=figure(2) %上一张图不关掉,重新开一个新图%3.1 开一个6张小图的图片%在第1图位绘制正弦曲线subplot(321)plot(t,y1)title('正弦')%3.2 在第2图位绘制余弦曲线subplot(322)plot(t,y2)title('余弦');%3.3 在第4图位绘制限定坐标范围的余弦曲线subplot(324) %断点绘图plot(t,y1);axis([0,3,-1,1])title('断点绘图,指定坐标范围')%% 4.保存结果%4.1 保存第1幅图,然后关闭saveas(f1,'正余弦曲线.emf')close(f1)%4.2 保存第2幅图,然后关闭figure(2) %打开图片为当前图片% 控制图片大小,输出为emf格式style = hgexport('factorystyle');hgexport(gcf,'size_test',style,'format','meta','width','800','height','600',...'units','points','bounds','loose');% 3个点表示代码换行,对于很长的语句,这中写法便于阅读saveas(gcf,'综合绘图.emf')% gcf 为当前图片的句柄。
MATLAB中绘图命令介绍
MATLAB中绘图命令介绍本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。
plot是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x 及y座标。
下例可画出一条正弦曲线:close all;x=linspace(0, 2*pi, 100); % 100个点的x坐标y=sin(x); % 对应的y坐标plot(x,y);小整理:MATLAB基本绘图函数plot: x轴与y轴均为线性刻度(Linear scale)loglog: x轴与y轴均为对数刻度(Logarithmic scale)semilogx: x轴为对数刻度,y轴为线性刻度semilogy: x轴为线性刻度,y轴为对数刻度若要画出多条曲线,只需将座标对依次放入plot函数即可:hold on 保持当前图形,以便继续画图到当前坐标窗口hold off 释放当前图形窗口title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…)plot(x, sin(x), x, cos(x));若要改变颜色,在座标对後面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态,也是在座标对後面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');小整理:plot绘图函数的叁数字元、颜色元、图线型态,y 黄色 .点k 黑色o 圆w 白色x xb 蓝色++g 绿色* *r 红色- 实线c 亮青色: 点线m锰紫色-. 点虚线-- 虚线plot3 三维曲线作图图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]);axis函数的功能丰富,其常用的用法有:axis equal :纵横坐标轴采用等长刻度axis square:产生正方形坐标系(默认为矩形)axis auto:使用默认设置axis off:取消坐标轴axis on :显示坐标轴此外,MATLAB也可对图形加上各种注解与处理:xlabel('Input Value'); % x轴注解ylabel('Function Value'); % y轴注解title('Two Trigonometric Functions'); % 图形标题legend('y = sin(x)','y = cos(x)'); % 图形注解grid on; % 显示格线我们可用subplot来同时画出数个小图形於同一个视窗之中:subplot(2,2,1); plot(x, sin(x));subplot(2,2,2); plot(x, cos(x));subplot(2,2,3); plot(x, sinh(x));subplot(2,2,4); plot(x, cosh(x));MATLAB还有其他各种二维绘图函数,以适合不同的应用,详见下表。
matlab常用语句整理
1.设置横坐标间隔使用绘图函数后(例如使用了plot(x,y)),可以使用下面语句进行横纵坐标间距的设置。
set(gca,'xtick',-4:0.5:2.5)以下是设置坐标的详细代码:axis([0 24 0 900]);set(gca,'xtick',[0 1 2 ...24]);set(gca,'ytick',[0 100 200 300 400 500 600 700 800 900]);2.如何使三维图的颜色更漂亮比如使用了三维绘图函数plot3,(plot3绘制三维图的例子,详见三维图绘图教程)shading interp %灯光处理3.如何使图表标题出现?输入m^3即可,即^使得3成为上标,同样道理,要出现m30格式,则输入m^3^04.载入txt文件,并用a来读取数据,a=load('final.txt');5. 佛山南海区项目用到的程序:yxieliang=interp1(shuiwei,xieliuliang, 17,'spline')%由水位查泄流量,其中,shuiwei是水位的数组,xieliuliang是泄流量数组yshuiwei=interp1(kurong,shuiweiku, 794.0969,'spline')%由库容查水位Q=1*0.32*5*(2*9.8)^0.5*H0.^1.56. 生成类似abc1、abc2这样的顺序变量名for i=1:5a=[i,i+3];str=(['Var',num2str(i) '= a', ';']);eval(str)end这是matlab运行的结果7. 求泄量过程线使用的程序(2011-4下旬使用的)下面程序运行的条件:在matlab中创建两个变量:shuiweiku,kurong其中shuiweiku表示水位-库容的水位数组,kurong表示水位-库容的库容数组,创建后,复制黏贴下面代码,就可以运行。
MATLAB(matlab)二维绘图plot语句的应用示例汇总(非常全面)
Matlab二维绘图plot语句的帮助应用示例1、plot(X, Y)用法2、plot(X ,Y, LineSpec)用法基本线型、颜色和标记的参数表格3、plot(X1, Y1,…Xn, Yn)用法plot(X1,Y1,...,Xn,Yn)绘制多个X、Y对组的图,所有线条都使用相同的坐标轴。
4、plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)用法plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)设置每个线条的线型、标记符号和颜色。
您可以混用X、Y、LineSpec三元组和X、Y对组:例如,plot(X1,Y1,X2,Y2,LineSpec2,X3,Y3)。
5、plot(Y)用法创建Y中数据对每个值索引的二维线图。
如果Y是矢量,x轴的刻度范围是从1至length(Y)。
如果Y是矩阵,则plot函数绘制Y中各列对其行号的图。
x轴的刻度范围是从 1 到Y的行数。
如果Y是复数,则plot函数绘制Y的虚部对Y的实部的图,使得plot(Y)等效于plot(real(Y),imag(Y))。
(1)Y为矩阵y=magic(5) %将 Y 定义为 magic 函数返回的5×5矩阵plot(y)(2)Y为复数y=[1+2i 3+3i 5+6i]plot(y)6、plot(Y,LineSpec)用法:同plot(X, Y, LineSpec)一样7、plot( _,Name,Value)用法plot( _,Name,Value)使用一个或多个Name,Value对组参数指定线条的属性。
可以将这一选项与前面语法中的任何输入参数组合一起使用。
8、plot(ax,_ )用法plot(ax,_ )将在由ax指定的坐标区中而不是当前坐标区(gca)中创建线条。
选项ax可以位于前面的语法中任何输入参数组合之前。
9、h=plot( _ )用法h=plot( _ )将返回由图形线条对象组成的列向量。
matlab绘制空间曲面的命令
MATLAB绘制空间曲面的命令一、介绍在科学计算和工程领域中,经常需要对空间曲面进行可视化分析。
MATLAB作为一种强大的数值计算软件,提供了丰富的绘图函数和命令,可以轻松地绘制空间曲面。
本文将介绍MATLAB中常用的绘制空间曲面的命令,并通过示例代码详细说明其使用方法和效果。
二、绘制三维曲面1. meshgrid函数在绘制空间曲面之前,我们需要先创建一个网格。
MATLAB中的meshgrid函数可以用来生成二维或三维的坐标网格,为后续的曲面绘制提供基础。
示例代码:[x, y] = meshgrid(-10:0.5:10, -10:0.5:10);2. 曲面方程在绘制空间曲面时,我们需要定义一个曲面方程。
曲面方程可以是一个显式方程,也可以是一个隐式方程。
示例代码:z = x.^2 + y.^2;3. surf函数一旦我们定义了曲面方程和坐标网格,就可以使用surf函数来绘制空间曲面了。
surf函数可以根据给定的坐标网格和曲面方程,生成一个三维曲面图。
示例代码:surf(x, y, z);4. 其他参数设置除了基本的绘图命令外,还可以通过设置其他参数来调整曲面的外观和显示效果。
例如,可以设置曲面的颜色、透明度、光照等。
示例代码:surf(x, y, z, 'FaceColor', 'interp', 'EdgeColor', 'none');light('Position', [1 1 1]);三、绘制特殊曲面1. 球面球面是一种常见的空间曲面,可以通过给定球心和半径来定义。
MATLAB中的sphere函数可以绘制球面。
示例代码:[x, y, z] = sphere;surf(x, y, z);2. 圆柱面圆柱面是由平行于一个固定直线的所有直线和平行于一个固定平面的所有直线形成的曲面。
MATLAB中的cylinder函数可以绘制圆柱面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB绘图常用示例语句
clear;%初始化数据
clc;%清屏
close all;%关闭所有绘图
x=[];
y=[];
plot(x,y,'k.');%绘制曲线,单引号内为线型与颜色
plot(x1,y1,'k+-',x2,y2,'k--',x3,y3,'k-.','linewidth',2.5);%在一幅图上同时绘制多条曲线,及线宽设置
%字母颜色标点线型
% y 黄色? 点线
% m 粉红○圈线
% c 亮蓝××线
% r 大红++字线
% g 绿色-实线
% b 蓝色* 星形线
% w 白色:虚线
% k 黑色(--) 点划线
xlabel('频率(Hz)');%横坐标说明
ylabel('流量(L/min)');%纵坐标说明
title('');%图形标题
legend('','','');%线型说明
axis([xmin xmax ymin ymax])%设置x轴,y轴范围
grid on;%网格
hold on;%在原图上继续绘图
figure;%重新生成新的绘图
fid1=fopen('F:\实验数据\D6_100V_1Hz_2.txt','r'); %读取.txt 数据
title1=fgetl(fid1);
title2=fgetl(fid1);
title3=fgetl(fid1);
title4=fgetl(fid1);%去除txt文件中的前四行
fz=50000;%设置采样频率
dianshu=200000;%所取点数
[A,N]=fscanf(fid1,'%f',[2,dianshu+100]);%从文件中读出数据[数据数组,总数据个数](数据存放变量,'数据类型',[列数,行数])
x=A(1,1:dianshu);%读取数据第1列
x1=x';%行列向量转置
y=A(2,1:dianshu);%读取数据第二列
%以下为滤波程序(主要调节参数c的大小)
c=100;
wn=0.1;
fs=50000; %采样频率;
b=fir1(c,wn/(fs/2),hamming(c+1));
y1=filtfilt(b,1,y);%对y滤波
pj=mean(y1);%对y1求均值
plot(x,y1);
cz=interp1(x,y1,a);%求图形中横坐标为a,对应的纵坐标的值figure;
[ax,h1,h2]=plotyy(t1,y1,t1,y2); %双坐标函数,各参数意义,参考帮助文件
set(ax(1),'XLim',[0,10000],'XTick',[0:1000:10000]);%设置第一x 坐标范围及间距
set(ax(1),'YLim',[0,3000],'YTick',[0:300:3000],'ycolor','k'); %设置第一y坐标范围及间距,及颜色
set(ax(2),'XLim',[0,10000],'XTick',[0:1000:10000]);%应同ax(1),’XLim’, 否则会错位
set(ax(2),'YLim',[0,50],'YTick',[0:5:50],'ycolor','k');%两纵坐标的间距数应一致,否则也会错位
set(h1,'linestyle','-','color','k');%设置h1曲线线型、颜色
set(h2,'linestyle',':','color','k'); %设置h2曲线线型、颜色xlabel('频率(Hz)');%横坐标标识
set(get(ax(1),'Ylabel'),'String','位移(um)'); %第1纵坐标标识set(get(ax(2),'Ylabel'),'String','流量/(L/min)'); %第2纵坐标标识
legend([h1 h2],'阀芯位移','出口流量'); %添加曲线说明
set(h1,'linewidth',2);%设线型宽度
set(h2,'linewidth',2);
grid on;%显示网格
hold on;%保持窗口不变,以便添加曲线
%直线拟合(a,b)
a=[0 0.5 2 3.5 5];
b=[0.00411 0.02030 0.06768 0.115 0.16343];
c=1;
p=polyfit(a,b,c);%参数c为拟合曲线次数,p为降幂系数
y=polyval(p,a);
plot(a,y,a,b);
%曲线求导,求速度与加速度
v=(diff(s)./diff(t));
plot(t1,v)%时间点数比位移曲线对应时间点数少一点
F=A(:,1);%读取excel文件数据,Inport Date时应把变量名改成A,F为第一列所有点;A(m,n)表示第m行第n列的点
max(A);%A阵列中的最大值
[y,i]=max(A);%y为最大值,i为最大值所在位置
syms a b;
ezplot(a^2+b^2-1);%作方程'a^2+b^2=1'的图形;
fc=var(A);%求向量A的方差
bzc=std(A);%求向量A的标准差
%求积分
syms x;
int(x^2+x,x,1,2);%函数x^2+x对x在区间[1,2]上求积分
%解方程1
syms I;
f=-pi*((0.25e-4)/S+(8e-7)*I*S*((S^2+1.6e-5)/(S^2-1.6e-5)))-B; B=0.1;
S=0.2;
solve(f,'I')%直接求出数值解
%解方程2
B=0.1;
S=0.2;
X=solve('B=-pi*((0.25e-4)/S+(8e-7)*I*S*((S^2+1.6e-5)/(S^2-1.6e -5)))','I')
subs(X)%将B,S值代入到X中
%求插值
yi=interp1(X,Y,xi,'method');%xi为所求插值的横坐标
%‘nearest’:最近邻点插值,直接完成计算;
%‘spline’:三次样条函数插值;
%‘linear’:线性插值(缺省方式),直接完成计算;%‘cubic’:三次函数插值;
s=xlsread('A.xlsx',1,'A1:B2');%读取EXCL文件数据。