搜档网
当前位置:搜档网 › matlab 经典作图要点

matlab 经典作图要点

matlab 经典作图要点
matlab 经典作图要点

二维图形的绘制

二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,出直角坐标系外,还可以采用对数坐标系、极坐标。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。二维图形输出,利用MATLAB的二维绘图函数可以很容易作出需要的各种图形。

plot函用于绘制直角坐标的二维曲线。使用方plot(x,y,linespeci),plot(x,y)先描出点(x(i),y(i)),然后用直线依次相连,其中参数linespeci指明了线条的类型,标记符号和画线用的颜色。lot是绘制二维曲线的基本命令,但在使用此函数之前,我们需先定义曲线上每一点的x 及y坐标若要在同一个画面上画出多条曲线,只需将坐标对依次放入plot函数即可。

以下各例题中的程序都是在MATLAB编辑器中函数图象的绘制:

先是简单的一次函数图像的绘制;简单的一次函数在数学图像绘制中是比较简单的,在MATLAB语言中用plot函数就能实现。

问题1,简单的一次函数y=3x的函数图像。

程序如下:

x=0:1:10; %生成一个从0到10的步长为1的行向量

y=3*x; %变量y的表达式

plot(x,y) %生成二维图形

运行结果如图1所示。

图1 y=3x的图形

有时在数学中我们要把三角函数图像同时绘制出来,对它们的周期,极值等函数性质进行比较,在数学中我们自己很难解决,但是matlab中的图形窗口分割函数—subplot就能够实现。其调用格式为:subplot(m,n,p)。下面我们就用matlab中的subplot函数进行窗口风隔,绘制同一变量的各种三角函数图象。

问题2,在一个图形窗口中以子图形式同时绘制正弦,余弦,正切,余切曲线。

程序如下:

