大家好,又见面了,我是你们的朋友全栈君。
关于
MATLAB
中分段函数的画法
最近拿到一题关于
MATLAB
的分段函数画法的题目
,
我在网上找了挺久
,
但没发现很多有
用的资料
.
所以感觉很棘手
.
但是问题还是要解决
,
所以我就自己整理了些东西
,
不怕大家见
笑
.
我把这些分段函数分为两类
:
一
.
对于
y=f(x)
这个模型来讲
,
一类是关于其中一个段是
y
为常量的一个模型
,
举例说
明
.
例
1.y={0,(x<0);1,(x>=0)};
在
x>-10&x<10
区间内的图形
代码如下
:
x=-10:0.01:10;
y=ones(size(x));
y(x<
=
0)=0;
plot(x,y);
axis([-10 10 -0.5 1.5]);
这样的处理方法就是对于
x
是变量而
Y
为常量的而直接定义常数矩阵
,
再通过判断进
行修改
,
只适合于
Y
为常量的基础上
.
________________________________________________
华
丽
分
割
线
_______________________________________________
二
.
第二种是
y=f(x),y
是关于
x
的一个变量
.
需要将
x
进行赋值的分段函数
.
这种处理
方法比较多
.
这里引用一段经典
matlab
分段画图的例子给大家
(
代码为蓝色区域
):
例
2: x=-3:0.01:3;
y1=zeros(size(x));
y2=zeros(size(x));
y3=zeros(size(x));
N=length(x);
for k=1:N
if x(k)=-3;
y1(k)=(-x(k).^2-4*x(k)-3)/2;
elseif x(k)>=-1&x(k)<1 ;
y2(k)=-x(k).^2+1;
else x(k)<=3&x(k)>=1 ;
y3(k)=(-x(k).^2+4*x(k)-3)/2;
end
end
y=y1+y2+y3;
plot(x,y)
这里运用的是将
Y
的值设置成三个与
x
的数量相等的空变量
.
然后分别依次讲
X
的值通过
f(x)
转换为
Y
然后画出图形并将三个图形进行组合
.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/138523.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...