【MATLAB】06_分段函数的多种表示方法

目录

 

方法一:(一般方法)

方法二:(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

 

你可能感兴趣的:(数学建模)