x=linspace(0,2*pi,600; %x的取值范围及步长

y=sin(x); %正弦函数的值给y

z=cos(x); %余弦函数的值赋给z

t=sin(x)./(cos(x)+eps); %正切函数赋变量t

ct=cos(x)./(sin(x)+eps); %与其函数赋变量ct

subplot(2,2,1); %选择2x2个区中的1号区

stairs(x,y); %生成x 与x 的阶梯图

title('sin(x)-1'); %给正弦函数添加标题

axis([0,2*pi,-1,1]); %设置坐标

subplot(2,1,2); %选择2x1个区中的1号区

stem(x,y); %生成x 与y 的杆形图

title('sin(x)-2)'); %给正弦函数添加标题

axis([0,2*pi,-1,1]); %设置坐标

subplot(4,4,3); %选择4x4个区中的3号区

plot(x,y); %产生x 与z 的二维曲线

title('cos(x)'); %给余弦函数图象添加图标

axis([0,2*pi,-1,1]); %设置坐标

subplot(4,4,4); %选择4x4中的4号区

plot(x,z); %产生x 与z 的二维曲线

title('cos(x)'); %给余弦函数图象添加图标

axis([0,2*pi,-1,1]); %设置坐标

subplot(4,4,7); %选择4x4中的7号区

plot(x,t); %产生x 与t 的二维曲线

title('tangent(x)'); %给正切函数图象添加图标

axis([0,2*pi,-40,40]); %设置坐标

subplot(4,4,8); %选择4x4中的8号区

plot(x,ct); %产生x 与ct 的二维曲线

title('cotangent(x)'); %给余切函数图象添加图标

axis([0,2*pi,-40,40]); %设置坐标

运行图像如图2所示。

图2 正弦 余弦 正切 余切函数二维图像

简单的指数函数,三角函数,幂函数等虽然麻烦,但是都用手工能够绘制出来。但是超越函数图形手工几乎是绘不出来的,matlab 强大的功能只要简单的几句程序就能解决这一问题。

问题3:绘制曲线有x y x π2sin 5.0-= 的函数图形。

程序如下:

x=0:pi/100:2*pi; %生成一个始数行向量

y=2*exp(-0.5*x).*sin(2*pi*x); %函数y 的表达式

plot(x,y) %生成二维图形

运行结果如图3所示。

图3 曲线y=.

以上是用matlable 在一个窗口中绘制一个图像,这个不是很难, 但是在同一窗口中同时绘制出以上三种图像是相当难的,更重要的是在同一窗口中同时绘制几个图像时,必须要给图像加以说明,要让图像很明了的显示出来,让人一眼就能分辨出那个函数对应的是哪一个图像。Matlab 强大的功能就能很容易的实现,matlab 中用plot 函数绘制二维图像时用plot (x,y,’k.’)这种形式就可以给不同函数图形设置不同的线型,不同的颜色。还可以用legend 函数给图像加图例,用xlabel 和ylabel 函数来给图像的坐标轴见坐标说明。

在同一窗同时绘制一次函数图象,二次函数图象和超越函数的图象,图像并做一比较。

问题4,在[-3,3]范围作出函数2x y =,x x y x 8sin 10-= ,x y 3=的图形。 程序如下:

x=0:0.001:2*pi; %生成一个从0到2步长为0.001的行向量

y=10.*exp(-x).*sin(8*x); %函数y 的表达式

plot(x,y,'k-') %生成x 与y 的二维图形,线性为实线,颜色为黑色 hold on ; %保持图形

x=-3:0.1:1; %生成一个从-3到1步长为0.1的行向量

y=x.^2; %函数y 的表达式

plot(x,y,'k.') %生成x 与y 的二维图形,线性为虚线,颜色为黑色 hold on ; %保持图形

x=1:0.1:3; %生成一个从-3到1步长为0.1的行向量

y=3*x; %函数y 的表达式

plot(x,y,'k.') %生成x 与y 的二维图形,线性为虚线,颜色为黑色 hold on ; %保持图形

legend('y=10e^[-x]sin8x','y=x^2','y=3x') %加图例

xlabel('\itx'); %x轴坐标说明

ylabel('\ity'); %y轴坐标说明

title('Is Limit Existing When x=1?') %图像添加标题

运行结果如图4所示。

图4 同一窗口中的多个函数图形

在数学课程中我们可以用matlab明确解决分段函数问题如:假如我们要解决当x=28时要求这个分段函数相对应的解。问题5求分段函数

解决这个问题的程序如下:

x=28; %输入x的值为28

for x=-10:5 %x是从-10到5变化,步长为1

if x<-1 %判断条件x的值

y=0; %符合第一个条件时为0

elseif x>=-1&x<0 %不满足的话判断其他条件

y=-3*x.^2+x; %得到相应值

elseif x>=0&x

y=sin(x)+x; %对应的值

else 另外的条件

y=pi; %y的值

end %结束条件语句

end %结束for循环

y %输出y的值

结果是:

y = 3.1416

除此之外,我们还可以解决分段的一阶常微分函数。例如,已知一阶常微分方程,

其中g

u的初值为u(0)=0,求t>=0时的解。画出图像,并求u的极大值

程序如下:

f un=inline(['((13-u)/18-(sin(10*t/pi)>0)*','1.18*sin(10*t/pi)-u/6

.7)/0.047'],'t','u'); %调用函数

[t,u]=ode45(fun,[0,10],[0]); %t和u构成向量

plot(t,u) %绘制t和u关系曲线

运行结果如图5所示。

图5 一阶分段微分函数的图形

画出这个图时,我们可以轻而易举的解出题目所提出的要求。当t>=0时u

的极大值,我们可以在图上读出,而不去经行复杂的计算。

通过这样的程序,我们可以很快的解出相应的函数值,而我们不再去麻烦的

判断。另外我们可以求解分段函数的积分,微分等计算。下面我们来用它解决分

段函数的图形问题。

上面我们讨论了用MATLAB语言绘制分段函数的问题,上面仅仅是冰山一角

罢了。下面我们用它来绘制一个更有意思的分段函数,这样,我们可以用MATLAB

语言来做一些有意思的图形,用来增加我们学习的乐趣。

问题6,形状如囧字的图像绘制,其程序如下:

x=0:0.001:2*pi; %x的取值范围及步长

c=0.1; %常数c的值

y=5./cos(x); %y的值

y(abs(x-pi/2)

plot(x,y); %绘制函数图像

运行结果如图6所示:

图6 形状似囧字的分段函数

这个函数图形意思吧,这不但是一个函数图形,而且还是我们的一个汉字的样子—囧字。这也正是这门学科吸引人之处,这样我们不仅学到了知识而且还增加了不少的兴趣。以上是对二维图像的绘制,下面我们来讨论用matlab 绘制三角函数和指数函数。

隐函数图像的绘制:如果给定了函数 显式的表达式,可以先设置自变量向量,然后根据表达式计算出函数向量,从而用plot 函数绘制出图形。但如果函数用隐函数形式给出,则很难用上述方法绘制出图形。Matlab 提供了ezplot 函数绘制隐函数图形,下面是隐函数

图像的绘制。例如绘制隐函数05153

3=+-+xy y x 的图形,参数方程???==t t x t t x sin 3sin cos 3sin 的图形。

程序如下:

subplot(1,3,1); %选择1x3中的1号区

ezplot('cos(tan(pi*x))',[0,1]);axis equal %在区间0

ezplot('x^3+y^3-5*x*y+1/5',[-3,3]) %在区间-3

subplot(1,3,3); %分区,选择1x3中的3号区

ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0,pi])

%在区间0

运行图形如图7所示。

图7 隐函数图形

有时数学中的有些函数用极坐标来处理更简单,matlab提供的polar函数专门用来绘制极坐标图形,其调用格式为polar(thera,rho,选项)。其中thera 为极坐标极角,rho为极坐标矢径,选项的内容与plot相似。例8:分别作出r =cos(4θ)、r =1+2sin(θ)的极坐标图形。程序如下:

subplot(1,2,1); %分区,选择1x2中的1号区

theta=linspace(0,2*pi); %产生0到2的一个行向量

r=cos(4*theta); %r的表达式

polar(theta,r) %绘制theta和r的极坐标图形

subplot(1,2,2); %分区,选择1x2中的2号区

t=0:0.01:2*pi; %产生0到2π,步长为0.01的一个行向量

r =1+2*sin(t); %r的表达式

polar(t,r) %绘制t与r的表达式

图形如图8所示。

图8 极坐标图形

三、三维曲面图像的绘制

三维图图形的绘制,包括三维螺旋线,三维空间曲面,三维隐函数图形,三维分段函数图形等,下面我们将用matlab 中的不同函数来绘制三维空间中漂亮的三维函数图形。

最基本的三维图形函数为plot3,他将二维绘图函数绘图函数plot 的有关功能能扩展到三维空间,可以绘制三维曲线。plot3函数用于画一个单变量的三维曲线。plot3一般语法调用格plot3(x1,y1,z1,s1,x2,y2,z2,s2…),x1,y1、z1是向量或矩阵,函数plot3以其中三个向量内的相应元素作为数据点的x 坐标、y 坐标、z 坐标,绘制这些数据点在三维空间内的连线,然后在屏幕上显示出这条三维曲线在二维平面上的投影。Si 是可选的字符串,用来指定颜色、标记符号或线形。

问题9,分别作出三维螺旋线?????===t z t t y t t x cos sin 同时画出两条空间曲线??

???===t z t t y t t x cos sin 和

t

z t t y t

t x -===cos sin 程序如下:

t=linspace(0,10*pi,600); %产生0到600的行向量,步长为10π

subplot(1,2,1); %分区,选怎1x2中的1号区

plot3(t.*sin(t),t.*cos(t),t) %绘制三维图形

t=0:0.01:10*pi; %生成0到10π,步长为0.01的行向量

subplot(1,2,2); %分区,选择1x2中的2号区

plot3(t.*sin(t),t.*cos(t),t,t.*sin(t),t.*cos(t),-t)

%绘制三维图形 运行结果如图9所示。

图9 空间螺旋线

在MATLAB 中实现网格图和曲面图的方法是:将位于X —Y 平面上的矩形网格节点作为数据点的坐标,相应的每个点上的Z 轴坐标值作为数据的值,就可以绘制网格图和曲面图。在网格图中,MATLAB 把每个数据点都和与其相邻的点用直线连接起来,形成一个网状的曲面,称为网格图。如果MATLAB 把每个数据点和与其

相邻的数据点用平面相连接,那么得到的是MATLAB 的曲面图。在MATLAB 的网格图中,线条之间的曲面是没有颜色的,而每个线条是有颜色的,线条的颜色和网格的高度有关,也即与Z 轴上的函数有关。而对于曲面图而言,线条是黑色的,线条之间的曲面是有颜色的。为了方便测试立体绘图,MATLAB 提供了一个peaks 函数,称为多峰函数,可产生一个凹凸有致的曲面,包含了三个局部极大点及三个局部极小点。该函数可以用来生成绘图数据矩阵。

问题10, 绘制函数

2)1(53)1(2222223

1)5(10)1(3y y x x x z x y x y x ------=+---+-- 的图形 程序如下:

x=-3:0.1:3; %产生从-3到3,步长为0.1的一个行向量

y=-3:0.1:3; %产生从-3到3,步长为0.1的一个行向量

[x,y]=meshgrid(x); %生成网格坐标

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) %z 向量的表达式

