当前位置:文档之家› matlab经典作图

matlab经典作图

matlab经典作图
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

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

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

title( 'si n(x)-1' ); %給正弦函数添加标题

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

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

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

title( 'si n(x)-2)' ) J%给正弦函数添加标题

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( 'tan ge nt(x)' ); %给正切函数图象添加图标

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

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

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

title( 'cota ngen t(x)' ); %給余切函数图象添加图标

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

运行图像如图2所示

□12 3 4 5 6

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

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

问题3:绘制曲线有y 0.5x sin2 x的函数图形。

程序如下:

x=0:pi/100:2*pi;

y=2*exp(-0.5*x).*si n(2*pi*x); Plot(x,y)

运行结果如图3所示。

图3 曲线y=t 「、丄二取.

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

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

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

%函数y 的表达式

%生成x 与y 的二维图形,线性为实线,颜色为黑色 %保持图形 %生成一个从-3到1步长为0.1的行向量 %函数y 的表达式

%生成x 与y 的二维图形,线性为虚线,颜色为黑色 %保持图形

%生成一个从-3到1步长为0.1的行向量 %函数y 的表达式

%生成x 与y 的二维图形,线性为虚线,颜色为黑色 %保持图形

,'y=xA2' , 'y=3x' ) %加图例

%生成一个始数行向量

%函数y 的表达式 %生成二维图形

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

y=10.*exp(-x).*si n(8*x); plot(x,y,

'k-')

hold on;

x=-3:0.1:1;

y=x.A2;

plot(x,y,

'k.')

hold on; x=1:0.1:3;

y=3*x;

plot(x,y, 'k.')

hold on ;

lege nd( 'y=10e A [-x]si n8x'

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

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

ti tle( 'Is Limit Exist ing When x=1?' ) % 图像添加标题

运行结果如图4所示。

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

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

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

x=28;

for x=-10:5

if x<-1

y=0;

elseif x>=-1

&x<0

y=-3*x.A2+x;

elseif x>=0& x

y=si n( x)+x;

else

%输入x的值为28

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

%判断条件x的值

%符合第一个条件时为0

%不满足的话判断其他条件

%得到相应值

% 另外的条件

%对应的值

另外的条件

y=pi;

end

%y的值

%结束条件语

end

y

结士果是. 结果疋.

y = 3.1416

%结束for循环

%输岀y的值

除此之外,我们还可以解决分段的一阶常微分函数分

方程,

。例如,已知一阶常微

其中

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

f un=i nli ne(['((13-u)/18-(si n(10*t/pi)>0)*','1.18*s in (10*t/pi)-u/6 .7)/0.047'],'t','u'); [t,u]=ode45(fu n,[0,10],[0]); plot(t,u)

运行结果如图5所示。

%调用函数

%t 和u 构成向量

绘制t 和u 关系曲线

。当 t>=0时u

图5

画出这个图时,我们可以轻而 的极大值,我们可以在图上读出, 通过这样的程序,我们可以很, 判断。另外我们可以求解分段函数的积分 段函数的图形问题。 上面我们讨论了用MATLAB?言绘制分段函数的问题, 罢了。下

面我们用它来绘制一个更有意思的分段函数, 语言来做一些有意思的图形,用来增加我们学习的乐趣。 问题6,形状如囧字的图像绘制,其程序如下: x=0:0.001:2*pi;

%x 的取值范围及步长 c=0.1; %常数c 的值 勺解出题目所提 经行复杂的计 而我们不再去麻烦的 F 面我们来用它解决分 上面仅仅是冰山一角 这样,我们可以用MATLAB y=5./cos(x); y(abs(x-pi/2)

运行结果如图6所示:

%y 的值 %函数的条件极其取值 %绘制函数图像

这个函数图形意思吧,这不但是一个函数图形,而且还是我们的一个汉字的样子一囧 字。这也正是这门学科吸引人之处, 这样我们不仅学到了知识而且还增加了不少的兴趣。

上是对二维图像的绘制,下面我们来讨论用

隐函数图像的绘制:如果给定了函数 matlab 绘制三角函数和指数函数。 显式的表达式,可以先设置自变量向量,然后根

plot 函数绘制出图形。但如果函数用隐函数形式给出, Matlab 提供了 ezplot 函数绘制隐函数图形,下面是隐函数

,[0,1]);axis equal %在区间 0

%分区,选择1x3中的2号区

,[-3,3])

%在区间-3

%分区,选择1x3中的3号区 ,'sin(3*t)*sin(t)'

,[0,pi])

%在区间0

运行图形如图7所示。

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

据表达式计算出函数向量,从而用 则很难用上述方法绘制出图形。 图像的绘制。例如绘制隐函数

y 3

5xy

1 0的图形, 5

x 参数方程

x sin 3t cost ” 的

sin 3tsi nt

图形。

程序如下:

subplot(1,3,1); ezplot( 'cos(ta n( pi*x))' subplot(1,3,2);

ezplot( 'x A 3+y A 3-5*x*y+1/5'

subplot(1,3,3); ezplot( 'si n(3*t)*cos(t)'

%选择1x3中的1号区

图7 隐函数图形

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

subplot(1,2,1); %分区,选择1x2中的1号区 theta=li nspace(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 n,步长为0.01的一个行向量 r =1+2*si n( t); %r 的表达式

polar(t,r)

%绘制t 与r 的表达式

图形如图8所示。

5 x yti/5 =

x

-3 —j ------ L

Q D

polar 函数

其中thera 分别作出r

相关主题
文本预览
相关文档 最新文档