注册 登录
编程论坛 Matlab

分段函数的问题

pepermint 发布于 2007-08-31 09:14, 1880 次点击

初学matlab,请求大家指点,谢谢!
一个分段函数,但循环里面的语句不能执行,不知道为什么?

clear;
x=-2:0.02:2;
y(length(x))=0;
if abs(x)>1.1
y=1.1*sign(x);
else if abs(x)<=1.1
y=x;
end
end
plot(x,y);

[此贴子已经被作者于2007-8-31 9:17:24编辑过]

4 回复
#2
seidel2007-08-31 10:58

这位小弟真逗,你说的循环语句是哪句啊!我就看到了一个条件语句,没有循环语句啊!~~~

#3
pepermint2007-08-31 11:28
回复:(pepermint)分段函数的问题

说错了,是if语句不执行

#4
ydgsl2007-08-31 15:21
clear;
x=-2:0.02:2;
n=size(x,2);
y(length(x))=0;
for i=1:n
if abs(x(i))>1.1
y(i)=1.1*sign(x(i));
elseif abs(x(i))<=1.1
y(i)=x(i);
end
end
plot(x,y);
#5
sorrentoo2007-08-31 15:30
修改成for循环语句。
下面的程序是对的。

clear;
x=-2:0.02:2;
y(length(x))=0;
a=abs(x);
for i=1:length(x)
if a(i)>1.1
y(i)=1.1*sign(x(i));
else
y(i)=x(i);
end
end
plot(x,y);
1