用MatLab制作的几个数学函数图像

合集下载

实验二用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绘制函数图形

第三章 利用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绘图函数代码及图形

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绘制函数的图形

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曲线绘制大全

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画函数图像

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中函数图形的三种绘制方法

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主界⾯菜单查看“绘图⽬录”,或从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版绘图函数,这类函数传⼊要绘制的函数或函数句柄,以及⾃变量的定义域,调⽤具体函数绘图。

matlab 函数作图

matlab 函数作图

03 函数作图1 平面图形(1)竖直条形图调用格式为:bar(x,y)(2)用描点法绘制函数y f ( x) 随x 从a 到b 间的图形.调用格式为:x=a:h:b ;y=f(x) ;plot(x,y)(3)在同一坐标系下绘制多个函数图形.调用格式为:x=a:h:b ;plot(x,y1,x,y2,…)(4)绘制函数y=f(x)随x 从a 到b 间的图形.调用格式为:explo t(‘f(x)’, [a,b])(5)x 从xa 到xb和y 从ya到yb间隐函数 f ( x, y) 0 的图形.调用格式为:ezplo t(‘x’,’y’,[xa, x b , y a , y b ])(6)绘制t 从ta 到tb间参数方程x x(t ),y y(t )的函数图形.调用格式为:ezplo t(‘x’,’y’,[ta, t b ])(7)在一坐标系下可以绘制一个或多个显函数图形,对变化剧烈的函数,用此命令来进行较精确的绘画.调用格式为:fplot(’fun(x)’,[a,b])fplo t (‘[f1(x),f2(x),…]’,[a,b])其中fun(x)可以是自定义函数,[f1(x),f2(x),…]是函数组.(8)绘制散点图.调用格式为:scatter(x,y)2 空间图形(1)空间曲线.调用格式为:plot3(x,y,z)(2)产生一个以向量x 为行,向量y 为列的矩阵.调用格式为:meshgrid(x,y)(3)空间曲面.调用格式为:surf(x,y,z)(4)网格曲面.调用格式为:mesh(x,y,z)例 1 一次考试成绩0~10 分有0 人,10~20 分有0 人,20~30 分1 人,30~40 分有1 人,50~60 分有2 人,60~70 分有18 人,70~80 分有20 人,80~90 分有9 人,90~100 分有6 人.绘出成绩分析竖直条形图.【matlab 命令】>> x=0:10:90;>> y=[0,0,1,1,0,2,18,20,9,6];>> bar(x,y)【输出结果】20002图1例1输出图像例 2 绘制显函数图形.x(1)设 y 1x 3 2x , y2000 cos2sin x请分别作出这两个函数在区间 x[20,40] 的图像,然后将它们的图像在一个平面直角坐标系中,并判断方程 y 1x 3 2 x 1500cos x2sin x 有几个实数解.(2)在 x[0,4] 上画出分段函数方法一:【matlab 命令】>> x=-20:0.1:40;>> y1=x.^3-35*x.^2+100*x+1500; >> y2=2000*(cos(x/2)-sin(x)); >> figure(1)>> plot(x,y1,'b-'); >> figure(2) >> plot(x,y2,'k');f ( x )32 x 2x 20 x 2 x 2的图像>> figure(3)>> plot(x,y1,'b-',x,y2,'k')【输出结果】图2例2(1)函数y1图3 例 2(1)函数 y 2 输出图像图4例 2(1)函数 y 1 和 y 2 输出图像 从图中知:有 7 个交点,也就是有 7 个实数根.说明:绘制图形着色时,g 表示绿色,r 表示红色,b 表示蓝色,k 表示黑色.方法二:【matlab 命令2】%自定义函数M文件fx1 function y1=fx1(x)y1=x^3-35*x.^2+100*x+1500%自定义函数M文件fx2 function y2=fx2(x)y2=2000*(cos(x/2)-sin(x));Matlab命令窗口输入以下命令: >> figure(1)>> fplot('fx1(x)',[-20,40]); >> figure(2)>> fplot('fx2(x)',[-20,40]); >> figure(3)>> fplot('[fx1(x) , fx2(x)] ', [-20,40]); 【输出结果2】结果同上.【matlab 命令3】>> x=0:0.01:2;>> y=(2*x-x.^2).^(1/3);>> plot(x,y,'k','linewidth',2)>> hold on>> x=2:0.01:4;>> y=x-2;>> plot(x,y,'k','linewidth',2)【输出结果3】图5例2(2)函数f(x)的输出图像例3绘制隐函数和参数方程所确定函数的图形.(1)在x [3,3] 上画隐函数x 2 2 9 的图像.(2)在t [0,2] 上画参数方程x cos3 t ,y sin 3 t 的图像.【matlab 命令1】>> ezplot('x^2+y^2-9',[-3,3])>> axis equal【输出结果1】图6例3(1)输出图像说明:axis on 显示坐标轴,axis off 取消坐标轴,grid on 表示加网格线,grid off 表示不加网格线,clf 清楚图形窗口中的图形.也可以通过编辑图像的方法改变或增加设置,比如在图形窗口中,菜单栏Tools中鼠标选中Edit-Plot,可改变图像的颜色.【matlab 命令2】>> ezplot('cos(t)^3','sin(t)^3',[0,2*pi])【输出结果2】图7例3(2)输出图像例4将图4,5,6,7在同一个图形窗口表现出来.【matlab 命令】clfsubplot(2,2,1)x=-20:0.1:40;y1=x.^3-35*x.^2+100*x+1500;y2=2000*(cos(x/2)-sin(x));plot(x,y1,'b-',x,y2,'k');subplot(2,2,2)x=0:0.01:2;y=(2*x-x.^2).^(1/3);plot(x,y) holdon x=2:0.01:4;y=x-2;plot(x,y)subplot(2,2,3)ezplot('x^2+y^2-9',[-3,3])axis equal subplot(2,2,4)ezplot('cos(t)^3','sin(t)^3',[0,2*pi])【输出结果】图8 例4输出图像例5已知平面内8个散点的坐标(1,15,2,20(3,27(4,36(5,49,(6,65(7,87(8,117,在直角坐标系中绘制点图.【matlab 命令】 clf x=1:8; y=[15.3,20.5,27.4,36.6,49.1,65.6,87.8,117.6]; scatter(x,y,'ko') 【输出结果】图9例6 在区间[0,10] 上画出参数曲线x sin t, y cos t, z t .【matlab 命令】clft=0:pi/50:10*pi;plot3(sin(t),cos(t),t)【输出结果】图10例7画函数Z ( X Y) 2 的图形.【matlab 命令】clfx=-3:0.1:3; y=1:0.1:5;[X,Y]=meshgrid(x,y);Z=(X+Y).^2;surf(X,Y,Z)shading flat【输出结果】图11例8画出马鞍曲面Z X 2 Y2 在不同视角的网格图.【matlab 命令】clfx=-3:0.1:3; y=1:0.1:5;[X,Y]=meshgrid(x,y);Z=X.^2-Y.^2;mesh(X,Y,Z)【输出结果】图123 习题1.某城市一年12个月的日平均气温(单位: 0C )分别为:-10,-6,5,10,20,25,30,24,22,19,10,6,试画出条形图. 2.作出函数 f ( x )cos(e x ) e x / 2) 在区间 x [4,4] 的图形3.作隐函数 sin( xy ) 0 在 [6,6] 内的图形.cos x 2 x 2 4.已知分段函数 y x x 1 ,作出 15 x 15 的函数图形. 2 sin( x 1) 1x 15.在同一直角坐标系中,作出函数 y5 的图形和函数 x 3 的图形.6.已知sin( x 2 2 )7.绘制空间图形:(墨西哥帽子).x 2 2。

任务10.3 用MATLAB绘制函数图形

任务10.3  用MATLAB绘制函数图形
ymin<y<ymax绘制f(x,y) = 0的图形. • ezplot(f, [a,b]):在区间a<x<b和a<y< b绘制f(x,y) = 0的图
形.
一、 利用Matlab绘制平面图形
对于参数方程x = x(t)和y = y(t),ezplot函数的 调用格式为: • ezplot(x,y):在默认区间 0<t<2π 绘制 x=x(t) 和y=y(t)的图
★ Matlab中主要用plot,fplot,ezplot等命令来绘制曲线,使用 时要注意3个命令之间的区别。
一、 利用Matlab绘制平面图形
1)plot的调用格式
• plot(x) —— 缺省自变量绘图格式,x为向量, 以x元素值 为纵坐标,以相应元素下标为横坐标绘图.
• plot(x,y) —— 基本格式,以y(x)的函数关系作出直角坐标 图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线.
fplot(f,[a,b]) 在区间 [a,b] 上绘制函数f的图形
ezplot(f,[a,b]) 在区间 [a,b]上绘制函数f的图形
figure(n) 指定n号图形窗口
subplot(m,n,k) 将图形窗口分为 m*n 个子图,指向第 k 幅图
hold on/hold off 保留/释放图形窗口的图形
xmax]的函数图。 fplot(fun,lims,’s’) — 以指定线形绘图。
一、 利用Matlab绘制平面图形
例4 用fplot函数绘制 f(x)=cos(tan(πx)) 的曲线. 解 命令如下:
fplot('cos(tan(pi*x))',[ 0,1])
一、 利用Matlab绘制平面图形

matlab在同一个坐标系绘制几个函数的图像

matlab在同一个坐标系绘制几个函数的图像
plot(x,y,'s') s为可选参数 具体可参考下面 Matlab入门教程--二维绘图 2.基本xy平面绘图命令 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 x b 蓝色 + + 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还有其他各种二维绘图函数,以适合不同的应用,详见下表。 小整理:其他各种二维绘图函数 bar 长条图 errorbar 图形加上误差范围 fplot 较精确的函数图形 polar 极座标图 hist 累计图 rose 极座标累计图 stairs 阶梯图 stem 针状图 fill 实心图 feather 羽毛图 compass 罗盘图 quiver 向量场图 以下我们针对每个函数举例。 当资料点数量不多时,长条图是很适合的表示方式: close all; % 关闭所有的图形视窗 x=1:10; y=rand(size(x)); bar(x,y); 如果已知资料的误差量,就可用errorbar来表示。下例以单位标准差来做 资料的误差量: x = linspace(0,2*pi,30); y = sin(x); e = std(y)*ones(size(x)); errorbar(x,y,e) 对於变化剧烈的函数,可用fplot来进行较精确的绘图,会对剧烈变化处进 行较密集的取样,如下例: fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是绘图范围 若要产生极座标图形,可用polar: theta=linspace(0, 2*pi); r=cos(4*theta); polar(theta, r); 对於大量的资料,我们可用hist来显示资料的分 情况和统计特性。下面 几个命令可用来验证randn产生的高斯乱数分 : x=randn(5000, 1); % 产生5000个 ?=0,?=1 的高斯乱数 hist(x,20); % 20代表长条的个数 rose和hist很接近,只不过是将资料大小视为角度,资料个数视为距离,? ⒂眉昊嬷票硎荆? x=randn(1000, 1); rose(x); stairs可画出阶梯图: x=linspace(0,10,50); y=sin(x).*exp(-x/3); stairs(x,y); stems可产生针状图,常被用来绘制数位讯号: x=linspace(0,10,50); y=sin(x).*exp(-x/3); stem(x,y); stairs将资料点视为多边行顶点,并将此多边行涂上颜色: x=linspace(0,10,50); y=sin(x).*exp(-x/3); fill(x,y,'b'); % 'b'为蓝色 feather将每一个资料点视复数,并以箭号画出: theta=linspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); feather(z); compass和feather很接近,只是每个箭号的起点都在圆点: theta=linspace(0, 2*pi, 20); z = cos(theta)+i*sin(theta); compass(z); 3.基本XYZ立体绘图命令 在科学目视表示(Scientific visualization)中,三度空间的立体图是 一个非常重要的技巧。本章将介绍MATLAB基本XYZ三度空间的各项绘图命 令。 mesh和plot是三度空间立体绘图的基本命令,mesh可画出立体网状图, plot则可画出立体曲面图,两者产生的图形都会依高度而有不同颜色。下 列命令可画出由函数 形成的立体网状图: x=linspace(-2, 2, 25); % 在x轴上取25点 y=linspace(-2, 2, 25); % 在y轴上取25点 [xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵 mesh(xx, yy, zz); % 画出立体网状图 surf和mesh的用法类似: x=linspace(-2, 2, 25); % 在x轴上取25点 y=linspace(-2, 2, 25); % 在y轴上取25点 [xx,yy]=meshgrid(x, y); % xx和yy都是21x21的矩阵 zz=xx.*exp(-xx.^2-yy.^2); % 计算函数值,zz也是21x21的矩阵 surf(xx, yy, zz); % 画出立体曲面图 为了方便测试立体绘图,MATLAB提供了一个peaks函数,可产生一个凹凸有 致的曲面,包含了三个局部极大点及三个局部极小点,其方程式为: 要画出此函数的最快方法即是直接键入peaks: peaks 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) 我们亦可对peaks函数取点,再以各种不同方法进行绘图。meshz可将曲面 加上围: [x,y,z]=peaks; meshz(x,y,z);

matlab函数图像画图教程

matlab函数图像画图教程

Matlab画图教程1、MATLAB简介:MATLAB语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。

2、MATLAB的绘图功能:(1)单窗口单曲线绘图x=[0, 0.58,0.84,1,0.91,0.6,0.14]plot (x)(2)单窗口多曲线绘图t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)(3)单窗口多曲线分图绘图t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y,t,y1,t,y2)subplot(1,3,1); plot(t,y)subplot(1,3,2); plot(t,y1)subplot(1,3,3); plot(t,y2)t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2)subplot(3,1,1); plot(t,y)subplot(3,1,2); plot(t,y1)subplot(3,1,3); plot(t,y2)(4)多窗口绘图t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);plot(t,y)figure(2)plot(t,y1)figure(3)plot(t,y2)(5)可任意设置颜色与线型t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); subplot(1,3,1);plot(t,y,'r-')subplot(1,3,2);plot(t,y1,'g:')subplot(1,3,3);plot(t,y2,'b*')(6)图形加注功能t=0:0.1:10y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi];y=[-0.3;0.8];s=['sin(t)';'cos(t)'];text(x,y,s);title('正弦和余弦曲线');legend('正弦','余弦')xlabel('时间t'),ylabel('正弦、余弦') gridaxis squarefill-基本二维绘图函数x=[1 2 3 4 5];y=[4 1 5 1 4];fill(x,y,'r')绘制阶梯曲线x=0:pi/20:2*pi;y=sin(x);stairs(x,y)绘制极坐标绘图t=0:2*pi/90:2*pi;y=cos(4*t);polar(t,y)绘制火柴杆绘图t=0:0.2:2*pi; y=cos(t); stem(y)绘制直方图t=0:0.2:2*pi; y=cos(t); bar(y)绘制彗星曲线图t= -pi:pi/500:pi;y=tan(sin(t))-sin(tan(t)); comet(t,y)绘制三维线形图t=0:pi/50:10*pi;plot3(t,sin(t),cos(t),'r:')三维多边形y1=rand(3,5);y2=rand(3,5);y3=rand(3,5);fill3(y1,y2,y3,'m');hold on;plot3(y1,y2,y3,'yo')矩阵的三维网线图z=rand(6);0.8808 0.0729 0.4168 0.7694 0.3775 0.47760.3381 0.7101 0.0964 0.6352 0.3826 0.7086 0.1895 0.8791 0.6747 0.8965 0.6876 0.2380 0.7431 0.3594 0.5626 0.8784 0.1217 0.3910 0.7189 0.0899 0.8130 0.4865 0.0768 0.9759 0.8792 0.1610 0.8782 0.1131 0.1433 0.6288 z=round(z)1 0 0 1 0 00 1 0 1 0 10 1 1 1 1 01 0 1 1 0 01 0 1 0 0 11 0 1 0 0 1mesh(z);不出图…meshgrid——网线坐标值计算函数x=-5:5; y=x;[X,Y]=meshgrid(x,y)Z=X.^2+Y.^2mesh(X,Y,Z)三维曲面图x=-5:5; y=x;[X,Y]=meshgrid(x,y)Z=X.^2+Y.^2surf(X,Y,Z)练习1(1)在同一幅图上的(-pi,pi)区间,用0.5的间隔绘制sinx的红色曲线,用0.1的间隔绘制sin(x+0.5)的绿色曲线,用0.01的间隔绘制sin(x+1)的蓝色曲线。

