matllab调用M文件,提示输入参数的数目不足

以下为M文件代码,及输入命令后结果

img

img

同学,你好,画分段函数图像fplot有两种做法,自定义函数里面不能出现选择语句:
第一种,合起来画

f = @(x) (x>=0 & x<=0.5).*(2*x) + (x>0.5 & x<=1).*(2*(1-x));
fplot(@(x)f(x), [0,1])  %这里也可以这样 fplot(f, [0,1])

或者,第二种,分开画

fplot(@(x) 2*x, [0,0.5],'b'); %'b'代表蓝色线
hold on
fplot(@(x) 2*(1-x), [0.5,1],'b'); 

img

或者你自己定义函数

function y = f(x)
y = (x>=0 & x<=0.5).*(2*x) + (x>0.5 & x<=1).*(2*(1-x));%注意点乘
end

然后调用

fplot(@(x)f(x), [0,1])%或者用:fplot(@f, [0,1])

点开图片后可以看得清晰,初学matlab,拜托了大家