摘要:本文指出了《Matlab教程及实训》中分段函数的画法存在的问题,给出了Matlab分段函数最常用的几种画法。
关键字: Matlab段函数
Matalb是三大数学软件之一,具有强大的计算功能、图形处理功能、仿真功能,学好Matlab可以使我们的工作更多。 我们在处理实际问题中经常遇到需要绘制函数图像的事情。 特别是段函数,有时会困惑如何利用Matlab来绘制段函数的图像。
据了解,画画就是点画,点画越多,就能得到越平滑的图像。 二维空间绘制描绘平面上的点,三维空间绘制描绘空间中的点。
在《Matlab教程及实训》这本书里,关于分段函数画画的程序本人觉得有点不合适。 现在,分析如下。
示例5-1根据函数绘制曲线,使用if结构将曲线分为三段,绘制的曲线如图5-1所示,函数为
步骤如下。 x=-5:0.1:5;
if x=1
y=x.^2-1
elseif -1
y=0*x
else
y=-x.^2-1
结束
打印(x,y ) )。
很明显,程序本身不仅有输入错误,还有逻辑错误。 根据段函数的公式,可以推测该函数的图像由两条抛物线和一条线组成,而不是抛物线。 分析一下深刻的理由吧。 第一个if语句的条件判断x=1,即x行向量中的所有元素都大于等于1时,条件的逻辑判断为真,否则为假。 elseif的条件-1
简单地说,段函数的一些常用画法在这里以例5-1为例。
用逻辑变量画画
清除器
x=-5:0.1:5;
y=(x1 ).* ) *(x.^2-1) ((-1 ) )。
打印(x,y ) )。
使用find函数查找非零元素
清除器
x=-5:0.1:5;
y=Zeros(size ) x ); %预处理提高运算速度
k1=find(x=1); %k1返回与x=1匹配的数组地址。 单下标)
y(k1 )=x ) k1 ).^2-1;
k2=find(-1 )
y(K2 )=0;
k3=find(x=-1 ); %k3返回与x=匹配
y(k3 )=-x ) k3 ).^2 1;
打印(x,y ) )。
各函数相连
清除器
x1=-5:0.1:-1; y1=-x1.^2 1; plot(x1,y1 ); 霍尔德on
x2=-1:0.1: 1; y2=0.*x2; plot ) x2、y2; 霍尔德on
x3=1:0.1:5; y3=x3.^2-1; 打印(x3,y3 ) )。
也可以使用for循环if语句,也可以使用while循环if语句,但不再列举。 通过上述五种方法可以得到上述正确的函数图像。
在Matlab中,分割函数的绘制方式也很多样,不需要全部掌握,只要掌握几种常见的方法,就可以顺利地绘制分割函数图像。
参考文献
[1] hxdc.Matlab教程与实践教学[M] .北京:机械工业出版社,2005 .