matlab中分段函数怎么写

如题所述

第1个回答  2016-01-08
有很多种形式可以实现分段函数,其中最简单而运算起来又最快的是:
下面以你的题目为例
function m=fenduanhanshu(t)
m=t*(t>=0 & t1 & t<=2)+0.1*(t2)

【解释】
在Matlab中,上述函数中的表达式m=t*(t>=0 & t1 & t<=2)+0.1*(t2)的运算规则是当布尔表达式为true时,布尔表达式的值取1,参与运算,否则取0,参与运算。
例如,当表达式中的(t>=0 & t=0 & t1 & t<=2)和(t2)都不成立,取0参与运算,故此时m=t*1+(-t+2)*0+0.1*0=t。
Matlab中的这种设计极大地方便了用户进行科学计算,减少了用户书写的代码量,开发效率大大提高,个人非常喜欢,所以也极力推荐各位使用。

当然还可以用if……elseif……else……end语句,在此不再多说了。

【绘制函数】
x=0:0.001:2;
y=fenduanhanshu(x);
plot(x,y)

还有就是用Matlab自带的函数工具箱,具体大家自己找下。
第2个回答  推荐于2017-09-27
function y = fcn(x)

if x > 0; y = x^2 + (1+x)^1/4 + 5; return; end;

if x = 0; y = 0; return; end;

if x < 0; y = x^3 + sqrt(1-x) - 5; return; end;

% 以上 fcn(x) 即 f(x)追问

最后那一个是什么意思呢?我是小白 不太明白啊

本回答被提问者采纳
相似回答