[x,y,z]=peaks(30); %生成多峰函数图象

surf(x,y,z); %绘制三维函数图形

运行结果如图10所示。

图10 多峰函数图形

Matlab 提供了mesh 函数和surf 函数来绘制三维曲面图。Mesh 函数用于绘制三维网格图。再不要绘制特别精细的三维曲面图时,可以通过三维三维网格图来表示三维曲面。Surf 用于绘制三维曲面图,个线条之间的补面用颜色填充。Mesh 和surf 的调用格式是,mesh (x,y,,z,c ),surf(x,y,z,c).一般情况下x,y,z 十位数相同的矩阵。x,y 是网格坐标矩阵,z 是网格点上的高度矩阵,c 用于指定在不同高度下的颜色范围。C 省略时,matlab 认为c=z ,亦即颜色的设定是正比于图形的高度的,这样就可以得到层次分明的三维图形。

问题11,用三维曲面图表现函数z=sinycosx,。

程序如下:

x=0:0.1:2*pi; %定义一个从0到2π,步长为0.01的行向量

[x,y]=meshgrid(x); %在区域[0,2π]x[0,2π]生成网格坐标

z=sin(y).*cos(x ; %函数z 的表达式

surf(x,y,z); %绘制三维曲面

x=xlabel('x-axis'),ylabel('y-axis'),zlabel('y-axis')

%添加坐标说明

title('surf'); %添加图像标题

运行图像如图11所示。

图11 函数z=sinycosx.

问题12,画出由函数z=xe-(x+y)形成的立体网状图形。

程序如下:

x=linspace(-2,2,25); %生成-2到25,步长为2的一个行向量

y=linspace(-2,2,25); %生成-2到25,步长为2的一个行向量[xx,yy]=meshgrid(x,y); %在区域[-2,25]x[-2,25]生成网格坐标zz=xx.*exp(-xx.^2-yy.^2); %变量z的表达式

subplot(1,2,1); %分区,选择1x2中的1号区

mesh(xx,yy,zz); %绘制三维曲面

subplot(1,2,2); %分区,选择1x2中的2号区

mesh(xx,yy,zz); %绘制三维曲面

subplot(1,2,2); %分区,选择1x2中的2号区

surf(xx,yy,zz); %绘制三维曲面

运行图形如图12所示。

图12 立体网状曲面

meshz可将曲面加上围裙;waterfall可在x方向或y方向产生水流效果;meshc同时画出网状图与等高线;surfc同时画出曲面图与等高线。

问题13,分别作出多峰曲面。

程序如下:

[x,y,z]=peaks; %生成多峰曲面

subplot(2,2,1); %分区,选择2X2中的1号区

meshz(x,y,z); %绘制xy平面的底座

subplot(2,2,2); %分区,选择2x2中的2号区

waterfall(x,y,z); %产生水流效果

subplot(2,2,3); %分区,选择2x2中的3号区

meshc(x,y,z); %在xy平面绘制z轴方向的等高线

subplot(2,2,4); %分区,选择2x2中的4号区

meshz(x,y,z); %绘制xy平面的底座

运行图像如图13所示。

图13 多峰曲面处理图形

隐函数图形除了二维的以外还有三维图形的绘制,下面我们用matlab中的ezsurf函数来绘制三维的分段函数图形:

问题14:??

???===--t z t y t x s s sin sin π50,80≤≤≤t 的函数图像。

程序如下:

ezsurf('exp(-s)*cos(t)','exp(-s)*sin(t)','t',[0,8,0,5*pi]) %绘制因函数图形

绘制图形如图14所示。

图14 三维隐函数图形

MATLAB 中的语句控制结构与其中的图形绘制函数共同使用来绘制三维的分段函数图形。三维的分段函数图像绘制。

程序如下;

clear;clc %清空储存空间

a=2.463;t=2.84;i=1; %a,t,i 的取值

for x=-4*pi/(3*a):0.1:4*pi/(3*a) %循环

if x>=-4*pi/(3*a)&x<-2*pi/(3*a) %if 判断语句

y(i)=sqrt(3.0)*(x+4*pi/(3*a)); %满足条件时执行

elseif x>=-2*pi/(3*a)&x<2*pi/(3*a %另外的条件1

y(i)=2*sqrt(3.0)*pi/(3*a); %条件相对应的结果

elseif x>=2*pi/(3*a)&x<=4*pi/(3*a) %条件3

y(i)=sqrt(3.0)*(-x+4*pi/(3*a)); %相应

end %结束判断语句

i=i+1; %i 的值加1

end %结束for 循环

[x,y]=meshgrid(-4*pi/(3*a):0.1:4*pi/(3*a),y); %绘制二维图形

z1=sqrt(1.00+4.0*cos(0.5*a.*x).*cos(sqrt(3.0)*a.*y/2.0)+4.0*cos(0.5*a.*x).^2); %z 轴的值

surf(x,y,z1) %绘制空间曲线

hold on %保持网格线

surf(x,y,-z1) %绘制另一个图像

运行的结果如图15所示。

图15 用MATLAB 绘制的三维分段函数

f(x)的定义如下:

2226,04()56,010,23

1,x x x x f x x x x x x x x ?+-<≠-?=-+≤<≠≠??--?且且其它

1、写一个函数文件f(x)实现该函数,要求参数x 可以是向量;

2、作出该函数的图形;

3、求出f(x)的零点与最值。

解:

(1)、编写M 函数文件

function y=f(x)

n=length(x);

if x<0 & x~=-4

y=x.^2+x-6;

elseif x>=0 & x<10 & x~=2 & x~=3

y=x.^2+5*x+6;

else

y=x.^2-x-1;

end

(2)、把文件f.m 放置在搜索路径上

(3)、运行指令

令x=5,则在命令窗口输入指令

y=f(5)

得到答案:

y =

56

(2)图形

x1=(-5):0.01:0;

y1=x1.^2+x1-6;

plot(x1,y1,'m-');

hold on

x2=0:0.01:10;

y2=x2.^2-5*x2+6;

plot(x2,y2,'r:');

hold on

x3=10:0.01:15;

y3=x3.^2-x3-1;

plot(x3,y3);

x4=-4;

y4=x4.^2-x4-1;

plot(x4,y4,'p');

hold on

x5=2;

y5=x5.^2-x5-1;

plot(x5,y5,'b*');

hold on

x6=3;

y6=x6.^2-x6-1;

plot(x6,y6,'g*');

title('函数f(x)的图形');

text(-4,-20,'曲线f1(x)=x^2+x-6');

text(2,40,'曲线f2(x)=x^2-5x+6');

text(10,146,'曲线f3(x)=x^2-x-1');

legend('f1(x)','f2(x)','f3(x)','x=-4','x=2','x=3'); 结果如图:

(2)f(x)的零点

①当x<0 & x~=-4时;

f1(x)=x.^2+x-6;

由函数的系数矩阵可得函数的根,即:

>> p1=[1,1,-6];

>> x1=roots(p1);

x1 =

-3

2

由题意可知,x的取值范围在(- ∞,0),所以x1=2舍去,即f(x)的零点之一为x1=-3.

②当x>=0 & x<10 & x~=2 & x~=3时;

f2(x)=x.^2+5*x+6

由函数的系数矩阵可得函数的根,即:

>> p2=[1,-5,6];

>> x2=roots(p2)

x2 =

3.0000

2.0000

因为x~=2 & x~=3 所以f2(x)没有零点。

③当x>=10 & x=-4 & x=2 & x=3 时;

f3(x)=x.^2-x-1;

由函数的系数矩阵可得函数的根,即:

>> p3=[1,-1,-1];

>> x3=roots(p3)

x3 =

1.6180

-0.6180

由题意可知,f3(x)在定义域内没有零点。

④综上所述,f(x)在其定义域内只有一个零点,即x=-3.

(4)、f(x)的最小值

如图所示,f(x)在定义域内只存在一个最小值,且处于最左段函数图形‘曲线f1(x)=x^2+x-6’上,即当x<0时,f(x)拥有最小值,因此,用fminbnd 函数可求出f1(x)函数的最小值,指令如下:

>> x(1)=fminbnd('x(1).^2+x(1)-6',-5,0)

>>y1=x(1).^2+x(1)-6

x =

-0.5000

y1 =

-6.2500

所以,函数f(x)的最小值为f(-0.5)=-6.5.

1、 分析一元二次函数分段函数的特性

利用MATLAB 解决一些数学中常见的分段函数性质问题,这样将MATLAB 和数学结合起来可以提高学习效率,加深对函数的理解。下面我们就讨论利用MATLAB 程序求解分段函数性质问题。

问题一、定义分段函数下面

分段函数 ???<+--≥-=0

)ln(0)sin(32)(2x x x x x x x f MATLAB 程序如下:

function y=f(x) %定义函数

y=zeros(size(x)); %产生与矩阵X同样大小的零

矩阵

[m n]=size(x); %定义矩阵

for a=1:m %矩阵宽度

for b=1:n %矩阵长度

if x(a,b)<0 %选择结构

y(a,b)=log(-x(a,b))+x(a,b);

else

y(a,b)=2*x(a,b)^2-3*sin(x(a,b)); %选择结构

end%结束if语句

end%结束for语句

end%结束for语句问题二:简单的绘图

MATLAB程序如下:

x1=0:0.01:1;%设置x1的变换范围

x2=1:0.01:2;%设置x1的变换范围

y1=x1;%定义y1

y2=2-x2;%定义y2

x=[x1,x2];%定义x矩阵

y=[y1,y2];%定义y矩阵

plot(x,y)%绘制关于x、y的曲线

运行结果如图1所示

图1

问题三、一元二次分段函数的MATLAB 实现

)(x f 定义如下

??

???--≠≠≤≤+-≠<-+=其他且且,13

2,100,6540,6)(222x x x x x x x x x x x x f

1、写出一个函数文件实现该函数

2、做出函数图形

3、求)(x f 的零点与最值

解:

1、函数文件实现该函数

编写M 函数文件

function y=f(x) %定义分段函数

n=length(x) %设置X 的取值范围

if x<0&x~4 %选择结构

y=x.^2+x-6;

else if x>=&x<10&x~=2&x~3 %选择结构

y=x.^2+5*x+6;

else

y=x.^2-x-1;

end %结束if 语句

把文件f.m 放置在搜索路径上

运行命令:

令x=5,则在命令窗口输入指令

y=f(5)

得到答案:

y=

56

2、图形

MATLAB 程序如下:

x1=(-5):0.01:0; %设置X1的取值变化

y1=x1.^2+x1-6; %定义函数f1(x )

plot(x1,y1,'m-'); %y1的平面线图

hold on %设置图形保持状态

x2=0:0.01:10; %设置X2的取值变化

y2=x2.^2-5*x2+6; %定义函数f2(x )

plot(x2,y2,'r:'); %y2的平面线图

hold on %设置图形保持状态

x3=10:0.01:15; %设置X3的取值变化

y3=x3.^2-x3-1; %定义函数f3(x )

plot(x3,y3); %y3的平面线图

x4=-4; %设置X4的值

y4=x4.^2-x4-1; %定义函数f4(x )

plot(x4,y4,'p'); %y4的平面线图

hold on %设置图形保持状态

x5=2; %设置X5的值

y5=x5.^2-x5-1; %定义函数y5

plot(x5,y5,'b*') %y5的平面线图

hold on %设置图形保持状态

x6=3; %设置X6的值

y6=x6.^2-x6-1; %定义函数y6

plot(x6,y6,'g*'); %y6的平面线图

title('函数f(x)的图形'); %加图形标题

text(-4,-20,'曲线f1(x)=x^2+x-6');%在指定位置添加图形说明

text(2,40,'曲线f2(x)=x^2-5x+6');%在指定位置添加图形说明

text(10,146,'曲线f3(x)=x^2-x-1');%在指定位置添加图形说明

legend('f1(x)','f2(x)','f3(x)','x=2','x=3');%加图例

运行结果如图2所示

图2 3、)(x f 的零点和最值

)(x f 的零点

当4~&0-=

62.^)(1-+=x x x f ;

由函数的系数矩阵可得函数的根,即:

pl=[1,1,-6];

x1=roots(pl);

x 1=

-3

2

由题意可知,x 的取值范围在)0,(-∞,所以21=x 舍去,即)(x f 的零点之一为

31-=x .

当3~&2~&10&0==<>=x x x x 时;

6*52.^)(2++=x x x f

由函数的系数矩阵可得函数的根,即

p2=[1,-5,6];

x2=roots(p2);

x2=

3.0000

2.0000

因为没有零点所以)(23~&2~x f x x ==

当3&2&4&10==-=>=x x x x 时

;12.^)(3--=x x x f

由函数的系数矩阵可得函数的根,即:

p3=[1,-1,-1];

x2=roots(p3);

X2=

1.6180

-0.6180

有题意可知,)(x f 在定义域内没有零点。

综上所述,)(x f 在定义域内只有一个零点,即3-=x .

)(x f 的最小值

如图1所示,)(x f 在定义域内之存在一个最小值,且处于最左段函数图形'62^)(1'-+=x x x f 曲线上,即当0

x(l)=fminbnd('x(l).^2+x(l)-6',-5,0)

y1=x(l).^2+x(l)-6

matlab基础作图实例

实验三 MATLAB 的绘图 一、实验目的:掌握利用MATLAB 画曲线和曲面。 二、实验内容: 1、 在不同图形中绘制下面三个函数t ∈[0,4π]的图象,3个图形分别是 figure(1),figure(2),figure(3)。 ) sin(41.0321t e y t y t y t -== =π 说明:y 1 线型:红色实线,y 2 线型:黑色虚线,y 3: 线型:兰色点线 分别进行坐标标注,分别向图形中添加标题‘函数1’,‘函数2’, ‘函数3’ 解答: 源程序与图像: t=0:0.1:4*pi; y_1=t; y_2=sqrt(t); y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1) plot(t,y_1,'-r'); title('函数1'); xlabel('t');ylabel('y_1'); figure(2) plot(t,y_2,'--k'); title('函数2'); xlabel('t');ylabel('y_2'); figure(3) plot(t,y_3,':b'); title('函数3'); xlabel('t');ylabel('y_3'); 246 8101214 02468 10 12 14 函数1 t y 1

0246 8101214 0.511.522.533.54函数2 t y 2 2 4 6 8 10 12 14 -8-6-4-2024 681012函数3 t y 3 2、 在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象。 (用2种方法来画图,其中之一使用hold on ) 使用text 在图形适当的位置标注“函数1”“函数2”,“函数3” 使用gtext 重复上面的标注,注意体会gtext 和text 之间的区别 解答: 方法一: 程序与图形: t=0:0.1:4*pi; y_1=t; y_2=sqrt(t); y_3=4*pi.*exp(-0.1*t).*sin(t); figure(1) plot(t,y_1,'-r'); gtext('函数1');

MATLAB绘图功能大全

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

MATLAB画图入门篇--各种基本图形绘制的函数与实例

MATLAB画图入门篇--各种基本图形绘制的函数与实例【来自网络】 一.二维图形(Two dimensional plotting) 1.基本绘图函数(Basic plotting function):Plot,semilogx,semilogy,loglog,polar,plotyy (1).单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[00.62.358.311.71517.719.420];plot(y) 可以在图形中加标注和网格, 例2:给例1的图形加网格和标注。 y=[00.62.358.311.71517.719.420];plot(y) title('简单绘图举例');xlabel('单元下标');ylabel('给定的矢量');grid (2).双矢量绘图(Double vector plotting):如x和y是同样长度的矢量,plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi;y=sin(x);plot(x,y) (3).对数坐标绘图(ploting in logarithm coordinate):x轴对数semilogx,y轴对数semilogy,双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[00.62.358.311.71517.719.420]; subplot(2,2,1);plot(y);subplot(2,2,2);semilogx(y) subplot(2,2,3);semilogy(y);subplot(2,2,4);loglog(y) (4)极坐标绘图(Plotting in polar coordinate): polar(theta,rho)theta—角度,rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi;polar(t,sin(2*t).*cos(2*t)) 2.多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a)x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。 例1: x=0:pi/50:2*pi;y(1,:)=sin(x);y(2,:)=0.6*sin(x);y(3,:)=0.3*sin(x);plot(x,y) (b)x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例2: x(1,:)=0:pi/50:2*pi;x(2,:)=pi/4:pi/50:2*pi+pi/4;x(3,:)=pi/2:pi/50:2*pi+pi/2; y=sin(x(1,:));plot(x,y) (c)x和y是同样大小的矩阵时,plot(x,y)绘制y矩阵中各列对应于x各列的图形。 例3: x(:,1)=[0:pi/50:2*pi]';x(:,2)=[pi/4:pi/50:2*pi+pi/4]';x(:,3)=[pi/2:pi/50:2*pi+pi/2]'; y(:,1)=sin(x(:,1));y(:,2)=0.6*sin(x(:,1));y(:,3)=0.3*sin(x(:,1)); plot(x,y) 这里x和y的尺寸都是101×3,所以画出每条都是101点组成的三条曲线。如行列转置后就会画出101条曲线,每条线

