plot画分段函数_Matlab分段函数图像画法的几点注记「建议收藏」

plot画分段函数_Matlab分段函数图像画法的几点注记「建议收藏」摘要:本文指出《Matlab教程及实训》中关于分段函数画法的不妥,给出Matlab分段函数的最常用的几种画法。关键词:Matlab分段函数Matalb是三大数学软件之一,有强大的计算功能,图形处理功能,仿真功能,因此学好Matlab可以使我们事半功倍。我们在处理实际问题中经常遇到需要画函数图像,尤其分段函数,有时候会感到茫然,如何利用Matlab画分段函数的图像?我们都知道,画图也就是描点…

大家好,又见面了,我是你们的朋友全栈君。

摘要:本文指出《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

end

plot(x,y)

很明显,程序本身不仅存在输入错误,还存在逻辑错误,我们从分段函数的表达式看,可以推测出该函数的图像不应该是一条抛物线,而是由两条抛物线和一段线段组成。我们来分析一下深层次的原因:①第一个if语句的条件判断x>=1,也就是x行向量里面的所有的元素全部大于或者等于1,条件的逻辑判断才会真,否则为假。②elseif的条件-1

我们简单归纳一下,分段函数的几种常见的画法这里以例5-1为例:

利用逻辑变量来画图

clear

x=-5:0.1:5;

y=(x>1).*(x.^2-1)+((-1

plot(x,y)

利用find函数找非零元素

clear

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;

plot(x,y)

各个函数拼接在一起

clear

x1=-5:0.1:-1;y1=-x1.^2+1;plot(x1,y1);hold on

x2=-1:0.1: 1;y2=0.*x2;plot(x2,y2);hold on

x3=1:0.1:5;y3=x3.^2-1; plot(x3,y3)

我们还可以使用for循环+if语句或者利用while循环+if语句,我就不再一一列举了,利用上述五种方法,都能得到上述正确的函数图像。

Matlab中分段函数画法也多种多样没有必要全部掌握,掌握常见的几种方法就可以顺利的画分段函数图像。

参考文献

[1] 曹弋.Matlab 教程及实训[M].北京:机械工业出版社,2005.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137527.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • windows如何设置定时关机「建议收藏」

    windows如何设置定时关机「建议收藏」电脑定时关机是通过shutdown这个命令来实现的,不论是windows还是linux,这个命令都是关机的意思。下面我们简要的介绍一下windows如何定时关机:思路一:通过shutdown这个命令加参数来实现按“win+R”(注win键即指windows徽标键,该键的最明显的标识就是在键面上有个Windows的徽标),此时会弹出“运行”对话框,如下图所示。在对话框的编辑栏里输入“Shutdown…

    2022年5月14日
    54
  • iframe属性设置

    &lt;iframe runat="server" src="youpage’surl"width="750"height="30"frameborder="no"border="0"marginwidth="0"marginheight="0"scrolling="no"allowtransparen

    2022年4月6日
    75
  • Loadrunner11激活成功教程完成添加License失败

    Loadrunner11激活成功教程完成添加License失败Loadrunner11激活成功教程成功后,用deletelicense.exe工具把License全删除了,启动 Loadrunner,进入目录CONFUGURATION—>loadrunnerlicense,添加license提示我“Licensesecurityviolation.Operationisnotallowed”,于是我猜想是不是我运行deletelicense.exe工

    2022年7月22日
    16
  • python-opencv图像处理:sobel算子

    python-opencv图像处理:sobel算子Sobel原理:https://blog.csdn.net/zfjBIT/article/details/86655444函数原型:”’Sobel算子Sobel算子依然是一种过滤器,只是其是带有方向的。在OpenCV-Python中,使用Sobel的算子的函数原型如下:dst=cv2.Sobel(src,ddepth,dx,dy[,dst[,ksize[,s…

    2022年7月14日
    16
  • 的基本原理的面向对象的——–单个程序员必须查看

    的基本原理的面向对象的——–单个程序员必须查看

    2022年1月8日
    45
  • php实现微信小程序消息通知「建议收藏」

    php实现微信小程序消息通知「建议收藏」接入消息通知指引地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html#%E6%A8%A1%E7%89%88%E6%B6%88%E6%81%AF%E7%AE%A1%E7%9…

    2022年9月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号