用MatLab制作的几个数学函数图像

用MatLab制作的几个数学函数图像

用M a t L a b制作的几个数学函数图像-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN文字加注: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 onplot(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 onplot(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)/0subplot(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 imagetitle('\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 imagetitle('\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 onplot(-x,y,'b:')axis imagetitle('\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 imagetitle('\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 imagetitle('\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 ont1=0:0.01:2*pi;plot(a.*cos(t1),a.*sin(t1))hold offtitle('渐开线')xlabel('x'),ylabel('y')悬链线方程:x=-10:0.1:20;a=5;y=a.*(exp(x./a)+exp(-x./a))./2; plot(x,y)title('悬链线')。

MATLAB 绘制函数的图形

MATLAB 绘制函数的图形

MATLAB绘制函数的图形图形是MATLAB的主要特色之一.包括二维绘图、三维绘图和特殊图形等等.作为入门部分这里以例子的形式仅介绍几个简单的绘图指令.MATLAB中最常用的绘图函数为plot,根据不同的坐标参数,它可以在二维平面上绘制出不同的曲线.(1)二维平面绘图—— plot函数例4 ( 图1.19 )x=0:pi/100:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,'k:',x,y2,'b-') %绘制包括线型与颜色的曲线title('sine and cosine curves'); % 标题xlabel('independent variable X'); % x轴标题ylabel('dependent variable Y'); % y轴标题text(2.8,0.5,'sin(x)'); % 图形部分含义说明text(1.4,0.3,'cos(x)'); % 图义说形部分含明legend('sin(x)','cos(x)'); % 图例说明axis([0,7,-1,1]); % 设定坐标范围图1.19说明:每条曲线的线型和颜色由字符串'cs'指定,其中c表示颜色,s表示线型(表1.1)颜色符号颜色线型符号s 线型y 黄色﹒点m 紫色。

圆圈c 青色X 叉号r 红色+ 加号g 绿色* 星号b 蓝色 - 实线 w 白色 : 点线 k 黑色 —﹒ 点划线—虚线表1.1 颜色与线型曲线标记· point (点) X x-mark (叉号)O circle (园_字母O) + plus (加号) * star (星号) s square (方块) d diamond(点) v triangle(down) (下三角) ^ triangle(up) (上三角) < triangle(left) (左三角) > triangle(right) (右三角)p pentagram (空心五角星) h hexagram (空心六角星)(2)函数f(x)图象绘图—— fplot 函数和ezplot 函数绘制函数f(x)的曲线方法有多种,最常用的方法:对采样点向量x 计算出f(x)的值向量y ,再用plot(x,y)函数绘制。

用MATLAB绘制一元函数和二元函数的图象

用MATLAB绘制一元函数和二元函数的图象

《MATLA‎B语言》课程论文用MATL‎A B绘制一‎元函数和二‎元函数的图‎象姓名:**学号: *****‎*****‎ 5专业:通信工程班级: 2010级‎通信1班指导老师:***学院:物理电气信‎息学院完成日期:2011.12.20用MATL ‎A B 绘制一‎元函数和二‎元函数的图‎像(马军 12010‎24524‎ 5 2010级‎通信工程1‎班)【摘要】大学物理力‎学中涉及许‎多复杂的数‎值计算问题‎,例如非线性‎问题,对其手工求‎解较为复杂‎,而MATL ‎AB 语言正‎是处理非线‎性问题的很‎好工具,既能进行数‎值求解,又能绘制有‎关曲线,非常方便实‎用。

另外,利用其可减‎少工作量,节约时间,加深理解,同样可以培‎养应用能力‎。

【关键词】一元函数 二元函数 MATLA ‎ B 图像的绘制‎一、问题的提出‎MATLA ‎B 语言是当‎今国际上科‎学界(尤其是自动‎控制领域)最具影响力‎、也是最有活‎力的软件。

它提供了强‎大的科学运‎算、灵活的程序‎设计流程、高质量的图‎形可视化与‎界面设计、便捷的与其‎他程序和语‎言接口的功‎能。

MATLA ‎B 语言在各‎国高校与研‎究单位起着‎重大的作用‎.它是一种集‎数值计算、符号运算、可视化建模‎、仿真和图形‎处理等多种‎功能…二、实验内容1.平面曲线的‎表示形式对于平面曲‎线,常见的有三‎种表示形式‎,即以直角坐‎标方程],[),(b a x x f y ∈=,以参数方程‎],[),(),(b a t t y y t x x ∈==,和以极坐标‎],[),(b a r r ∈=ϕϕ表示等三种‎形式。

2.曲线绘图的‎M ATLA ‎B 命令MATLA ‎B 中主要用‎p lot,fplot ‎二种命令绘‎制不同的曲‎线。

plot(x,y) 作出以数据‎(x (i),y(i))为节点的折‎线图,其中x,y 为同维数‎的向量。

plot(x1,y1,x2,y2,…) 作出多组数‎据折线图 fplot ‎(‘fun’,[a,b]) 作出函数f ‎u n 在区间‎[a,b]上的函数图‎。

Matlab画函数图像

Matlab画函数图像

用Matlab画函数图像一、螺旋线1.静态螺旋线a=0:0.1:20*pi;h=plot3(a.*cos(a),a.*sin(a),2.*a,'b','linewidth',2);axis([-50,50,-50,50,0,150]);grid onset(h,'erasemode','none','markersize',22);xlabel('x轴');ylabel('y轴');zlabel('z轴');title('静态螺旋线');2.动态螺旋线t=0:0.1:10*pi;i=1;h=plot3(sin(t(i)),cos(t(i)),t(i),'*','erasemode','none');grid onaxis([-2 2 -2 2 0 35])for i=2:length(t)set(h,'xdata',sin(t(i)),'ydata',cos(t(i)),'zdata',t(i));drawnowpause(0.01)endtitle('动态螺旋线');(图略)3.圆柱螺旋线t=0:0.1:10*pi;x=r.*cos(t);y=r.*sin(t);z=t;plot3(x,y,z,'h','linewidth',2);grid onaxis('square')xlabel('x轴');ylabel('y轴');zlabel('z轴');title('圆柱螺旋线')二、旋转抛物面b=0:0.2:2*pi;[X,Y]=meshgrid(-6:0.1:6);Z=(X.^2+Y.^2)./4;meshc(X,Y,Z);axis('square')xlabel('x轴');ylabel('y轴');zlabel('z轴');title('旋转抛物面')或直接用:ezsurfc('(X.^2+Y.^2)./4')三、椭圆柱面load clownezsurf('(2*cos(u))','4*sin(u)','v',[0,2*pi,0,2*pi])view(-105,40) %视角处理shading interp %灯光处理colormap(map) %颜色处理grid on %添加网格线axis equal %使x,y轴比例一致xlabel('x轴');ylabel('y轴');zlabel('z轴'); %添加坐标轴说明title('椭圆柱面') %添加标题四、椭圆抛物面b=0:0.2:2*pi;[X,Y]=meshgrid(-6:0.1:6);Z=X.^2./9+Y.^2./4;meshc(X,Y,Z);axis('square')xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('椭圆抛物面')或直接用:ezsurfc('X.^2./9+Y.^2./4')五、'双叶双曲面ezsurf('8*tan(u)*cos(v)','8.*tan(u)*sin(v)','2.*sec(u)',[-pi./2,3*pi./2,0,2*pi]) axis equalgrid onaxis squarexlabel('x轴');ylabel('y轴');zlabel('z轴');title('双叶双曲面')六、双曲柱面load clownezsurf('2*sec(u)','2*tan(u)','v',[-pi/2,pi/2,-3*pi,3*pi]) hold on %在原来的图上继续作图ezsurf('2*sec(u)','2*tan(u)','v',[pi/2,3*pi/2,-3*pi,3*pi]) colormap(map)shading interpview(-15,30)axis equalgrid onaxis equalxlabel('x轴');ylabel('y轴');zlabel('z轴');title('双曲柱面')七、双曲抛物面(马鞍面)[X,Y]=meshgrid(-7:0.1:7);Z=X.^2./8-Y.^2./6;meshc(X,Y,Z);view(85,20)axis('square')xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('双曲抛物面')或直接用:ezsurfc('X.^2./8-Y.^2./6')八、抛物柱面[X,Y]=meshgrid(-7:0.1:7);Z=Y.^2./8;h=mesh(Z);rotate(h,[1 0 1],180) %旋转处理%axis([-8,8,-8,8,-2,6]);axis('square')xlabel('x轴');ylabel('y轴');zlabel('z轴'); title('抛物柱面')或直接用:ezsurfc('Y.^2./8')九、环面ezmesh('(5+2*cos(u))*cos(v)','(5+2*cos(u))*sin(v)','2*sin(u)',[0,2*pi,0,2*pi]) axis equalgrid onxlabel('x轴');ylabel('y轴');zlabel('z轴');title('环面')十、椭球ezsurfc('(5*cos(u))*sin(v)','(3*sin(u))*sin(v)','4*cos(v)',[0,2*pi,0,2*pi]) axis equalgrid onxlabel('x轴');ylabel('y轴');zlabel('z轴');title('椭球')十一、单叶双曲面ezsurf('4*sec(u)*cos(v)','2.*sec(u)*sin(v)','3.*tan(u)',[-pi./2,pi./2,0,2*pi]) axis equalgrid onxlabel('x轴');ylabel('y轴');zlabel('z轴');title('单叶双曲面')十二、旋转单叶双曲面load clownezsurf('8*sec(u)*cos(v)','8.*sec(u)*sin(v)','2.*tan(u)',[-pi./2,pi./2,0,2*pi]) colormap(map)view(-175,30)%alpha(.2) %透明处理axis equalgrid onaxis squarexlabel('x轴');ylabel('y轴');zlabel('z轴');title('旋转单叶双曲面')十三、圆柱面subplot(1,2,1)ezsurf('(2*cos(u))','2*sin(u)','v',[0,2*pi,0,2*pi]) grid onshading interpaxis equalxlabel('x轴');ylabel('y轴');zlabel('z轴');title('圆柱面')subplot(1,2,2)cylinder(30)shading interpaxis squaretitle('调用cylinder函数所得圆柱面')下面给出用colormap()改变图像颜色的例子:(用了灯光效果"shading interp") colormap(); %hot/cool/copper/gray/hsv/spring/summer/winter...colormap(hsv)colormap(hot)colormap(gray)colormap(cool)colormap(copper)下面做了旋转("view([ ])")、灯光(“shading interp”)、透明(“alpha()”)处理:。

Matlab中函数图形的三种绘制方法

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软件作函数图像彭莲芳(萍乡高等专科学校,江西萍乡337000)摘要:本文指出了Matlab软件具有强大的作图功能,归纳并列举了运用Matlab绘制五种基本函数图像的指令和方法,为绘制不同种类的图形提供了范例。

关键词:Matlab软件;函数图像;绘图指令中图分类号:TP391.41 文献标识码:A 文章编号:1007-9149(2010)03-0026-03 函数作图一直是科技和教育工作者研究问题的一种重要手段。

一个切合实际问题的图形,可以使问题的研究化繁为简,使抽象的对象得到明白直观的体现,使科学论证更有说服力。

Matlab软件具有强大的作图功能,能处理各种数学函数图像,准确地绘制曲线的线型、颜色、数据、点形状等,较之“描点法”作图有无比的优越性。

但是,目前Matlab软件的这一功能未得到很好的推广发挥,人们过多地注意到它的数值计算和数字处理,未能将Matlab与Word的交互式作用有机地结合起来,面对种类繁多的函数作图往往采用传统的Word方法,对涉及语句指令的Matlab绘图不愿问津。

因此,掌握Matlab的基本作图技巧和语句指令,正确处理好与Word的交互作用,显得十分重要。

基本函数图像的绘制包括:二维或三维图形、隐函数图形、极坐标图形、网线曲面图形和球面图形等。

其五种基本指令的常用格式如下:1二维图像指令plot(x,’s’),x是向量,s是可选参数,用于指定绘制曲线的线形、颜色、数据点形状。

s的选择不涉及图像的本质属性,可以略去。

s缺省时,系统自动选择。

如:正弦、余弦函数图像x=0:0.1:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,x,y2);grid on,title('正弦、余弦曲线图' );gtext(' y=sin(x)' );gtext(' y=cos(x)' );再如:重要极限的函数图像y=sinxx,x≠01 ,x=0x=-12:0.5:12;x=x+eps;y=sin(x)./x;plot(x,y);grid on,title('函数y=sinx/x的图像' )收稿日期:2010-04-26作者简介:彭莲芳(1960—),女,江西安福人,讲师,主要从事计算机应用等方面的研究工作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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('悬链线')。

相关文档
最新文档