matlab经典作图

二维图形的绘制 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐 标系,出直角坐标系外,还可以采用对数坐标系、极坐标。数据点可以用向量或矩阵形式给出,类型可以是实型或复型。二维图形输出,利用MATLAB勺二维绘图函数可以很容易作出需要的各种图形。 plot 函用于绘制直角坐标的二维曲线。使用方plot(x,y,linespeci),plot(x,y) 先描出点(x(i) , y(i)),然后用直线依次相连, 其中参数linespeci指明了线条的类型,标记符号和画线用的颜色。lot是绘制二维曲线的基本命令,但在使用此函数之前,我们需先定义曲线上每一点的x 及y坐标若要在同一个画面上画出多条曲线,只需将坐标对依次放入plot函数 即可。 以下各例题中的程序都是在MATLAB?辑器中函数图象的绘制: 先是简单的一次函数图像的绘制;简单的一次函数在数学图像绘制中是比较简单的,在MATLA语言中用plot函数就能实现。 问题1,简单的一次函数y=3x的函数图像。 程序如下: x=0:1:10; %生成一个从0到10的步长为1的行向量 y=3*x; %变量y的表达式 plot(x,y) %生成二维图形 运行结果如图1所示。 图1 y=3x 的图形 有时在数学中我们要把三角函数图像同时绘制出来,对它们的周期,极值等函数性质进行比较,在数学中我们自己很难解决,但是matlab中的图形窗口分 割函数一subplot就能够实现。其调用格式为:subplot (m,n,p )。下面我们就用matlab 中的subplot函数进行窗口风隔,绘制同一变量的各种三角函数图象。 问题2,在一个图形窗口中以子图形式同时绘制正弦,余弦,正切,余切曲线。 程序如下: x=li nspace(0,2*pi,600; %x的取值范围及步长 y=sin(x); %正弦函数的值给y z=cos(x); %余弦函数的值赋给z t=sin(x)./(cos(x)+eps); %正切函数赋变量t ct=cos(x)./(sin(x)+eps); %与其函数赋变量ct

做一个实例,搞定MATLAB界面编程

做一个实例,搞定MATLAB界面编程 2009-04-12 16:55 作者:彭军 带插图版本的pdf格式文件,请下载: https://www.sodocs.net/doc/b34735626.html,/source/1144420 一个实例搞定MATLAB界面编程 作者:彭军 邮件:pengjun@https://www.sodocs.net/doc/b34735626.html, 博客:https://www.sodocs.net/doc/b34735626.html,/pengjun 下面请跟我一步一步做一个图像处理的程序,如果您坚持做完这个实例,我想MATLAB界面编程对您而言,就没有什么难度了。当然,我这里说的是,您首先要有一定的MATLAB编程基础。还有,我的MATLAB版本是2008a。在2008a以前的版本中没有工具栏编辑器,如果需要工具栏要手动写程序,这个我就不多讲了。好了,废话少说,跟我来吧! 1、在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE 界面,如下: 2、然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下: 3、点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下: 4、在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图: 5、在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。 保存我的界面为pjimage.fig. 保存完毕之后,会自动打开pjimage.m文件,而我们所有的程序都是要写在这个M文件里面的。在编程中,我们的每一个鼠标动作都对应一个Callback函数。那么我们的菜单项也是如此的。 在界面上,单击鼠标右键选择“Property Inspector”,即可打开属性窗口。当我们点击不同的控件时,其对应的属性都会在这里显示,我们可以进行修改。最主要的属性莫过于Tag属性和String属性。 设置当前Figure窗口的Tag属性为:figure_pjimage,窗口的标题(Name属性)为:图像处理实例。如下: 然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run Figure)。注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure. 我们会看到如下的界面: 那说明,我们保存的.fig文件的目录不是当前目录,但是没关系啊,我们只要

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; % 显示格线

Matlab经典案例

1、三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on 2、一窗口多图形 >> t=-2*pi:0.01:2*pi; >> subplot(3,2,1) >> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([-pi pi -100 100]) >> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t)) 3、图形样式、标注、题字(也可以利用菜单直接 Insert) >> x=0:pi/20:2*pi; >> plot(x,sin(x),'b-.') >> hold on >> plot(x,cos(x),'r--') >> hold on >> plot(x,sin(x)-1,'g:')

