创建直线段、多义线和曲线

MATLAB中的直线段和多义线用Line对象表示。用line函数创建直线段对象。按照直线逼近的思路,还可以用该函数创建曲线。[大谦MATLAB,dqmatlab点com]

line(X,Y) 在当前坐标系中添加矢量X和Y定义的直线段。如果X和Y是大小相同的矩阵,则line函数用每个列的数据绘制一条直线段。

line(X,Y,Z) 创建三维直线段。

line 绘制(0,0)到(1,1)的直线段。

line(X,Y,Z,'PropertyName',PropertyValue,...) 用属性名/属性值指定的值创建直线段,没有指定的属性取默认值。

line('XData',x,'YData',y,'ZData',z,'PropertyName',PropertyValue,.. .) 在当前坐标系中创建直线段,将属性值定义为变量。是line函数的低级形式,不接受矩阵坐标数据。

line(ax, …) 可以指定坐标系ax,用于有多个坐标系的情况。

h=line(...) 返回句柄列矢量,矢量值对应于创建的每个line对象。

直线段的属性包括线型、颜色、线宽、点标记等,可以参照小节进行设置。

下面结合几个例子介绍line函数的使用。

首先创建一条线型为点虚线的直线段,起点为[1 20],终点为[1 30]。

code.matlab
>> X1=[1 20];
>> Y1=[1 30];
>> line(X1,Y1,'LineStyle', '-.')

生成图1-3。

Document Image
\[\]

图1-3 直线段

利用line函数还可以生成多义线,如下所示:

code.matlab
>> X2=[1 9 20 28];
>> Y2=[1 25 10 32];
>> line(X2,Y2,'LineWidth',2 ,'Marker','+')

生成图1-4。多义线的线宽为2,顶点用“+”标记进行了标注。

如果line函数中的位置参数为矩阵,则可以同时生成多条直线段或多义线,在命令窗口中键入下面的命令行:

code.matlab
>> X3=[1 1 1;20 20 20;28 28 28];
>> Y3=[1 5 3;10 15 9;32 30 35];
>> line(X3,Y3)

生成图1-5。

Document Image Document Image
\[\]

图1-4 多义线 图1-5 多条多义线

下面用多条直线段逼近余弦曲线,用下面的代码将[0,2π]范围内的余弦曲线用有11个顶点的多义线表示:

code.matlab
>> t=0:pi/5:2*pi;
>> line(t,sin(t),'LineWidth',3)

生成图1-6。曲线显然不平滑。

下面用精度更高的多义线(21个顶点)近似表示:

code.matlab
>> t=0:pi/20:2*pi;
>> line(t,sin(t),'LineWidth',3)

生成图1-7。现在比较平滑了。

Document Image Document Image
\[\]

图1-6 用多义线近似表示的余弦曲线 图1-7 用精度更高的多义线逼近余弦曲线

用line函数还可以绘制三维直线和曲线。

在MATLAB命令窗口输入下面的命令,绘制参数函数的三维曲线。

code.matlab
>> t=linspace(0,10*pi,200);
>> x=sin(t);
>> y=cos(t);
>> z=t;
>> line(x,y,z)
>> view(3)

生成图1-8。

Document Image
\[\]

图1-8 生成三维曲线

注意:也可以用plot和plot3函数绘制二维和三维曲线,语法格式也类似,或参考小节。它们与line函数的区别是,line函数是更低级的内部函数,绘图速度更快。