用MatLab制作的几个数学函数图像
实验二用matlab绘制一元函数与二元函数的图象

实验二 用matlab 绘制一元函数与二元函数的图象1.平面曲线的表示形式对于平面曲线,常见的有三种表示形式,即以直角坐标方程],[),(b a x x f y ∈=,以参数方程],[),(),(b a t t y y t x x ∈==,和以极坐标],[),(b a r r ∈=ϕϕ表示等三种形式。
2.曲线绘图的MATLAB 命令MATLAB 中主要用plot,fplot 二种命令绘制不同的曲线。
可以用help plot, help fplot 查阅有关这些命令的详细信息例16.2.1 作出函数x y x y cos ,sin ==的图形,并观测它们的周期性。
先作函数x y sin =在]4,4[ππ-上的图形,用MA TLAB 作图的程序代码为:>>x=linspace(-4*pi,4*pi,300); %产生300维向量x >>y=sin(x);>>plot(x,y) %二维图形绘图命令结果如图1.1,上述语句中%后面如“%产生300维向量x ”是说明性语句,无需键入。
图1.1 的图形此图也可用fplot 命令,相应的MATLAB 程序代码为: >>clear; close; %clear 清理内存;close 关闭已有窗口。
>>fplot('sin(x)',[-4*pi,4*pi]) 结果如图1.2.图1.2xy sin=的图形如果在同一坐标系下作出两条曲线xy sin=和xy cos=在]2,2[ππ-上的图形,相应的MA TLAB程序代码为:>>x=-2*pi:2*pi/30:2*pi; %产生向量x>>y1=sin(x); y2=cos(x);>>plot(x,y1,x,y2,’:’)%’:’表示绘出的图形是点线结果如图1.3其中实线是xy sin=的图形,点线是xy cos=的图形。
第三章 利用MATLAB绘制函数图形

四、特殊平面图形的绘制
五、三维曲线图形
plot3
如果输入自变量是三个大小相同的矩阵 x、y、z,那么 plot3 会
依序画出每个行矢量在三维空间所对应的曲线
格式:plot3(x1,y1,z1,S1, x2,y2,z2,S2,…) 说明:一次和绘制多条曲线
ezplot3
空间曲线的简易绘图命令
polar(theta,rho,'--r')
% 进行极坐标绘图
用ezpolar作图,输入: ezpolar('5*(1-sin(theta)')
四、特殊平面图形的绘制
hist指令
绘制统计直方图,对大量的资料,显示资料的分布情况和统计特性 格式:hist(Y, n) %n是一个标量,表明使用n个箱子. 将资料依大小分成数堆,将每堆的个数画出 例12:>> x=randn(500,1); %产生500个正态分布随机数 hist(x,25) %将数据绘制成25个直方
>> x= 0:0.1:4*pi; subplot(2, 2, 1); plot(x, sin(x)); subplot(2, 2, 2); plot(x, cos(x)); subplot(2, 2, 3); plot(x, exp(-x/3)); subplot(2, 2, 4); plot(x, x.^2);
注:还可直接输入 ezplot3('x','x*sin(x)*cos(x)','x*cos(x)*cos(x)',[0,20]).
举例—三维绘图
例15:同时绘制两条空间曲线. >> t = linspace(0, 10*pi, 501); plot3(t.*sin(t), t.*cos(t), t, t.*sin(t), t.*cos(t), -t); % 同时画两条曲线
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')。
1644121用MATLAB绘制函数的图形

用MATLAB 绘制一元函数的图形众所周知,函数值的计算、函数图形的绘制对理解函数的性质有很大的帮助,而绘图正是MA TLAB 最擅长的项目.常用的绘制一元函数图形命令的调用格式和功能说明见表3-1.例1 已知函数arcsin(ln )y x =,求该函数在自变量x 等于,1,e e处的函数值. 解 >> clear>> syms x y>> x=[1/exp(1),1,exp(1)] x =0.3679 1.0000 2.7183 >> y=asin(log(x)) y =-1.5708 0 1.5708例2 绘制函数sin y x =在[]1,16区间上的图形.解 >> clear>> x=1:0.01:16; %变量在[1,16]内取值,步长(点的间隔)为0.01 >> y=sqrt(x)+sin(x); >> plot(x,y)>> xlabel('x') %添加x 坐标轴的名称为x >> ylabel('y') %添加y 坐标轴的名称为y >> title('y=sqrt(x)+sin(x)') %添加图形标题为y=sqrt(x)+sin(x) 运行结果如图3-1所示.图3-1例3 绘制分段函数23,232y x x y x x =-≥⎧⎨=-<⎩,的图形.解 >> clear >> x1=2:0.01:8; >> x2=-8:0.01:2; >> y1=2*x1-3; >> y2=3-x2;>> plot(x1,y1,x2,y2)运行结果如图3-2所示.图3-2例4 同一坐标系下绘制sin ,cos ,0y x y x y ===三条曲线的图形.解 >> clear>> x=linspace(-2*pi,2*pi,800); %生成从2π-到2π共800个数值的等差数组 >> y1=sin(x); >> y2=cos(x); >> y3=0;>> plot(x,y1,x,y2,x,y3)>> gtext('y=sinx') %用鼠标来确定字符串'y=sinx'的位置 >> gtext('y=cosx') %用鼠标来确定字符串'y=cosx'的位置 >> gtext('y=0') %用鼠标来确定字符串'y=0'的位置 运行结果如图3-3所示.图3-3例5 作出椭圆方程221259x y +=的图形. 解 >> clear>> ezplot('x^2/25+y^2/9-1',[-6,6,-4,4])>> grid %为图形添加网络 运行结果如图3-4所示.图3-4例6 将同一个画面分成两个图形区域,在每个图形区域分别画出1sin cos ,y x x =+21y x x=+两条曲线的图形. 解 >> clear>> lims=[-2*pi, 2*pi];>> subplot(1,2,1) % subplot(m,n,p)将画面分成m n ⨯个图形区域,p 为当前图形区域号 >> fplot('sin(x)+cos(x)',lims) >> gtext('y=sinx+cosx') >> subplot(1,2,2)>> ezplot('x+1./x') %比较与fplot( )命令的区别 运行结果如图3-5所示.例7 作函数sin y x =,arcsin y x =和y x =的图形,并观察直接函数与反函数的图形之间的关系.解:>> clear>> x1=-pi/2:0.1:pi/2; >> y1=sin(x1); >> x2=-1:0.1:1; >> y=asin(x2); >> x3=-2:0.1:2; >> y3=x3;>> y2=asin(x2);>> plot(x1,y1,'r*',x2,y2,'y+',x3,y3) 运行结果如下图所示.用MATLAB绘制三维图形用MA TLAB绘制空间曲线与曲面的图形是由plot3( ) 等命令来实现的,常用的绘制三维图形命令的调用格式和功能说明见表4-2.表4-2 绘制三维图形命令的调用格式和功能说明例1 绘制螺旋线sincos(010) x ty t tz tπ=⎧⎪=≤≤⎨⎪=⎩.要求:将同一个画面分成两个图形区域,分别用两种方法绘制螺旋线.解>> clear>> t=0:0.001:10*pi;>> x=sin(t); >> y=cos(t); >> z=t;>> subplot(1,2,1) >> plot3(x,y,z) >> subplot(1,2,2)>> ezplot3('sin(t)','cos(t)','t',[0,10*pi]) 运行结果如图4-1所示.图 4-1例2绘制空间曲线sin cos (010)sin cos x t y tt z t t t π=⎧⎪=≤≤⎨⎪=⎩. 要求:将同一个画面分成两个图形区域,分别用两种方法绘制该空间曲线. 提示:参考例1.例3绘制平面529z x y =-+,其中03,02x y ≤≤≤≤. 解 >> clear >> x=[0:0.1:3]; >> y=[0:0.1:2];>> [x,y]=meshgrid(x,y); >> z=5-2*x+9*y; >> subplot(1,2,1) >> mesh(x,y,z) >> subplot(1,2,2) >> surf(x,y,z)运行结果如图4-2所示.图4-2例4 绘制函数22z x y =+的图形. 解 >> clear >> x=-4:0.5:4; >> y=-4:0.5:4;>> [x,y]=meshgrid(x,y); >> z=x.^2+y.^2; >> mesh(x,y,z)运行结果如图4-3所示.图4-3例5 绘制函数22z x y =-的图形. 提示:参考例4.例6绘制函数z =的图形.提示:参考例4.例7 绘制椭球面222125161x y z ++=. 解 该曲线的参数方程为5sin cos 4sin sin (0,02)cos x u v y u v u v z u ππ=⎧⎪=≤≤≤≤⎨⎪=⎩.>> clear>> u=0:0.1*pi: pi; >> v=0:0.1*pi:2*pi; >> [u,v]=meshgrid(u,v); >> x=5*sin(u).*cos(v); >> y=4*sin(u).*sin(v); >> z=cos(u); >> surf(x,y,z)运行结果如图4-4所示.图4-4例8 绘制球面2229x y z ++=.解 该曲线的参数方程为3sin cos 3sin sin (0,02)3cos x u v y u v u v z u ππ=⎧⎪=≤≤≤≤⎨⎪=⎩.提示:参考例7.。
MATLAB曲线绘制大全

一、二维数据曲线图1.1绘制单根二维曲线plot函数的基本调用格式为:plot(x,y)其中x和y为长度相同的向量,分别用于存储x坐标和y坐标数据。
例1-1在0x2p区间内,绘制曲线y=2e-0.5xcos(4x)程序如下: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和yl,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.具有两个纵坐标标度的图形在MATLAB中,如果需要绘制出具有不同纵坐标标度的两个图形,可以使用plotyy绘图函数。
MATLAB画函数图像

MATLAB画函数图像CWW的博客 2019-04-19 15:56:34 43732 收藏 95展开MATLAB绘制图时设置坐标轴的一些常用函数命令Justin_YWX 2019-08-13 17:53:06 1048 收藏 1展开利用MATLAB作图时,一些常用的函数命令:、figure()----创建新图窗;subplot(121)-----创建子图,12表示创建的子图为1行2列排列,1表示其中第一幅子图;xlim,ylim----横纵坐标的范围;xlabel,ylabel-----横纵坐标的名称;xticks,yticks-----横纵坐标刻度;xticklabels,yticklabels-----横纵坐标刻度名;title ---- 有子图时,为子图标题;无子图时,为总标题;suptitle ------ 有子图时,设置总标题。
1 画图基础(1)一元一次函数1.x=0:0.1:1;2.y=x;3.plot(x,y); %图像见下图1图1图2(2)一元多次函数1. x=0:0.1:1;2.y=x.^2;3.plot(x,y); % 图像见图22 分段函数图像1.x=0:0.1:2;2.y=x.*(x>=0&x<=1)+(-(x-1).^2+1).*(x>1&x<=2);3.plot(x,y); %图像见图34.%组合函数y=y1.*(x定义域)+y2.*(x定义域)图3图43 其他小技巧(1)多条曲线画在同一个图像里tip:使用hold on 函数1.t=[0:0.01:1];2.q1=120-180*t.^2+120*t.^3;3.q2=120-600*t.^3+900*t.^4-360*t.^5;4.plot(t,q1);hold on;5.plot(t,q2);6.%图形见图4(2)改变图像中线的颜色和线条形式(针对plot函数)1.t=[0:0.01:1];2.q1=120-180*t.^2+120*t.^3;3.q2=120-600*t.^3+900*t.^4-360*t.^5;4.plot(t,q1,'r');hold on;5.plot(t,q2,'b');6.%见图5图5通过在plot()函数括号里面增加特性来改变图线,常见的颜色和类型如图6图6(3)增加图例tip:利用l egend 函数1.t=[0:0.01:1];2.q1=120-180*t.^2+120*t.^3;3.q2=120-600*t.^3+900*t.^4-360*t.^5;4.plot(t,q1,'r'); hold on;5.plot(t,q2,'b');6.legend('a)函数图像','b)函数图像') %要按函数的顺序来添加7.%见图7。
Matlab中函数图形的三种绘制方法

Matlab中函数图形的三种绘制方法及局部和全局解
绘制函数的图形2
x
fπ区间[-1,2]
=x
)
10
sin(+
1 利用plot绘制
x=linspace(-1,2,1000);
y=x.*sin(10*pi*x)+2;
plot(x,y)
/ 函数的显式表达式,先设置自变量向量,然后根据表达式计算出函数向量/
2 利用fplot绘制
f='x.*sin(10*pi*x)+2';或f='x*sin(10*pi*x)+2';
fplot(f,[-1,2],1e-4)
/fplot函数可以自适应地对函数进行采样,能更好地反映函数的变化规律/
3 利用ezplot绘制
f='x*sin(10*pi*x)+2';
ezplot(f,[-1,2])
/隐函数绘图:如果函数用隐函数形式给出,可以利用ezplot函数绘制隐函数图形/
1和2 3的区别是2 3可以直接按照函数的原形直接写出,而1中变量相乘或除时都以点乘和点除的形式写出来的
尝试用fminbnd fminunc fminsearch及遗传算法求解上述函数在区间[-1,2]中的最小值,看看它们四个有什么不同?。
Matlab绘图函数一览

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版绘图函数,这类函数传⼊要绘制的函数或函数句柄,以及⾃变量的定义域,调⽤具体函数绘图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文字加注:
x=-1.5:0.001:1.5;
y=(x.^2-1).^3+1;
plot(x,y)
title('\fontsize{14}\fontname{宋体}函数图像:y=(x^2-1)^3+1')
xlabel('\fontsize{14}x'),ylabel('\fontsize{14}y')
text(-1,1.1,'\fontsize{8}点(1,1)处倒数为零,但无极值')
x=-10:1:10;
y=-(x-5).^2+2;
[y_max,x_max]=max(y);
num2str(y_max);
num2str(x_max);
plot(x,y)
hold on
plot(y_max,t_max,'r.')
hold off
字符串的应用:
a=2;
w=3;
t=0:0.01:10;
y=exp(-a*t).*sin(w*t);
[y_max,t_max]=max(y);
t_text=['t=',num2str(t (t_max))];
y_text=['y=',num2str(y_max)];
max_text=char('maxinum',t_text,y_text);
tit=['字符串的应用:y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)']; hold on
plot(t,y,'b')
plot(t(t_max),y_max,'r.')%最大值处以红点标示
text(t(t_max)+0.3,y_max+0.05,max_text)
title(tit),xlabel('t'),ylabel('y')
hold off
求近似极限,修补图形缺口:
t=-2*pi:pi/10:2*pi;
y=sin(t)./t;
tt=t+(t==0)*eps;%逻辑数组参与运算,用“机械零”代替零元素
yy=sin(tt)./tt;%用数值可算的sin(eps)/eps近似替代sin(0)/0
subplot(1,2,1),plot(t,y),title('残缺图形
'),xlabel('t'),ylabel('y'),axis([-7,7,-0.5,1.2])
subplot(1,2,2),plot(tt,yy),title('正确图形
'),xlabel('tt'),ylabel('yy'),axis([-7,7,-0.5,1.2])
三维图像:
z=peaks(50);
[x,y]=meshgrid([-4:0.1:4]);
m=peaks(x,y);
subplot(2,2,1);h=mesh(z);
subplot(2,2,2);surf(z);
subplot(2,2,3);plot3(x,y,m)
摆线方程图形:
a=1;
t=0:0.1:4*pi;
x=a*(t-sin(t));
y=a*(1-cos(t));
plot(x,y)
axis image
title('\fontsize{14}\fontname{宋体}摆线方程图形')
xlabel('x')
ylabel('y')
箕形线图形:
a=1;
x=-8:0.1:8;
y=8*a.^3./(x.^2+3*a.^2);
plot(x,y)
axis image
title('\fontsize{14}\fontname{宋体}箕形线图形');
xlabel('\fontsize{14}x'),ylabel('\fontsize{14}y')
阿基米德螺旋线
a=2;
t=0:0.1:5*pi;
m=a*t;
x=m.*cos(t);
y=m.*sin(t);
plot(x,y)
hold on
plot(-x,y,'b:')
axis image
title('\fontsize{14}\fontname{宋体}阿基米德螺旋线:m=at') xlabel('\fontsize{14}x')
ylabel('\fontsize{14}y')
四叶玫瑰线:
a=2;
t=0:0.01:2*pi;
b=a*sin(2*t);
x=b.*cos(t);
y=b.*sin(t);
plot(x,y)
axis image
title('\fontsize{14}\fontname{仿宋}四叶玫瑰线:b=a*sin(2*t)') xlabel('x')
ylabel('y')
对数螺线:
a=2;
t=-pi:0.01:pi;
b=a.*exp(t);
x=b.*cos(t);
y=b.*sin(t);
plot(x,y)
axis image
title('\fontsize{14}\fontname{仿宋}对数螺线:b=a*e^t')
xlabel('x')
ylabel('y')
渐伸线:
a=5;
t=0:0.01:1.5*pi;
x=a*(cos(t)+t.*sin(t));
y=a*(sin(t)-t.*cos(t));
plot(x,y)
hold on
t1=0:0.01:2*pi;
plot(a.*cos(t1),a.*sin(t1))
hold off
title('渐开线')
xlabel('x'),ylabel('y')
悬链线方程:
x=-10:0.1:20;
a=5;
y=a.*(exp(x./a)+exp(-x./a))./2;
plot(x,y)
title('悬链线')。