matlab中用if else语句表示分段函数function y=g(x)if x<-pi|x>pi y=-1;else y=cos(x)end; x=-2*pi:pi/16:2*pi; y=g(x); plot(x,g(x));结果为什么是

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 12:20:53
matlab中用ifelse语句表示分段函数functiony=g(x)ifx<-pi|x>piy=-1;elsey=cos(x)end;x=-2*pi:pi/16:2*pi;y=g(x)

matlab中用if else语句表示分段函数function y=g(x)if x<-pi|x>pi y=-1;else y=cos(x)end; x=-2*pi:pi/16:2*pi; y=g(x); plot(x,g(x));结果为什么是
matlab中用if else语句表示分段函数
function y=g(x)
if x<-pi|x>pi
    y=-1;
else
   y=cos(x)
end;
 x=-2*pi:pi/16:2*pi;
 y=g(x);
 plot(x,g(x));
结果为什么是

matlab中用if else语句表示分段函数function y=g(x)if x<-pi|x>pi y=-1;else y=cos(x)end; x=-2*pi:pi/16:2*pi; y=g(x); plot(x,g(x));结果为什么是
你的X是一个向量,然后y在赋值的时候,有时候是-1这是一个点,有时候是一个向量cos(x).
感觉你这种方法不对.应该每点对应.
x=-2*pi:pi/16:2*pi;
L = length(x);
for i=1:L
if (abs(x(i))>pi)
y(i)=-1;
else
y(i) = cos(x(i));
end
end
plot(x,y)