目录
方法一:(一般方法)
方法二:(find)
方法三:(关系运算)
方法一:(一般方法)
按照正常的思路,表示分段函数是在脚本文件里用 if ..else..语句来完成,例如下列代码:
function [y]=ch3_1(x)
n=length(x);
for i=1:n
if x(i)>1
y(i)=x(i).^2;
elseif x(i)>-1
y(i)=1;
else
y(i)=3+2.*x;
end
end
end
>> ch3_1(1)
ans =
1
>> ch3_1(1:3)
ans =
1 4 9
方法二:(find)
但是!!! 这样未免显得太low,而且代码过于繁琐,我们采用另一种方法,用find来简化代码:
function [y]=ch3_2(x)
y=zeros(size(x)); %生成与x长度相同的零数组
k1=find(x>1);y(k1)=x(k1).^2;
k2=find(x>-1);y(k2)=1;
k3=find(x<=-1);y(k3)=3+2*x(k3);
end
>> ch3_2(-3:3)
ans =
-3 -1 1 1 1 1 1
方法三:(关系运算)
>> x=-3:3
x =
-3 -2 -1 0 1 2 3
>> (x>1).*x.^2
ans =
0 0 0 0 0 4 9
>> (x>-1&x<=1)
ans =
0 0 0 1 1 0 0
>> (x<=-1).*(3+2*x)
ans =
-3 -1 1 0 0 0 0
更多推荐
【MATLAB】06_分段函数的多种表示方法
发布评论