代码的力量 | MATLAB分段函数的实现及绘图

假设要用MATLAB绘制如下分段函数的函数图像:

顺便分享一下这个分段函数的Markdown代码:

f(x)=\begin{cases}
x & 0\le x<1\\
x^2 & 1\le x< 2\\
4 & 2\le x<3 
\end{cases}

方法一

x = 0:0.01:5;
y = zeros(size(x));

for i = 1:length(x)
    if(x(i)>=0) & x(i)<1
        y(i)=x(i);
    if(x(i)>=1) & x(i)<2
        y(i)=x(i)^2;
    if(x(i)>=2) & x(i)<3
        y(i)=4;
    end
end

plot(x,y,'r-')
grid on

方法二

x = 0:0.01:5;
y = x.*(x>=0 & x<1) + x^2.*(x>=1 & x<2) + 4.*(x>=2 & x<3);

plot(x,y,'r-')
grid on

个人偏向于第二种,顺便放在一个函数脚本里:

% myFun.m
function y = myFun(x)
    y = x.*(x>=0 & x<1) + x^2.*(x>=1 & x<2) + 4.*(x>=2 & x<3);
end

然后在其他脚本或者命令窗口中进行调用:

x = 0:0.01:5;
y = myFun(x);

plot(x,y,'r-')
grid on

你可能感兴趣的:(代码的力量 | MATLAB分段函数的实现及绘图)