>> hold on >> plot(x,cos(x)-1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)-1','cos(x)-1'); >> [x1,y1]=ginput(1) %利用鼠标定位查找线上某点的值x1 = 2.0893 y1 = -0.5000 >> gtext('x=2.5') %鼠标定位放置所需的值在线上 4、 >> fplot('[sin(x),cos(x),sqrt(x)-1]',[0 2*pi]) M文件:myfun.m 内容如下: function y=myfun(x) y(:,1)=sin(x); y(:,2)=cos(x); y(:,3)=x^(1/2)-1; 再运行:>> fplot('myfun',[0 2*pi]) 同样可以得到右图 5、 >> [x,y]=fplot('sin',[0 2*pi]); >> [x1,y1]=fplot('cos',[0 2*pi]); >> plot(x,y,'-r',x1,y1,'-.k') >> legend('y=sinx','y=cosx') 6、

MATLAB绘图教程

——matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言 所不能比拟的。

matlab语言的绘图功能 不仅能绘制几乎所有的标准图形,而且其表现形式也是丰富多样的。 matlab语言不仅具有高层绘图能力,而且还具有底层绘图能力——句柄 绘图方法。 在面向对象的图形设计基础上,使得用户可以用来开发各专业的专用 图形。

一、二维绘图 (一)plot ——最基本的二维图形指令plot的功能: plot命令自动打开一个图形窗口Figure 用直线连接相邻两数据点来绘制图形 根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x, y 轴用对 数坐标表示

