matlab画图代码
MATLAB曲线曲面绘制代码大全

%plot3(x,y,z)用来绘制3维曲线图,而不能绘制曲面图!就是把所有的%(x,y,z)点连接在一起。
而画曲面图必须用surf和mesh函数,而这两个%函数都需要知道对应x,y向量交叉点内所有点处的z值,所以得用%x=-200:0.3:200;y=-200:0.1:200;%[X,Y]=meshgrid(x,y);%Z=X.*Y/sqrt(X.*X+Y.*Y)%获得z值,再用mesh(X, Y, Z);绘曲面图 ,下面为代码x=-200:0.3:200;y=-200:0.1:200;[X,Y]=meshgrid(x,y);Z=X.*Y./sqrt(X.*X+Y.*Y);mesh(X,Y,Z)%希望能解决你的问题!################################################################################ ###matlab画两曲面的交线悬赏分:100 - 解决时间:2009-10-4 19:37上半球面z.^2+y.^2+x.^2=1(z>=0) 与平面x+y+z=1.5的交线该怎么画出来?---------------------------[X,Y,Z]=sphere(50);Z(Z<0)=-(Z(Z<0));mesh(X,Y,Z)%画上半球面hold on;ezmesh('1.5-x-y',[-1 1])%画平面[x,y,z]=meshgrid(linspace(-1,1));contourslice(x,y,z,x+y+z-1.5,X,Y,Z,[0 0])%画交线axis equalview(135,20)################################################################################ ###两直线相交function [X,Y]=pll(X1,Y1,X2,Y2)% 直线相交求交点A1=Y1(1)-Y1(2);B1=X1(2)-X1(1);C1=Y1(2)*X1(1)-Y1(1)*X1(2);A2=Y2(1)-Y2(2);B2=X2(2)-X2(1);C2=Y2(2)*X2(1)-Y2(1)*X2(2);D=det([A1,B1;A2,B2]);X=det([-C1 B1;-C2 B2])/D;Y=det([A1 -C1;A2,-C2])/D;调用格式:x1=[1 5];y1=[1 5];x2=[1 5];y2=[5,1];[x,y]=pll(x1,y1,x2,y2);plot(x1,y1,'r');hold onplot(x2,y2,'b');plot(x,y,'ko');%直线与多条直线相交xi=[1 2 3 4 5];yi=[2 6 3 6 1];plot(xi,yi);hold onx1=[1 5];y1=[4 5];line(x1,y1);x=zeros(size(xi));y=x;for i=1:5-1x2=xi([i i+1]);y2=yi([i i+1]);[x,y]=pll(x1,y1,x2,y2);plot(x,y,'ro')end%直线与曲线相交x=-8:0.1:8;y=x;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;contour(Z,3);hold onc=contour(Z,3);x=[0 360];y=[0 400];y=(y(2)-y(1))/(x(2)-x(1))*(x-x(1))+y(1);z=[0 0];line(x,y,z);c=c';X=c(:,1);Y=c(:,2);r0=abs(Y-(y(2)-y(1))/(x(2)-x(1))*(X-x(1))+y(1))<=.93; zz=0;yy=r0.*Y;xx=r0.*X;plot(xx(r0~=0),yy(r0~=0),'r')%曲线与曲线相交x=0:pi/400:2*pi;x=x';y1=sin(pi*x);y2=cos(pi*x);plot(x,y1,x,y2);hold onr0=abs(y2-sin(pi*x))<=0.02;yy=r0.*y1;xx=r0.*x;plot(xx(r0~=0),yy(r0~=0),'r.')直线与曲面相交x=-8:0.3:8;y=x;[X,Y]=meshgrid(x,y);Z=X.^2+Y.^2;mesh(X,Y,Z);hold onx=[-10 10];y=[-10 3];z=[30 35];line(x,y,z);r0=(abs(Y-y(1)-(y(2)-y(1))/(x(2)-x(1))*(X-x(1)))<=0.45)&... (abs(Z-z(1)-(z(2)-z(1))/(x(2)-x(1))*(X-x(1)))<0.45)&... (abs(Y-y(1)-(y(2)-y(1))/(z(2)-z(1))*(Z-z(1)))<=0.45);zz=r0.*Z;yy=r0.*Y;xx=r0.*X;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'r*')平面与曲面相交x=-8:0.1:8;y=x;[X,Y]=meshgrid(x,y);Z1=2*ones(size(X));Z2=X.^2-Y.^2;mesh(X,Y,Z1);hold onmesh(X,Y,Z2);r0=(abs(Z1-Z2)<=.65);zz=r0.*Z1;yy=r0.*Y;xx=r0.*X;plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'k*')clcdisp('观察曲面后,按任意键画交线');pauseclfplot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'k*');%曲面与多个截平面相交y=-10:0.5:10;z=y;[Z,Y]=meshgrid(z,y);X=Z;X1=0*ones(size(Z));X2=3*ones(size(Z));X3=-3*ones(size(Z));Z4=(X.^2-Y.^2)/10;mesh(X1,Y,Z);hold onmesh(X2,Y,Z)mesh(X3,Y,Z);mesh(X,Y,Z4);r1=(abs(X1-X)<0.05);r2=(abs(X2-X)<0.05);r3=(abs(X3-X)<0.05);zz1=r1.*Z4;yy1=r1.*Y;xx1=r1.*X;zz2=r2.*Z4;yy2=r1.*Y;xx2=r1.*X;zz3=r3.*Z4;yy3=r1.*Y;xx3=r1.*X;plot3(xx1(r1~=0),yy1(r1~=0),zz1(r1~=0),'k*'); plot3(xx2(r2~=0),yy2(r2~=0),zz2(r2~=0),'k*'); plot3(xx3(r3~=0),yy3(r3~=0),zz3(r3~=0),'k*'); colormap(hsv)clc;disp('观察曲面后,按任意键画交线');hold off平面与曲面相交y=-8:0.4:8;z=y;[Z,Y]=meshgrid(z,y);X=Z;X1=zeros(size(Z));Z2=zeros(size(Z));Z3=(X.^2-Y.^2)/10;mesh(X1,Y,Z);hold onmesh(X,Y,Z2);mesh(X,Y,Z3);r1=(abs(X1-X)<0.05);r2=(abs(Z3-Z2)<0.05);r3=(abs(X1-X)<0.05)&(abs(Z-Z2)<=0.05);zz1=r1.*Z3;yy1=r1.*Y;xx1=r1.*X;zz2=r2.*Z3;yy2=r2.*Y;xx2=r2.*X;zz3=r3.*Z;yy1=r3.*Y;xx1=r3.*X1;plot3(xx1(r1~=0),yy1(r1~=0),zz1(r1~=0),'k*'); plot3(xx2(r2~=0),yy2(r2~=0),zz2(r2~=0),'k*'); plot3(xx3(r3~=0),yy3(r3~=0),zz3(r3~=0),'k*');colormap(hsv);。
MATLAB函数画图

