MATLAB画图的一些函数
- 格式:ppt
- 大小:378.51 KB
- 文档页数:34
MATLAB 常用函数3 绘图函数及命令By D. J. Liu1绘图函数(1) plot (二维线图)plot (x, y, ‘r*-’, ‘linewidth’, 5, ‘markersize’, 5)linewidth 设置线条的宽度markersize 设置点的大小(2) plot3 (三维线图)plot3 (X, Y, Z, ‘r*-, ‘linewidth’, 5, ‘markersize’, 5)linewidth 设置线条的宽度markersize 设置点的大小(3) scatter (二维散点图)scatter (X, Y, ‘S’)S设置点的形式、大小及颜色等属性(4) scatter3 (三维散点图)scatter3 (X, Y, Z, ‘S’)S设置点的形式、大小及颜色等属性(5) subplot (子图绘制)subplot(m,n,p)m行, n列, p当前位置(将一个窗口分成m×n个小窗口)(6) mesh (三维网格图)mesh (X, Y, Z)注意:X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m×n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))。
(7) surf (三维曲面图)surf (X, Y, Z)surf的调用方法与mesh命令类似,不同的是mesh函数绘制的图像是一个网格图,而surf命令绘制得到的是着色的三维曲面。
着色的方法是在得到相应的网格后,对每个网格依据该网格所代表的节点的色值来定义这一网格的颜色。
注意:第一,surf只支持笛卡尔坐标系(直角坐标系)。
第二,如果要让曲面圆滑,去掉网格,只需要在绘图命令后加入shading interp,这样matlab就会进行相应插值。
注意:X和Y必须为向量,如果X和Y的长度分别为m和n,则Z必须为m×n的矩阵,即[m,n]=size(Z),在这种情况下网格线的顶点为(X(j),Y(i),Z(i,j))(8) pie3(X)(三维饼图)pie3(X) 用X中的数据画一个三维饼形图(百分比例),X中的每一个元素代表三维饼形图中的一部分。
第一题定积分极限微分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不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。
下面将介绍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函数即可:plot(x, sin(x), x, cos(x));若要改变颜色,在座标对后面加上相关字串即可:plot(x, sin(x), 'c', x, cos(x), 'g');若要同时改变颜色及图线型态(Line style),也是在座标对后面加上相关字串即可:plot(x, sin(x), 'co', x, cos(x), 'g*');================================================== ==小整理:plot绘图函数的叁数字元颜色字元图线型态y 黄色 . 点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线================================================== ==图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围:axis([0, 6, -1.2, 1.2]);此外,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极坐标绘图函数Matlab是一款功能强大的数值计算软件,其中的极坐标绘图功能可以用于绘制各种复杂的极坐标图。
极坐标图是一种特殊的坐标系,它的坐标系原点不是原点,而是圆心。
在Matlab中,有一组特殊的函数,可以实现极坐标绘图的功能。
下面介绍一些Matlab中的极坐标绘图函数。
1. polar:这个函数用于绘制一个极坐标图,并用极轴来绘制线条。
它接受两个参数,分别代表极坐标图中的极轴和线条参数。
它可以用来绘制一些复杂的多边形和折线曲线等。
2. polarplot:这个函数用于绘制极坐标图,并绘制线条,点和曲线等。
它接受三个参数,分别代表极坐标图中的极轴和线条及点参数。
它可以用来绘制一些复杂的曲线和图形,也可以用来比较不同数据点之间的关系。
3. pcolor:这个函数用于绘制一个彩色极坐标图。
它接受两个参数,分别代表极坐标图中的极轴和彩色图。
它可以用来表示复杂彩色图形,并可以将数据与极坐标图联系起来。
4. polarhist:这个函数用于绘制极坐标图上的直方图,接受两个参数,分别代表极坐标图中的极轴和直方图参数。
它可以用来绘制一些统计比较相关的图形,并与极坐标图联系起来。
以上就是Matlab中的极坐标绘图函数,它们能够提供极大的帮助,以绘制出各种复杂的极坐标图形,使用者可以根据需要,选择合适的函数进行绘图。
极坐标图在一定程度上比普通坐标图更容易解决数学统计问题。
例如,极坐标图可以用来识别曲线或函数中的极大值和极小值点,以及相关统计信息。
另外,由于极坐标图可以创建出多边形图形,因此它们也可以用来绘制一些特殊的几何图形,使得数学几何模型更加清晰明了。
此外,Matlab中的极坐标绘图函数还可以与其他绘图函数结合使用,例如,可以使用polarplot函数绘制极坐标图,然后使用Matlab 自带的函数实现曲线拟合。
这样,用户可以通过Matlab自己的函数,将极坐标图转换为普通坐标图,从而更加灵活的探索数据和发现更多的统计规律。
MATLAB画图——基础篇MATLAB画图——基础篇在MATLAB使⽤的过程中,学会画图是⼀项必要的技能。
在这⾥,我总结了部分简单的画图函数,同时附上代码(本⽂中的程序为了⽅便给出的数据都很简单,⼤家可以⾃⼰去尝试其他数据)。
这对刚刚开始接触MATLAB的⼩⽩来说,我认为还是很有帮助的。
⽂章⽬录⼀、plot()函数1.⼆维图形(1)绘图选项线型颜⾊标记符号-实线b蓝⾊.点s⽅块:虚线g绿⾊o圆圈d菱形.-点划线r红⾊x叉v朝下三⾓符号-双划线c青⾊+加号^朝上三⾓符号m品红*星号<朝左三⾓符号y黄⾊>朝右三⾓符号p五⾓星k⿊⾊h六⾓星w⽩⾊(2)图形的辅助标注和窗⼝的分割title(图形说明)xlabel(x轴说明)ylabel(y轴说明)text(x,y图形说明)——在x,y轴处添加⽂字说明legend(图例⼀,图例⼆,…)subplot(m,n,p)——将绘图区域分割成m*n个⼦区域,并按照⾏从左⾄ 右,从上⾄下依次编号。
p表⽰第p个绘图⼦区域。
注意:如果是要两个图画到同⼀个坐标⾥⾯,则在两个plot函数之间添加⼀⾏hold on(3)格式plot(x)——缺省⾃变量绘图格式plot(x,y)——基本格式。
以y(x)的函数关系作图。
如果y是n*m的矩 阵,则x为⾃变量,作出m条曲线。
plot(x1,y1,x2,y2,…,xn,yn)——多条曲线绘图格式plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)——含选项的绘图格式x1=[1 2 3 4 5 6 7 8 9];x2=[2 4 6 8 10 12 14 16 18];y1=[1 4 9 16 25 36 49 64 81];y2=[18 16 14 12 10 8 6 4 2];subplot(4,1,1);plot(x1);title('例⼀');xlabel('⾃变量');ylabel('因变量');subplot(4,1,2);plot(x1,y1);title('例⼆');xlabel('⾃变量');ylabel('因变量');subplot(4,1,3);plot(x1,y1,x2,y2);title('例三');xlabel('⾃变量');ylabel('因变量');subplot(4,1,4);plot(x1,y1,'m+',x2,y2,'c*');title('例四');xlabel('⾃变量');ylabel('因变量');2.三维图形(1)格式plot3(x1,y1,z1,‘选项⼀’,x2,y2,z1,‘选项⼆’,…)x,y,z是长度相同的向量:⼀条曲线x,y,z是维度相同的矩阵:多条曲线(2)⽹格矩阵⽣成函数:meshgrid[X,Y]=meshgrid(x,y)x,y是给定的向量,X,Y是⽹格划分后得到的⽹格矩阵注意,这个函数⽤来⽣成⽹格矩阵,不是直接⽤来画图的,配合mesh使⽤。
一、二维数据曲线图1、MATLAB 最常用的画二维图形的命令是plot, plor 函数的基本调用格式为:plot(x.y)其 中x 和y 为长度相同的向豈,分别用于存储x 坐标和y 坐标数据。
例 1:在[0,2 7T ]画 Sill(.v) 0生成的图形如下图1所示:图1说明:(1) plot 函数的输入参数是矩阵形式时A 、 当x 是向量,y 是有一维与x 同维的矩阵时,则绘制出多根不同颜色的曲线。
曲线 条数等于y 矩阵的另一维数,x 被作为这些曲线共同的横坐标。
B 、 当x,y 是同维矩阵时.则以x,y 对应列元素为横、纵坐标分别绘制曲线,曲线条数 等于矩阵的列数。
C 、对只包含一个输入参数的plot 函数,当输入参数是实矩阵时,则按列绘制每列元素 值相对其卜.标的曲线,曲线条数等于输入参数矩阵的列数:当输入参数是复数矩阵时,则按 列分别以元素实部和虚部为横、纵坐标绘制多条曲线。
(2) 含多个输入参数的plot 函数 调用格式为:plot(xl,yl.x2,y2,"--.xn.yn)A, 当输入参数都为向量时,xl 和yl, x2和y2, xn 和yn 分别组成一组向量对,每一 组向量对的长度可以不同。
每一向量对可以绘制出一条曲线,这样可以在同一坐标内绘制岀 多条曲线。
B.当输入参数有矩阵形式时,配对的x_y 按对应列兀素为横、纵坐标分别绘制曲线,曲线 条数等于矩阵的列数。
例2:如卜所示的程序:x 1 =liuspace(0,2 *pi,l 00);x2=luispace(0.3 *pi,l 00);x3=linspace(0.4*pi,100);yl=sin(xl); y2=l+sin(x2);y3=2+sin(x3);x=[xl;x2;x3]';0.80.60.40.2-0.2-0.4-0.6-0.8y=[yl;y2;y3「plot(x,y,xl,yl-l) 其图形如图2所示:图2(3)plot函数最简单的调用格式是只包含一个输入参数:plot(x),在这种情况卜,当x是实向量时,以该向量元素的下标为横坐标,元素值为纵坐标画出一•条连续曲线,这实际上是绘制折线图。
第四讲绘图功能作为一个功能强大的工具软件,Matlab 具有很强的图形处理功能,提供了大量的二维、三维图形函数。
由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。
4.1 二维图形一、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)一、plot函数【例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函数(一)线型与颜色格式:plot(x,y1,’cs’,...)其中c表示颜色,s表示线型。
【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'go',x,y2,'b-.')其中参数'go'和'b-.'表示图形的颜色和线型。
g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。
一、plot函数(二)图形标记在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。
title(‘加图形标题');xlabel('加X轴标记');ylabel('加Y轴标记');text(X,Y,'添加文本');一、plot函数(三)设定坐标轴用户若对坐标系统不满意,可利用axis命令对其重新设定。
matlab图像处理函数大全Matlab是一种强大的科学计算软件,广泛应用于各个领域,包括图像处理。
在Matlab中,有许多内置的图像处理函数,可以帮助我们实现各种图像处理任务。
本文将介绍一些常用的Matlab图像处理函数,帮助您更好地理解和运用这些函数。
1. imread函数imread函数用于读取图像文件,并将其存储为Matlab的图像矩阵。
它可以读取多种图像格式,如JPEG、PNG、BMP等。
例如,可以使用以下代码读取名为"image.jpg"的图像文件:```matlabimage = imread('image.jpg');```2. imshow函数imshow函数用于显示图像。
它可以接受一个图像矩阵作为输入,并将其显示在Matlab的图像窗口中。
例如,可以使用以下代码显示之前读取的图像:```matlabimshow(image);```3. imresize函数imresize函数用于调整图像的大小。
它可以接受一个图像矩阵和目标大小作为输入,并返回调整大小后的图像矩阵。
例如,可以使用以下代码将图像调整为200x200的大小:```matlabresized_image = imresize(image, [200, 200]);```4. rgb2gray函数rgb2gray函数用于将彩色图像转换为灰度图像。
它可以接受一个彩色图像矩阵作为输入,并返回一个灰度图像矩阵。
例如,可以使用以下代码将彩色图像转换为灰度图像:```matlabgray_image = rgb2gray(image);```5. imadjust函数imadjust函数用于调整图像的对比度和亮度。
它可以接受一个灰度图像矩阵和目标对比度和亮度范围作为输入,并返回调整后的图像矩阵。
例如,可以使用以下代码增加图像的对比度和亮度:```matlabadjusted_image = imadjust(gray_image, [0.2, 0.8], [0, 1]);```6. imfilter函数imfilter函数用于对图像进行滤波操作。
1.绘制二维曲线的最基本函数plot2.双纵坐标函数plotyy3.坐标控制函数的调用格式为:axis([xmin xmax ymin ymax zmin zmax])axis函数功能丰富,常用的用法还有:axis equal 纵、横坐标轴采用等长刻度axis square 产生正方形坐标系(缺省为矩形)axis auto 使用缺省设置axis off 取消坐标轴axis on 显示坐标轴grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
4.图形窗口的分割subplot函数的调用格式为:subplot(m,n,p)5.绘制二维图形的其他函数1. 其他形式的线性直角坐标图在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:bar(x,y,选项)stairs(x,y,选项)stem(x,y,选项)fill(x1,y1,选项1,x2,y2,选项2,…)6.极坐标图polar函数用来绘制极坐标图,其调用格式为:polar(theta,rho,选项)其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。
7.对数坐标图形MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:semilogx(x1,y1,选项1,x2,y2,选项2,…)semilogy(x1,y1,选项1,x2,y2,选项2,…)loglog(x1,y1,选项1,x2,y2,选项2,…)8.对函数自适应采样的绘图函数fplot函数的调用格式为:fplot(fname,lims,tol,选项)9.绘制三维曲线的最基本函数plot3函数与plot函数用法十分相似,其调用格式为:plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)10.三维曲面1.平面网格坐标矩阵的生成(1)利用矩阵运算生成。
Matlab绘图函数⼀览 要查看Matlab所有绘图函数,请从Matlab主界⾯菜单查看“绘图⽬录”,或从Matlab帮助⽂档查看“Types of MATLAB Plots”()。
本⽂的图和英⽂解释摘⾃Matlab帮助⽂档。
类别Function图维度描述曲线plot2绘制曲线,相邻点之间被插值fplot输⼊函数或函数句柄、⾃变量取值区间,绘制曲线plotyy2双纵坐标图,两个纵坐标的数量级不同plot33绘制3D曲线loglog2X,Y坐标都按对数缩放semilogx2仅X坐标按对数缩放semilogy2仅Y左边按对数缩放errorbar2误差条形图,见条形直⽅⾯域bar2条形图(垂直),分为grouped和stacked风格bar333D条形图(垂直)barh2⽔平条形图,分为grouped和stacked风格bar3h33D⽔平条形图hist2频数直⽅图histc输⼊数据和区间,返回数据落在每个区间的频数pareto2帕累托图(柏拉图),见area2填充区域图,曲线和X轴之间被填充pie2饼图,⽤于表⽰⽐例pie333D饼图极坐标polar2极坐标图,以极坐标绘制曲线rose2⾓直⽅图(频数扇形图)离散数据stem2杆图,对每个数据,从X轴伸出⼀条垂直线,顶端画圆圈stem333D杆图stairs2阶梯图,相邻点间不进⾏插值scatter2散点图(⽓泡图),绘制⼀系列散点scatter333D散点图spy2稀疏模式(sparsity pattern)图,对矩阵⾮0的地⽅绘制散点plotmatrix2将矩阵绘制为散点图或散点图和直⽅图等⾼线contour2等⾼线图,⼆维函数的等值线contour333D等⾼线图,三维函数(空间函数)的等值线contourf2填充的等⾼线图contourf2填充的等⾼线图contourc等⾼线计算曲⾯⽹格surf3曲⾯图,和mesh的区别是,surf在⼩矩形上做颜⾊插值surfl3在surf基础上,加⼊光照surfc3在surf基础上,在底部绘制等⾼线图surfnorm3在surf基础上,每个⾯绘制法线surface低层次曲⾯绘制函数mesh3⽹格图,在⾏和列上绘制⼀系列曲线,构成⽹格meshc3在mesh基础上,在底部绘制等⾼线图meshz3在mesh基础上,在⽹格四周绘制“帘⼦”waterfall3瀑布图,类似于meshz函数,但在矩阵的列之间不⽣成线ribbon3带图,绘制⼀定宽度的带,相当于将⼆维曲线沿着垂直平⾯⽅向拉开⼀定宽度形成三维图形pcolor2伪彩图,根据矩阵的“相邻四个点”的值对应颜⾊插值得到⼩矩形颜⾊peaks Example function of two variablescylinder Generate cylinderellipsoid Generate ellipsoidsphere Generate spheresurf2patch Convert surface data to patch data标量场体数据slice3体积切⽚图,对体数据进⾏切⽚观察contour-slice3切⽚等⾼线图,体数据在切⽚平⾯中的等值线flow Simple function of three variables isosurface Extract isosurface data from volume data isocaps Compute isosurface end-cap geometry isocolors Calculate isosurface and patch colors isonormals Compute normals of isosurface verticesreduce-patchReduce number of patch facesreduce-volume Reduce number of elements in volume data set shrinkfaces Reduce size of patch facessmooth3Smooth 3-D datasubvolume Extract subset of volume data setvolumeboundsCoordinate and color limits for volume data feather2⽻状图,以X轴上的点为起点绘制⼀系列向量向量场体向量数据compass2射线图,以原点为起点绘制⼀系列向量quiver2⽮量场图,以采样点为起点绘制⼀系列向量quiver333D⽮量场图streamslice3绘制流场(三维向量函数)在切⽚平⾯中的流线streamline3绘制流场的流线(类似于磁感线),起点由数据指定coneplot3绘制三维圆锥,圆锥的起点由数据指定,⽅向和⼤⼩由流场指定stream-particles3绘制流场marker粒⼦stream-ribbon3绘制流场ribbon图streamtube3绘制流场流管curl Compute curl and angular velocity of vector field divergence Compute divergence of vector fieldinterp-stream-speedInterpolate stream-line vertices from flow speedstream2Compute 2-D streamline datastream3Compute 3-D streamline data多边形fill2绘制填充的多边形fill333D填充多边形patch2,3绘制⼀个或多个填充多边形Easy-to-use ezplot2Easy-to-use版绘图函数,这类函数传⼊要绘制的函数或函数句柄,以及⾃变量的定义域,调⽤具体函数绘图。