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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • datax(9):Job和TaskGroup的通讯机制

    datax(9):Job和TaskGroup的通讯机制先后看完了TaskGroupContainer和JobContainer,梳理下他们的关系与职责;一,各自职责JobContainer:Job执行器,负责Job全局拆分、调度、前置语句和后置语句等工作的工作单元。类似Yarn中的JobTrackerTaskGroupContainer:TaskGroup执行器,负责执行一组Task的工作单元,类似Yarn中的TaskTracker(Yarn中的JobTracker和Yarn中的TaskTracker通过RPC进行通讯);二.

    2022年5月16日
    30
  • 修改pycharm镜像源「建议收藏」

    修改pycharm镜像源「建议收藏」国内的镜像源地址:阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学:https://mirrors.bfsu.edu.cn/pypi/web/simple/豆瓣:http://pypi.doubanio.com/simple/清华:https://pypi.tuna.tsinghua.edu.cn/simple/网易:https://mirrors.163.com/pypi/simple/在pycharm中配置镜像源地址:…

    2022年8月27日
    3
  • 【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制

    【甘道夫】Apache Hadoop 2.5.0-cdh5.2.0 HDFS Quotas 配额控制

    2021年12月16日
    37
  • case when 判断_sqlservercase用法

    case when 判断_sqlservercase用法casewhen简单用法—改变结果SELECTCASE id WHEN21THEN ‘aaaaa’ WHEN22THEN ‘bbbbb’ELSE’其他’ END FROM hrmresource WHERE id=23casewhen复杂用法—执行不同的sqlSELECT ( CASE WHENa.id=21THEN (SELECTidFROMhrmresourceWHEREidIN(21

    2022年9月5日
    4
  • mit6.824 lab4_mit6.830

    mit6.824 lab4_mit6.830一、 BETAISAA:0、1、2、3、0xcB:0x2000、0xEDEDEDED、0xFEDEDEDE、0x2004、11000000000111110010000000000000(0xc01f2000)C:0x87654321、1、0x87654320、0x14、01110111111000010000000000000010(0x77e10002)D:17、0、32、noinstructionsneedtobechangedE:4、110000000

    2022年9月30日
    0
  • 关于DetailsView使用DropDownList1!

    关于DetailsView使用DropDownList1!关于DetailsView使用DropDownList1在DetailsView中创建一个模板列,在模板列中加入DropDownList例:<asp:TemplateFieldHeaderText=”类型”><EditItemTemplate><asp:DropDownListID=”DropDownList2″runat=”ser…

    2022年7月18日
    13

发表回复

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

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