MATLAB函数画图作为一个功能强大的工具软件,Matlab具有很强的图形处理功能,提供了大量的二维、三维图形函数。
由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。
二维图形一、 plot函数函数格式:plot(x,y) 其中x 和y 为坐标向量函数功能:以向量x 、y 为轴,绘制曲线。
【例1】在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为:x=0:pi/100:2*pi;y=sin(x);plot(x,y)【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS (X),其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2)plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。
(一)线型与颜色格式:plot(x,y1,’cs’,...)其中c表示颜色, s表示线型。
(二)图形标记在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
title(‘加图形标题');xlabel('加X轴标记');ylabel('加Y轴标记');text(X,Y,'添加文本');(三)设定坐标轴用户若对坐标系统不满意,可利用axis命令对其重新设定。
axis([xmin xmax ymin ymax]) 设定最大和最小值axis (’auto’)将坐标系统返回到自动缺省状态axis (’square’)将当前图形设置为方形axis (’equal’)两个坐标因子设成相等axis (’off’)关闭坐标系统axis (’on’)显示坐标系统【例4】在坐标范围0≤X≤2π,-2≤Y≤2内重新绘制正弦曲线,其程序为:x=linspace(0,2*pi,60);生成含有60个数据元素的向量Xy=sin(x);plot(x,y);axis ([0 2*pi -2 2]);设定坐标轴范围(四)加图例给图形加图例命令为legend。
matlab一些基础代码含义

MATLAB(Matrix Laboratory)是一个由MathWorks公司开发的商业数学软件,主要用于算法开发、数据可视化、数据分析以及数值计算。
下面是一些MATLAB基础代码及其含义:
1.x = 1:10;:这将创建一个从1到10的整数数组。
2.y = [1 2 3; 4 5 6; 7 8 9];:这将创建一个3x3的矩阵。
3.z = [1 2 3; 4 5 6; 7 8 9]';:这将创建一个3x3的转置矩阵。
4.plot(x, y);:这将绘制一个线图,其中x是x轴,y是y轴。
5.xlabel('X-axis');:这将为x轴添加标签。
6.ylabel('Y-axis');:这将为y轴添加标签。
7.title('My Plot');:这将为图形添加标题。
8.grid on;:这将打开网格线。
9.x = rand(1,10);:这将创建一个包含10个随机数的数组。
10.y = sin(x);:这将计算每个x值的正弦值。
11.y = y .^ 2;:这将把数组y的每个元素平方。
12.z = max(y);:这将找到数组y中的最大值。
13.z = min(y);:这将找到数组y中的最小值。
14.z = sum(y);:这将计算数组y的总和。
15.z = length(y);:这将返回数组y的长度(即元素数量)。
这只是MATLAB的一些基础代码,实际上MATLAB的功能远不止这些,还包括更复杂的数值计算、信号处理、图像处理等。
MATLAB绘图函数代码及图形

第一题定积分极限微分function y=f1F=1while F~=0syms x y zF=input('请输入表达式:(变量为x,y,z) 退出-0 ')if F~=0Sel=input('请选择要进行的计算:1-微分 2-极限 3-定积分其他-返回 ') switch Selcase 1Var=input('请输入进行微分的变量: ')N=input('请输入阶数: ')disp('结果为: ')diff(F,Var,N)case 2Var=input('请输入进行极限的变量: ')Val=input('请输入极限要趋近的值: ')disp('结果为: ')limit(F,Var,Val)case 3Var=input('请输入积分变量: ')Val_1=input('请输入积分下限: ')Val_2=input('请输入积分上限: ')disp('结果为: ')int(F,Var,Val_1,Val_2)endendF=input('0-退出,其他-继续')end第二题矩阵的运算function y=f2%syms result;while(1)disp('--------------------------------------');disp('1 -Add');disp('2 -Sub');disp('3 -Multi');disp('4 -Divide');disp('0 -Exit');ch = input('Choose an item to continue:');if( ch == 0)return;endM1 = input('Enter the first Matrix:');M2 = input('Enter the second Matrix:');switch(ch)case 1,result = M1+M2;case 2,result = M1-M2;case 3,result = M1*M2;case 4,result = M1/M2;enddisp('The result is :');disp(result);end%End function第三题矩阵的操作function y=f3while(1)disp('--------------------------------------');disp('1 -转置');disp('2 -求秩');disp('3 -求逆');disp('4 -行列式');disp('0 -Exit');ch = input('Choose an item to continue:');if( ch == 0)return;endM = input('Enter the Matrix:');switch(ch)case 1,result = M';case 2,result = rank(M);case 3,result = inv(M);case 4,result = det(M);enddisp('The transform result is :');disp(result);end%End functionendendend第四题向量的判定function y=f4(vec_1,vec_2,dem_1)vec_1=input('第一个向量:')vec_2=input('第二个向量:')Sel_2=input('选择: 1-判断两向量是否共线 2-判断三向量是否共面') if Sel_2==1A=[vec_1;vec_2]if rank(A)==1disp('两向量共线!')elsedisp('两向量不共线!')endelse if Sel_2==2vec_3=input('请输入第三个向量:')dem_3=length(vec_3)if dem_3==dem_1if cro(vec_1,vec_2)*vec_3'==0disp('三向量共面!')elsedisp('三向量不共面!')endelsedisp('输入向量维数不一致!')endendend第五题向量的长度,方向角的计算点积叉积混合积及投影的计算function y=f5n=1while n~=0vec_1=input('请输入第一个向量:')dem_1=length(vec_1)Sel=input('请选择:1-计算向量的方向角,长度 2-计算向量其他运算其他-返回')if Sel==2vec_2=input('请输入第二个向量:')dem_2=length(vec_2)if dem_1==dem_2Sel_1=input('请选择运算:1-点积 2-向量积(三维) 3-投影(三维) 4-混合积(三维) 5-判断共线,共面')switch Sel_1case 5JUDGE(vec_1,vec_2,dem_1)case 1vec_1*vec_2'case 2PAN(vec_1,vec_2)case 3vec_1*vec_2'./sqrt(vec_2*vec_2')case 4vec_3=input('请输入第三个向量(三维):')dem_3=length(vec_3)if dem_3==dem_1A=PAN(vec_1,vec_2)*vec_3'else disp('维数不一致!')endendelsedisp('输入错误!')endelseif Sel==1disp('模为:')Mol=sqrt(vec_1*vec_1')A=eye(dem_1)m=1while m~=dem_1+1acos(A(m,:)*vec_1'./(sqrt(A(m,:)*A(m,:)')*Mol))*180/pim=m+1endelsen=0endendSel=input('继续计算向量的长度、方向角的计算','向量的点积、叉积、混合积及投影-1,退出-2: ')if Sel==2n=0endend第六题点到直线,平面的距离的计算function y=f6n=1while n~=0Point=input('请输入一个三维点坐标向量:')Sel=input('请选择: 1-点到直线的距离 2-点到面的距离 ')switch Selcase 1LinVec=input('请输入直线方程的方向向量:(三维)')LinPot=input('请输入直线方程所经过的点:(三维)')if length(LinVec)==length(LinPot) & length(LinVec)==length(Point)A=p(LinVec,LinPot-Point)disp('点到直线的距离为:')A*A'./(LinVec*LinVec')else disp('输入数值是非法数值!确认后请重新输入!')endPoint=input('1-继续 2-退出')if Point==2n=0endcase 2PlantVec=input('请输入平面法向量:')PlantPot=input('请输入平面上任意一点:')if length(PlantVec)==length(PlantPot) & length(PlantVec)==length(Point)disp('点到平面的距离为:')[PlantPot-Point]*PlantVec'./(PlantVec*PlantVec')disp('输入数值是非法数值!确认后请重新输入!') end endend第七题 椭圆球 function y=pic1 a = 10; b = 20; c = 10;[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);xa = x.^2/a^2; yb = y.^2/b^2;xyz = (ones(size(x))-xa-yb)*c^2; z = xyz.^0.5; mesh(x,y,z);第八题 双曲抛物面 function []=pic2 a = 5; b = 5;[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);xa = x.^2/a^2; yb = y.^2/b^2; z = yb-xa; mesh(x,y,z);第九题 椭圆抛物面 function y=pic3 a = 2; b = 2;[x,y] = meshgrid(-2:0.1:2,-2:0.1:2);xa = x.^2/a^2; yb = y.^2/b^2; z = xa+yb; mesh(x,y,z);第十题 单页双曲面 function y=pic4 theta=0:pi/20:2*pi rho=1:0.05:3[theta,rho]=meshgrid(theta,rho) r=sqrt(rho.^2-1)[x,y,z]=pol2cart(theta,rho,r)figure(1)hold on z=-zsurf(x,y,z) axis off第十一题 双叶双曲面 function k=pic5t1=[-2*pi:0.05:2*pi]; t2=[-1*pi:0.05:1*pi];[t1,t2]=meshgrid(-2*pi:0.05:2*pi,-1*pi:0.05:1*pi); z=0.2*sqrt(sin(t2).*sin(t2)+1);h1=mesh(2*cos(t1).*sin(t2),sin(t1).*sin(t2),z);hold onh2=mesh(2*cos(t1).*sin(t2),sin(t1).*sin(t2),-z);第十二题椭圆锥面function k=tupian4(x,y)x=[-3:0.01:3];y=[-2:0.01:2];[x,y]=meshgrid(-3:0.01:3,-2:0.01:2); z=sqrt((x/3).^2+(y/2).^2); mesh(x,y,z); hold onmesh(x,y,-z);第十三题 常见二维图形theta=0:0.1:2*pi figure(1) rho=2*thetapolar(theta,rho) title('r=at')t=-2*pi:0.1:2*pi figure(1)x=2*(t-sin(t)) y=2*(1-cos(t)) plot(x,y,'g') xlabel('x') ylabel('y') title('摆线')theta=0:0.1:10*pi figure(1)rho=sqrt(4*sin(2*theta)) polar(theta,rho,'g') hold on rho=-rhopolar(theta,rho,'g')legend('r^2=a^2sin2t',2) hold onrho=sqrt(4*cos(2*theta)) polar(theta,rho,'r') hold on rho=-rhopolar(theta,rho,'r')legend('r^2=a^2cos2t',2)theta=0:0.1:4*pi figure(1)rho=exp(0.2*theta) polar(theta,rho) title('r=exp(at)')x=-5:0.1:5y=(1/sqrt((2*pi)))*exp(-x.^2./2) figure(1)plot(x,y,'g') xlabel('x') ylabel('y')title('概率曲线 ')t=0:0.1:2*pi figure(1)x=2*(cos(t)).^3 y=2*(sin(t)).^3 plot(x,y,'g') xlabel('x') ylabel('y')title('x^2/3+y^2/3=a^2/3')theta=0:0.1:2*pi figure(1)rho=2*cos(3*theta) polar(theta,rho,'g')legend('r=asin3t',4)hold onrho=2*sin(3*theta) polar(theta,rho,'r')legend('r=acos3t')theta=0:0.1:2*pi figure(1)rho=2*cos(2*theta) polar(theta,rho,'g') legend('r=acos2t',4)t=0:0.1:2*pi figure(1) x=2*cos(t) y=2*sin(t) plot(x,y,'g') xlabel('x') ylabel('y')title('x^2/a^2+y^2/b^2=1')theta=0:0.1:2*pi figure(1)rho=2*(1-cos(theta)) polar(theta,rho)title('r=a(1-cos(t))')x=-1:(1/20):1 figure(1)subplot(2,2,1) y=asin(x)plot(x,y,'g') title('asin(x)') axis([-1 1 -2 2])subplot(2,2,2) y=acos(x)plot(x,y,'g') title('acos(x)') axis([-1 1 0 4])subplot(2,2,3)y=atan(x)plot(x,y,'g') title('atan(x)') hold on y=y+piplot(x,y,'--') hold on y=y-2*piplot(x,y,'--')axis([-1.5 1.5 -4 4])subplot(2,2,4) y=atan(x)plot(x,y,'g') title('acot(x)') x=-xy=y+pi/2plot(x,y,'--') hold on y=y+piplot(x,y,'--') hold on y=y-2*piplot(x,y,'--')axis([-1.5 1.5 -pi 2*pi])x=-5:0.1:5y=8*2.^3./(x.^2+4*2.^2) figure(1)plot(x,y,'g') hold on x=-2:0.1:2y=sqrt(4-x.^2)+2 plot(x,y,'r') hold ony=-sqrt(4-x.^2)+2 plot(x,y,'r')xlabel('x') ylabel('y')title('y=8a^3/(x^2+4a^2)')y=-5:0.1:5 figure(1)x=(2*(1+y.^2)).^(0.5)plot(x,y,'g')hold onx=-xplot(x,y,'g') xlabel('x') ylabel('y')title('x^2/a^2-y^2/b^2=1')x=-2:0.1:2 figure(1)subplot(2,4,1) y=x.^2plot(x,y,'g') title('x^2')subplot(2,4,2) y=x.^3plot(x,y,'g') title('x^3')subplot(2,4,3) y=x.^(-1)plot(x,y,'g') title('1/x')subplot(2,4,4) x=0:0.1:2 y=x.^0.5plot(x,y,'g')title('x^(1/2)') subplot(2,4,5) x=-2:0.1:2y=(x.^2).^(1/3) plot(x,y,'g') title('x^(2/3)')subplot(2,4,6) x=0:0.1:2 y=x.^(1/3) plot(x,y,'g') hold on x=-x y=-yplot(x,y,'g') title('x^(1/3)')subplot(2,4,7)x=0:0.1:2plot(x,y,'g')hold ony=-yplot(x,y,'g')title('x^(1/3)')x=-4*pi:(pi/20):4*pifigure(1)subplot(2,2,1)y=sin(x)plot(x,y,'g')title('sin(x)')subplot(2,2,2)y=cos(x)plot(x,y,'g')title('cos(x)')subplot(2,2,3)x=-(pi/2-0.0001):pi/20:(pi/2-0.0001)y=tan(x)plot(x,y,'g')title('tan(x)')hold onx=x+piplot(x,y,'g')hold onx=x-2*piplot(x,y,'g')axis([-(1.5*pi-0.0001) (1.5*pi-0.0001) -10 10])subplot(2,2,4)x=0:pi/20:(pi-0.0001)y=cot(x)plot(x,y,'g')title('cot(x)')hold onx=x-piplot(x,y,'g')axis([-(pi-0.0001) (pi-0.0001) -10 10])theta=0:0.1:4*pifigure(1)polar(theta,rho) title('rt=a')。
matlab画图

matlab画图例 ⽤不同的线型和颜⾊在同⼀坐标内绘制曲线 及其包络线。
x=(0:pi/100:2*pi)';y1=2*exp(-0.5*x)*[1,-1];y2=2*exp(-0.5*x).*sin(2*pi*x);x1=(0:12)/2;y3=2*exp(-0.5*x1).*sin(2*pi*x1);plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp');双纵坐标函数plotyy在Matlab中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使⽤plotyy函数,它能把具有不同量纲,不同数量级的两个函数绘制在同⼀个坐标中,有利于图形数据的对⽐分析。
使⽤格式为:plotyy(x1,y1,x2,y2)x1,y1对应⼀条曲线,x2,y2对应另⼀条曲线。
横坐标的标度相同,纵坐标有两个,左边的对应x1,y1数据对,右边的对应x2,y2。
图形标注在绘制图形时,可以对图形加上⼀些说明,如图形的名称、坐标轴说明以及图形某⼀部分的含义等,这些操作称为添加图形标注。
有关图形标注函数的调⽤格式为:title(’图形名称’)(都放在单引号内)xlabel(’x轴说明’)ylabel(’y轴说明’)text(x,y,’图形说明’)legend(’图例1’,’图例2’,…) P190其中,title、xlabel和ylabel函数分别⽤于说明图形和坐标轴的名称。
text函数是在坐标点(x,y)处添加图形说明。
(P88 或⽤gtext命令)。
legend函数⽤于绘制曲线所⽤线型、颜⾊或数据点标记图例,图例放置在空⽩处,⽤户还可以通过⿏标移动图例,将其放到所希望的位置。
除legend函数外,其他函数同样适⽤于三维图形,在三维中z坐标轴说明⽤zlabel函数。
上述函数中的说明⽂字,除了使⽤标准的ASCII字符外,还可以使⽤LaTex(⼀种流⾏的数学排版软件)格式的控制字符,这样就可以在图形上添加希腊字符,数学符号和公式等内容。
(完整word版)MatLab代码大全

第2章图像获取2.3.2 二维连续傅里叶变换例2.2figure(1); %建立图形窗口1[u,v] = meshgrid(-1:0.01:1); %生成二维频域网格F1 = abs(sinc(u.*pi));F2 = abs(sinc(v.*pi));F=F1.*F2; %计算幅度频谱F=|F(u,v)|surf(u,v,F); %显示幅度频谱,如图2.3(b)shading interp; %平滑三维曲面上的小格axis off; %关闭坐标系figure(2); %建立图形窗口2F1=histeq(F); %扩展F的对比度以增强视觉效果imshow(F1); %用图像来显示幅度频谱,如图2.3(c)第3章图像变换3.4.4 二维FFT的MATLAB实现例3.2 简单图像及其傅里叶变换MATLAB程序:%建立简单图像d并显示之d = zeros(32,32); %图像大小32⨯32d(13:20,13:20) = 1; %中心白色方块大小为8⨯8figure(1); %建立图形窗口1imshow(d,'notruesize');%显示图像d如图3.5(a)所示%计算傅里叶变换并显示之D = fft2(d); %计算图像d的傅里叶变换,fft2(d) = fft(fft(d).').'figure(2); %建立图形窗口2imshow(abs(D),[-1 5],'notruesize'); %显示图像d的傅里叶变换谱如3.5(b)所示例3.3 MATLAB图像及其傅里叶变换谱MATLAB程序:figure(1);load imdemos saturn2; %装入MA TLAB图像saturn2imshow(saturn2); %显示图像saturn2如图3.6(a)所示figure(2);S= fftshift(fft2(saturn2)); %计算傅里叶变换并移位imshow(log(abs(S)),[ ]); %显示傅里叶变换谱如3.6(b)所示例3.4 真彩图像及其傅里叶变换谱MATLAB程序:figure(1);A=imread('image1.jpg'); %装入真彩图像,见图1.1(b)B=rgb2gray(A); %将真彩图像转换为灰度图像imshow(B); %显示灰度图像如图3.7(a)所示C=fftshift(fft2(B)); %计算傅里叶变换并移位figure(2);imshow(log(abs(C)),[ ]); %显示傅里叶变换谱如3.7(b)所示3.5.4 离散余弦变换的MATLAB实现例3.5 计算并显示真彩图像余弦变换的MATLAB程序如下:RGB=imread('image2.jpg'); %装入真彩图像figure(1);imshow(RGB); %显示彩色图像GRAY=rgb2gray(RGB); %将真彩图像转换为灰度图像figure(2);imshow(GRAY); %显示灰度图像如图3.10(a)所示DCT=dct2(GRAY); %进行余弦变换figure(3);imshow(log(abs(DCT)),[ ]); %显示余弦变换如图3.10(b)所示。
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作为一种强大的数学软件工具,可以方便地绘制各种函数曲线,包括圆锥双曲线。
本文旨在介绍如何使用Matlab的函数代码绘制圆锥双曲线,并提供一些示例代码和图形演示。
二、绘制圆锥双曲线函数代码1. 定义圆锥双曲线的参数圆锥双曲线的一般方程为:(x^2 / a^2) - (y^2 / b^2) = 1其中a和b分别为圆锥双曲线在x轴和y轴上的半轴长度。
在Matlab 中,我们可以先定义这两个参数值,例如:a = 3;b = 2;2. 生成圆锥双曲线的点集接下来,我们需要生成圆锥双曲线上的一系列点集,以便后续绘制曲线。
可以利用参数方程来生成点集,例如:t = -3:0.01:3;x = a*cosh(t);y = b*sinh(t);这里利用双曲函数cosh和sinh来生成点集,t为参数,-3到3之间适当取值,可以使得生成的点集具有较好的曲线效果。
3. 绘制圆锥双曲线利用Matlab的绘图函数plot来连接生成的点集,实现圆锥双曲线的绘制,例如:plot(x, y);title('Hyperbola'); xlabel('x-axis'); ylabel('y-axis');legend('Hyperbola');这样就可以在Matlab中绘制出指定参数下的圆锥双曲线图形了。
三、示例代码和图形演示为了更直观地展示Matlab绘制圆锥双曲线的过程,以下是一个完整的示例代码和对应的图形演示:```matlab定义圆锥双曲线参数a = 3;b = 2;生成圆锥双曲线的点集t = -3:0.01:3;x = a*cosh(t);y = b*sinh(t);绘制圆锥双曲线plot(x, y);title('Hyperbola'); xlabel('x-axis'); ylabel('y-axis');legend('Hyperbola');```运行上述示例代码后,可以得到如下图形演示:【插入圆锥双曲线图形】四、总结本文介绍了如何使用Matlab的函数代码绘制圆锥双曲线,并提供了具体的示例代码和图形演示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用matlab的plot画图的几种用法
(2009-11-12 18:09:26)
转载▼
标签:
分类:学习
matlab
绘图
plot
教育
1、设置图线宽度 set( haxis, 'LineWidth', 1.0 ); ----这是set函数,'LineWidth'就是axis的线宽度属性,其值默认为0.5,这里可以改成1.0了。
2、调整坐标轴上下限
set( haxis, 'XLim', [ 2 20 ] ); set( haxis, 'YLim', [ 2 20 ] );---调整坐标轴上下限的。
Z轴,那同理set( haxis, 'ZLim', [ Zmin, %% Zmax ] )
3、调整坐标轴上的标注数字
set( haxis, 'XTick', 2:1:20 ); set( haxis, 'YTick', 2:1:20 );----是调整坐标轴上那些标注出来的数字了,2:1:20意思是从2开始,每隔1标注一次,直到20为止。
注意这里的2, 20最好和上面相应的XLim, YLim最大最小值一致。
4、MATLAB中提供的线型及颜色属性:
如:plot(x1,y1,'r-'),表示,用红色实线画出图形
线型说明标记符说明颜色说明
- 实线(默认) + 加号符r 红色
-- 双划线o 空心圆g 绿色
: 虚线* 星号 b 蓝色
:. 点划线. 实心圆 c 青绿色
x 叉号符m 洋红色
s 正方形y 黄色
d 菱形k 黑色
^ 上三角形w 白色
v 下三角形
> 右三角形
< 左三角形
p 五角星
h 六边形
5、图形标题、轴标注、图形说明的设置
图名标注可用:title('xx关系图')
axis([0,22,0,3]);---显示范围为:X轴从0-22,Y轴从0-3显示。
xlabel('电压(V)'),ylabel('电流(A)') 分别表示在X轴下标示电压(V),Y轴旁标示“电流(A)”
legend('A曲线','B曲线','C曲线') 用于说明图中的曲线的说明,顺序和plot(x1,y1,x2,y2,x3,y3)的曲线1、2、3相同即可。
matlab 画折线图实例
(2010-07-05 16:55:02)
转载▼
分类:科研软件_Matlab
标签:
杂谈
数据:某地区近50年雷暴发生次数(1957~2006 雷暴日):
画如下的年际变化图。
---------------------------------------------------------------------------------
% 将数据载入数组a中 a=[.....(省略)];
x=1957:2006;
x=x';
% ma中放平均值:
ma=zeros(50,1)+mean(a);
plot(x,a,'k-o','linewidth',2,'markersize',4);
axis ([1957 2006 10 60]);
set (gca,'xtick',[1960 1965 1970 1975 1980 1985 1990 1995 2000 2005]);
set (gca,'ytick',[10 20 30 40 50]);
set(gca,'FontSize',12, 'FontName','标楷体');
ylabel('雷暴日','fontname','标楷体','fontweight','bold','fontsize',12) text(1960,58,'(a)','Fontweight','bold','fontsize',12)
box off
hold on
plot(x,ma,'k--','linewidth',2);
legend 雷暴日平均雷暴日
legend('boxoff')
set(legend,'fontname','标楷体')
set(legend,'fontweight','bold')
hold off
绘图结果如上所示。
附:雷暴日数据:
31
35.5
25.3
46.8
44.3
44.8
56.4
49.2
44.6
26.8
36.4
40.8
39
38.2
41.2
33.8
34.4
38.2
31
26.6 33.6 14.8 38 27.4 29.8 24.6 27 27 34 24.4 46.6 25.2 25.8 30.6 36.6 34.4 31 29 28.8 22.4 34.6 40 26.6 26.6
22.2
23.6 41 21.8 30 34.6。