Matlab报错x<1

Matlab为什么会一直报错 “出错 if x<1”

img

function y=fum(x)
if x<1
    y=x;
 elseif x<=10 && x>=1
    y=2*x-1;
elseif x<=30 && x>10
    y=3*x-11;
else
   y=sin(x)+log(x);
end

在 MATLAB 中,当某些操作(如大于、小于)应用于不止一个数时,需要使用数组或矩阵形式。在这个例子中,函数 fum 期望参数 x 是标量值或数组。因此,可以通过两种方式来解决该问题:

  1. 将函数 fum 应用于标量值:
y = fum(0.5);
  1. 将函数 fum 应用于数组:
x = -10:0.1:50; % 创建从-1050的数字数组
y = fum(x); % 应用函数fum到数组x
plot(x, y); % 绘制图像

注意,在将函数 fum 应用于数组时,我们需要使用点运算符 . 来使 Matlab 中运算符逐元素作用于数组。例如,要检查每个元素是否小于1,我们需要使用点运算符编写 x<1,而不能简单地使用 x<1