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

plot画分段函数_Matlab分段函数图像画法的几点注记相关推荐

  1. matlab的tfdata函数_MATLAB 主要函数指令表(按功能分类)

    15句柄图形(Handle Graphics) 15.1图形窗的产生和控制(Figure window creation and control) clf 清除当前图 close 关闭图形 figur ...

  2. matlab中ss函数_matlab ss函数 tf函数

    matlabss 函数 tf 函数 ss 指定状态空间模型或者将线性时不变系统转成状态空间语法 ss sys = ss(a,b,c,d) sys = ss(a,b,c,d,Ts) sys = ss(d ...

  3. matlab中的mkdir函数_matlab所有函数集合

    matlab所有函数集合 更新时间:2017-2-10 14:33:00  浏览量:568  手机版 一.常用命令 1.常用命令-->管理命令和函数 addpath 添加目录到MATLAB 搜索 ...

  4. matlab中ss函数_matlab ss函数 tf函数

    ss 指定状态空间模型或者将线性时不变系统转成状态空间 语法 ss sys = ss(a,b,c,d) sys = ss(a,b,c,d,Ts) sys = ss(d) sys = ss(a,b,c, ...

  5. sgolayfilt函数_MATLAB常用函数

    数字信号处理与MA TLAB 实现 1. n1=[ns:nf]: x1=[zeros(1,n0-ns),1,zeros (1,nf-n0)]: %单位抽样序列的产生 2. subplot(2,2,4) ...

  6. matlab里toimage函数_MATLAB图像处理函数大全

    Import, Export, and Conversion Read and Write Image Data from Files imread Read image from graphics  ...

  7. plot画分段函数_python画图函数大全

    很多时候,我们需要用python画图,这样就可以更加直观的看到数据的走势,而不是干巴巴的数字. 今天,我们就给大家整理了一下python画图的常用函数,由于篇幅限制.无法将这些函数的使用方法全部表现出 ...

  8. python使用matplotlib可视化线图(line plot)、使用arrow函数在matplotlib可视化图像中添加箭头(drawing arrows in matplotlib)

    python使用matplotlib可视化线图(line plot).使用arrow函数在matplotlib可视化图像中添加箭头(drawing arrows in matplotlib) 目录

  9. R语言使用plot函数和lines函数可视化线图(line plot)时、图之间的主要区别是由选项type产生的、type参数常用参数说明、不同type生成的可视化图像对比

    R语言使用plot函数和lines函数可视化线图(line plot)时.图之间的主要区别是由选项type产生的.type参数常用参数说明.不同type生成的可视化图像对比 目录

最新文章

  1. 《Android应用开发攻略》——1.3 从命令行创建 “Hello, World”应用程序
  2. 滴答定时器的计数模式_SysTick(系统滴答定时器)
  3. mysql改为sql_项目需求变更:Mysql改为SqlServer
  4. 题解 T28305 【yizimi的旅游景点】
  5. 哈佛第二、哥大第三,第一还是它!2020USNews美国大学排名发布!
  6. oracle 表改表空间,Oracle批量修改用户表table的表空间
  7. jQuery Mobile中按钮<a>或<button>添加class样式ui-btn-*
  8. fw150um2.0linux驱动下载,fw150um无线网卡驱动
  9. python实现自动化不停打电话
  10. 怀旧在2022:游戏ROM下载+游戏模拟器推荐(安卓/iOS)
  11. 学习Java开源框架前你应该了解的
  12. EC6110M/T-Q21A/C/E-EC6108V9/V9C/V9U/V9A/V9E/V9I/V92/V97-V9C悦me/CA全系列包
  13. 怎样检测人脸相似度(人脸识别技术)
  14. arduino uno连接超声波传感器测距
  15. Java面试笔试题大汇总一(最全+详细答案)
  16. 李银河博士,作个幸福的犬儒吧
  17. mysql视图出问题如何解决_MySQL视图
  18. U3D DotH教程
  19. 免费智能机器人聊天API
  20. elementUI分页删除最后一页数据时跳转回上一页并且el-table序号递增

热门文章

  1. 绝了!搜狗输入法这骚操作!
  2. 鸿蒙系统可以安装当贝市场吗,华为智慧屏V系列怎么样?怎么安装当贝市场?...
  3. Android背景色内部渐变
  4. 仿掘金社区全栈项目开发(一)-搭建开发环境
  5. AS400遇到的一些问题和解决办法
  6. 服务器使用笔记(六):登录远程服务器
  7. 第二章 表格及样式入门 ② 代码
  8. 一个编程菜鸟向资深攻城狮的进化之路
  9. ictclas java版_10分钟开始使用ICTCLAS Java版
  10. macOS 必备软件之系统监控工具「iStat Menus」