跳转到主内容
极星编程网:以代码为星,赴技术山海!

Matlab分段函数怎么用?

大家好,我是苏承栈。今天咱们来聊聊Matlab中那个强大的分段函数——piecewise。这玩意儿在我们处理一些复杂的不规则函数时,可是大有用处呢!

首先,来看看分段函数的语法:

pw = piecewise(cond1,val1,cond2,val2,...)
pw = piecewise(cond1,val1,cond2,val2,...,otherwiseVal)

这里,cond1、val1、cond2、val2...是按顺序排列的,意思是当cond1为True时,函数值为val1,当cond2为True时,函数值为val2,以此类推。如果没有条件为True,则返回NaN。加了个otherwiseVal,就是没有条件满足时,返回这个值。

举个例子,看看怎么定义一个简单的分段函数:

syms x
y = piecewise(x < 0,-1,  x > 0,1)

这个函数就是当x小于0时,y等于-1,当x大于0时,y等于1。

当然,分段函数不仅可以用来定义表达式,还可以用来定义符号函数。比如:

syms y(x)
y(x) = piecewise(x < 0,-1,x > 0,1)

这样,y(x)就是一个符号函数了。

分段函数还能干啥?微分、积分、求极限,样样不在话下!

syms x
y = piecewise(x < -1,1/x,x >= -1,sin(x)/x);
diffy = diff(y,x)         % 微分
inty = int(y,x)           % 积分
limit(y,x,0)              % 极限
limit(y,x,-1,'right')     % 右极限
limit(y,x,-1,'left')      % 左极限

最后,还想说说怎么修改和增添分段表达式。比如,我们有一个分段表达式:

pw = piecewise(x < 2,-1,x > 0,1)

我们可以这样修改它:

pw = subs(pw,x < 2,x < 0)           % 将条件 x < 2 变更为 x < 0
pw = piecewise(x > 5,1/x,pw)        % 增添条件 x > 5 时值为 1/x 

好了,今天的分享就到这里。如果你对Matlab分段函数还有其他疑问,或者想了解更多编程技巧,记得来「极星编程网」(www.jxgpc.com)找我哦!

相关文章