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]。
>> X1=[1 20];
>> Y1=[1 30];
>> line(X1,Y1,'LineStyle', '-.')
生成图1-3。
图1-3 直线段
利用line函数还可以生成多义线,如下所示:
>> X2=[1 9 20 28];
>> Y2=[1 25 10 32];
>> line(X2,Y2,'LineWidth',2 ,'Marker','+')
生成图1-4。多义线的线宽为2,顶点用“+”标记进行了标注。
如果line函数中的位置参数为矩阵,则可以同时生成多条直线段或多义线,在命令窗口中键入下面的命令行:
>> 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。
图1-4 多义线 图1-5 多条多义线
下面用多条直线段逼近余弦曲线,用下面的代码将[0,2π]范围内的余弦曲线用有11个顶点的多义线表示:
>> t=0:pi/5:2*pi;
>> line(t,sin(t),'LineWidth',3)
生成图1-6。曲线显然不平滑。
下面用精度更高的多义线(21个顶点)近似表示:
>> t=0:pi/20:2*pi;
>> line(t,sin(t),'LineWidth',3)
生成图1-7。现在比较平滑了。
图1-6 用多义线近似表示的余弦曲线 图1-7 用精度更高的多义线逼近余弦曲线
用line函数还可以绘制三维直线和曲线。
在MATLAB命令窗口输入下面的命令,绘制参数函数的三维曲线。
>> t=linspace(0,10*pi,200);
>> x=sin(t);
>> y=cos(t);
>> z=t;
>> line(x,y,z)
>> view(3)
生成图1-8。
图1-8 生成三维曲线
注意:也可以用plot和plot3函数绘制二维和三维曲线,语法格式也类似,或参考小节。它们与line函数的区别是,line函数是更低级的内部函数,绘图速度更快。