plot画分段函数_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.cn/137527.html原文链接:https://javaforall.cn
相关文章
- 《MATLAB编程》例题-画分段函数图像
- 如何用matlab编写分段函数_请教各位怎样用matlab定义一个分段函数MATLAB分段函数…[通俗易懂]
- Matlab中axis函数使用
- Matlab中length函数的使用
- matlab debounce,Debounce Temporal Properties
- matlab函数rand,randn,randi用法整理
- 【Matlab】如何规范地编写一个MATLAB函数文件
- matlab中find函数用法[通俗易懂]
- 从matlab的bwmorph函数的'majority'参数中扩展的一种二值图像边缘光滑的实时算法。
- 数字图像处理均值滤波matlab函数_均值滤波怎么计算
- matlab输出语句fprintf例子_matlab中compose函数
- zigzag扫描matlab,ZIGZAG扫描的MATLAB实现
- butterworth matlab,Matlab实现Butterworth滤波器
- matlab维纳滤波器函数_逆滤波器
- matlab plot函数详解取值范围_matlab为什么plot不出来图
- imread参数_imread函数图片路径matlab
- Matlab赋值_matlab二维数组赋值
- matlab_matlab反归一化
- MATLAB循环_matlab如何循环计算
- matlab 汽车振动,基于MatLab的车辆振动响应幅频特性分析
- Matlab循环语句_matlab中if语句的用法
- matlab代码实现四阶龙格库塔求解微分方程
- matlab绘制figure的x y轴特殊标签数据
- 【MATLAB】数据类型 ( 执行代码 | 清空命令 | 注释 | 数字 | 字符 | 字符串 )
- 【MATLAB】基本绘图 ( 修改对象属性 | 修改坐标轴属性 | 修改坐标轴范围 | 修改文字大小 | 修改刻度 | 修改线属性 )
- 【数字信号处理】卷积编程实现 ( Matlab 卷积和多项式乘法 conv 函数 | 使用 matlab 代码求卷积并绘图 )
- 函数科学计算软件MATLAB 2022中文版下载安装,MATLAB软件激活
- matlab数据如何利用MongoDB管理MATLAB数据?(mongodb管理)