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


相关推荐

  • curl的速度为什么比file_get_contents快以及具体原因

    curl的速度为什么比file_get_contents快以及具体原因

    2022年2月10日
    52
  • Pytest(1)安装与入门[通俗易懂]

    Pytest(1)安装与入门[通俗易懂]pytest介绍pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它

    2022年7月30日
    4
  • SQL学习收获与心得

    SQL学习收获与心得SQL或结构化查询语言是一种语言,旨在允许技术和非技术用户查询,操作和转换关系数据库中的数据。由于其简单性,SQL数据库为数百万个网站和移动应用程序提供安全且可扩展的存储。有许多流行的SQL数据库,包括MySQL,MSSQL和Oracle等等。所有这些都支持通用的SQL语言标准,这是该网站将要教授的内容,但每个实现可以在它支持的附加功能和存储类型方面有所不同。基本的sql语句:选择:se…

    2022年8月21日
    7
  • vue filters 是什么?怎么使用?

    vue filters 是什么?怎么使用?vuefilters是什么?首先:filter翻译成中文是过滤器的意思。而在Vue中作用其实就是对字段进行预处理怎么使用呢?就用一个小Demo,讲解一下!目的:对字段进行处理,打印出“Helloworld!!!”首先,打印出“Helle”<template> <view> {{demo}} </view></template…

    2022年5月21日
    46
  • Kali Linux 安装过程 超详细(图文并茂,通用版)

    Kali Linux 安装过程 超详细(图文并茂,通用版)从Kali2020.1版本新功能说起,在大致读过版本发布说明后,再进行安装,就不会有太大问题,不会频繁出错。然后给出了多种镜像下载途径,包括历史所有版本的镜像,供读者自行选择下载。最后开始正式安装,内容也是十分详细,图文并茂。在文章最后,介绍了默认安装的情况下,如果获取large版本,获取更多工具。最后介绍如何更新Kali,可升级至Kali2020.2版本。

    2022年6月4日
    72
  • long转string java_java中Long类型转换为String类型的两种方法及区别

    long转string java_java中Long类型转换为String类型的两种方法及区别1、Long.ValueOf(“String”)返回Long包装类型数据包装类型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等。2、Long.parseLong(“String”)返回long基本数据类型基本数据类型:byte,int,short,long,boolean,char,float,double等。注意事项:1、字符串内…

    2022年5月14日
    104

发表回复

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

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