matlab中使用分段函数不能得到正确的曲线,怀疑是循环函数写的不对,小萌求解答

#函数的图像分布与示例中的曲线不同
小萌我的代码是

x=0:1:180; %范围为180 每次增加一度
[S1,a]=size(x); %返回矩阵x的行数S1和列数a
alpha=zeros(1,a); %定义艾尔法为一行a列零阵
phil=zeros(1,a);
alpha1=zeros(1,a);
alpha2=zeros(1,a); %以上相同定义
s=input('please input s=');
d=input('please input d='); %显示输入s和d的值
alpha_max=acos(d/s)+pi/2; 
r=d/2;
for i=1:length(x) %产生与x相同的长度的向量 元素是1\2直至x
    alpha(i)=x(i)*pi/180;
    alpha1(i)=asin(r/(sqrt((s-r*sin(alpha(i)))^2+(r*cos(alpha(i)))^2)));
    alpha2(i)=asin((s-r*sin(alpha(i)))/sqrt((s-r*sin(alpha(i)))^2+(r*cos(alpha(i)))^2)); %多加一组括号
    if (alpha(i)>=0)&&(alpha(i)<=pi/2) %定义分段函数
        phi1(i)=1/2*(1+sin(alpha(i)+alpha1(i)+alpha1(i)));
    elseif (alpha(i)>=pi/2)&&(alpha(i)<=alpha_max) 
        phi1(i)=1/2*(1+sin(alpha(i)+alpha1(i)+pi-alpha2(i)));
    elseif (alpha(i)>=alpha_max)&&(alpha(i)<=pi)
        phi1(i)=0; 
    end
    plot(alpha,phi1,'r') %输出阿尔法费的图相关系.红色线显示
end

#输入值s=78 d=49.2

img

#我的曲线

img

#示例的变量和分布函数如图、结果为红色虚线部分

img

img

img

能不能贴一下你的代码呢题主,你这样图片重打多麻烦,类似这种(按一下右上角</>)

x = 1;
y =2;