如果已经存在一个图形窗口,plot命令则清除当前图形,绘制新图形 可单窗口单曲线绘图;可单窗口多曲线绘图;可单窗口多曲线分图绘图;可多窗口绘图 可任意设定曲线颜色和线型 可给图形加坐标网线和图形加注功能

plot的调用格式 plot(x) ——缺省自变量绘图格式,x为向量, 以x元素值为纵坐标,以相应元素下标为横坐标绘图 plot(x,y) ——基本格式,以y(x)的函数关系作出直角坐标图,如果y为n×m的矩阵,则以x 为自变量,作出m条曲线 plot(x1,y1,x2,y2) ——多条曲线绘 图格式

plot(x,y,’s’) ——开关格式,开关量字符串s设定曲线颜色和绘图方式,使用颜色字符串的前1~3个字母,如yellow—yel表示等。 或plot(x1,y1,’s1’,x2,y2,’s2’,…)

matlab中plot基础绘图实例

%plot基本绘图 x=0:0.1:2*pi; y=sin(x) plot(x,y) %两个参数都是矩阵 x1=0:0.1:2*pi; x2=-pi:0.1:pi; y1=sin(x) y2=cos(x) plot(x1,y1,x2,y2)%多条曲线绘制在统一坐标轴上 %plot只有一个参数 x=linspace(0,2*pi,200) y=sin(x) plot(y) y2=cos(x) y3=y+i*y2%横坐标实部为正弦,纵坐标虚部为余弦,构成一个圆形 plot(y3) axis equal%将上述图型的横纵坐标调整为相同,使得椭圆变为正圆 %plot含有多个参数 x1=linspace(0,2*pi,200) x2=linspace(0,2*pi,100) x3=linspace(0,2*pi,50) y1=cos(x1) y2=sin(x2) y3=0.01*exp(x3) plot(x1,y1,x2,y2,x3,y3)%当x1,x2,x3不同维数(点数不同)可用高方法绘制 %线性选项 x=0:0.1:2*pi; y=sin(x) plot(x,y,'r')%颜色,g为绿色,y为黄色,k为黑色,默认b为蓝色 plot(x,y,'*')%形状,*为*状,p为五角星,.为小方块 plot(x,y,'--')%--为短线,:为虚线,-.为点虚线 plot(x,y,'*r--')%可以组合使用,只需用一对单引号把要求全部括起来 %标注 x=0:0.1:2*pi; y=sin(x) plot(x,y) xlabel('x')%横坐标轴名称 ylabel('y')%纵坐标轴名称

