各路大侠帮忙看下,用matlab编写这个分段函数错在哪里了??

用MATLAB编写函数,计算0<=x<1,f(x)=x;1<=x<2,f(x)=2-x;其它,f(x)=0,函数的输入参数为x,输出参数为f,函数名为fun。
源码如下:
function f=fun(x)
if (x>0&x<1)==1
f=x;
elseif (1<x&x<2)==1
f=2-x;
else
f=0;
end
该怎么改?

你定义的函数没什么问题呀,很严谨!
不知道你说的问题出在哪儿?但语言有点繁琐。
function f=fun(x)
if x>=0&x<1
f=x;
elseif 1<=x&x<2
f=2-x;
else
f=0;
end
随意调用一个参数试一下:
x=1/2好吧
clear all;clc;
fun(1/2);
结果:
ans =
0.5000
结果是对的。再调用一个x=6
clear all;clc;
fun(6)
结果:
ans =
0
是吧,没问题。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-01
是不是你调用的格式不对?
函数本身没问题!
第2个回答  2012-12-30
声明我没弄过matlab;局外人给个看法:
if(x>=0 && x<1);matlab里if语句是否需要==;与操作符号是&还是&&;elseif(x>=1 &&x<2);
第3个回答  2012-12-31
(x>0&x<1)==1这样的判断语句不好,直接if x>=0&x<1
第4个回答  2012-12-31
一直没有尝试自己编写函数,都是用来解决问题的说。
相似回答