admin管理员组

文章数量:1794759

【MATLAB】06

【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

 

本文标签: MATLAB