Matlab画图示例

Matlab 画图示例 1 文档说明 期刊文献中对图形格式、图中曲线线型,文字大小等都会有要求,而matlab 默认输出的图形格式和显示方式可能不符合期刊要求。本文档简单给出了几种调整matlab 输出图形格式的方法及示例图形,仅供参考。 2 示例 2.1 图形格式调整 下面给出设置图片输出格式及调整图形大小、坐标轴及题注字体的示例。如作图y=sin(x),要求图中线型为2,颜色为白底黑色;坐标轴字体为14,标注字体为12,图形宽度为21cm ,以tiff 格式输出,要求分辨率为600dpi ; 102030 40506070 角度 幅值 示例图片 图1 图形格式调整示例 点击edit--copy figure ,将图片粘贴到word,图片输出如图1。 Matlab 程序及说明见附录1 2.2 多曲线显示设置 MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型、线宽及标记点表示出来以示区别。常用的选项设置如下:

各种颜色属性 'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色 各种线型属性 '-' 实线 '--' 虚线 ':' 点线 '-.' 点划线 各种标记点属性选项 '.' 用点号绘制各数据点 '^' 用上三角绘制各数据点 '+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点 '*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点 ' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点 's'或squar 用正方形绘制各数据点 'p' 用五角星绘制各数据点 'd'或diamond 用菱 形绘制各数据点 'h' 用六角星绘制各数据点 这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线。 注意: 1)表示属性的符号必须放在同一个字符串中; 2)可同时指定2~3个属性; 3) 与先后顺序无关; 4)指定的属性中,同一种属性不能有两个以上. 下面给出几个示例。 2.2.1 线宽显示示例 作出四条曲线,线宽分别为1,3,5,7 10 20 30 40 50 60 70 角度 幅值 示例图片 图2 线宽显示示例

matlab中画图的时各种设置

MATLAB 受到控制界广泛接受的一个重要原因是因为它提供了方便的绘图 功能.本章主要介绍2维图形对象的生成函数及图形控制函数的使用方法,还将简单地介绍一些图形的修饰与标注函数及操作和控制MATLAB各种图形对象的方法. 第一节图形窗口与坐标系 一.图形窗口 1.MATLAB在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸. 2. 在MATLAB下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的 句柄.MATLAB通过管理图形窗口的句柄来管理图形窗口; 3.当前窗口句柄可以由MATLAB函数gcf获得; 4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口); figure(h)----将句柄为h的窗口设置为当前窗口; 5.打开图形窗口的方法有三种: 1)调用绘图函数时自动打开; 2)用File---New---Figure新建; 3)figure命令打开,close命令关闭. 在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已 打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗 口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形. 6.窗口中的图形打印:用图形窗口的File菜单中的Print项. 7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit菜 单中选择Properties项,打开图形对象的参数设置窗口,可以设置对象的属 性. 二.坐标系 1.一个图形必须有其定位系统,即坐标系; 2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系; 3.每个坐标系都有唯一的标识符,即句柄值; 4.当前坐标系句柄可以由MATLAB函数gca获得; 5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h为指 定坐标系句柄值. 6.一些有关坐标轴的函数: 1)定义坐标范围:一般MATLAB自动定义坐标范围,如用户认为设定的不 合适,可用:axis([Xmin, Xmax, Ymin, Ymax]) 来重新设定; 29 2) 坐标轴控制:MATLAB的缺省方式是在绘图时,将所在的坐标系也画出 来,为隐去坐标系,可用axis off;axis on则显示坐标轴 (缺省值). 3)通常MATLAB的坐标系是长方形,长宽比例大约是4:3,为了得到一个 正方形的坐标系可用:axis square 4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例 的坐标系,可用:axis equal 第二节二维图形的绘制 一. plot函数

Matlab图形绘制经典案例

Matlab图形绘制经典案例---受用无穷1、 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> grid on 2、一窗口多图形 >> t=‐2*pi:0.01:2*pi; >> subplot(3,2,1) >> plot(t,sin(t)) >> subplot(3,2,2) >> plot(t,cos(t)) >> subplot(3,2,3) >> plot(t,tan(t)) >> axis([‐pi pi ‐100 100]) >> subplot(3,2,4) >> plot(t,cot(t)) >> axis([‐pi pi ‐100 100])

>> subplot(3,2,5) >> plot(t,atan(t)) >> subplot(3,2,6) >> plot(t,acot(t)) 3、 图形样式、标注、题字 (也可以利用菜单直接Insert) >> x=0:pi/20:2*pi; >> plot(x,sin(x),'b‐.') >> hold on >> plot(x,cos(x),'r‐‐') >> hold on >> plot(x,sin(x)‐1,'g:') >> hold on >> plot(x,cos(x)‐1) >> xlabel('x'); >> xlabel('x轴'); >> ylabel('y轴'); >> title('图形样式、标注等'); >> text(pi,sin(pi),'x=\pi'); >> legend('sin(x)','cos(x)','sin(x)‐1','cos(x)‐1');

Matlab作图例子

基本xy平面绘图命令 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization)。 本节将介绍MA TLAB基本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的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆plot(1,1,'r.','markersize',50) 二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图; semilogy命令绘制半对数坐标图;polor命令绘制极坐标图. 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图. 画出y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n], 标编号,n为向量y的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标机自动绘出的. semilogx 和假设我们希望 即向量y的下x和y是由计算 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel, ylabel , title 命令可以加上. 如果x, y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=s in (x); plot(x,y) grid on, title(' y=sin( x )曲线图') xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title xlabel x坐标轴标注 ylabel y坐标轴标注 图形标题

text 标注数据点

lege nd在右上角加解释 文字 grid 给图形加上网格 hold 保持图形窗口的图形 表4.1.1.1 Matlab 图形命令 多重线 在一个单线图上,绘制多重线有三种办法第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,x n,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线?多变量方式绘图是允许不同长度的向量显示在同一图形上. 第二种方法也是利用plot绘制,但加上hold on/off命令的配合: plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵:

matlab 三维图形绘制实例

三维图形 一. 三维曲线 plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n) 其中每一组x,y,z 组成一组曲线的坐标参数,选项的定义和plot 函数相同。当x,y,z 是同维向量时,则x,y,z 对应元素构成一条三维曲线。当x,y,z 是同维矩阵时,则以x,y,z 对应列元素绘制三维曲线,曲线条数等于矩阵列数。 Example1.绘制三维曲线。 程序如下: clf, t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); %向量的乘除幂运算前面要加点 plot3(x,y,z); title('Line in 3-D Space'); xlabel('X');ylabel('Y');zlabel('Z'); grid on; 所的图形如下: X Line in 3-D Space Y Z 二. 三维曲面 1. 产生三维数据 在MATLAB 中,利用meshgrid 函数产生平面区域内的网格坐标矩阵。

语句执行后,矩阵X 的每一行都是向量x ,行数等于向量y 的元素的个数,矩阵Y 的每一列都是向量y ,列数等于向量x 的元素的个数。 2. 绘制三维曲面的函数 surf 函数和mesh 函数 example2. 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: clf, [x,y]=meshgrid(0:0.25:4*pi); %产生平面坐标区域内的网格坐标矩阵 z=sin(x+sin(y))-x./10; surf(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('surf 函数所产生的曲面'); figure; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]); title('mesh 函数所产生的曲面'); -2.5 -2-1.5-1-0.500.51surf 函数所产生的曲面

相关主题