MATLAB萌新跪求大佬们帮忙

想写一段分段函数,结果出图上面什么都没有,是哪里出现问题啦

t=(0:0.001:2)
for i=0:1:10 %10 Stück Bauteile
    x=0.1*(2*rand-1);  %x=Abweichung in X-Richtung
    if t>0.036.*i+0&t<=0.036.*i+sqrt((1+x)./180000)
        s=0.5*180000.*(t-0.036.*i).*(t-0.036.*i);
    elseif t>0.036.*i+sqrt((1+x)./180000)&t<=0.036.*i+2.*sqrt((1+x)./180000)
        s=1+x-0.5*180000.*(0.036.*i+2*sqrt((1+x)./180000)-t).^2;
    elseif t>0.036.*i+2.*sqrt((1+x)./180000)&t<=0.036+0.036.*i
        s=1+x
    end
    plot(t,s)
    hold on
end

图片说明
画出来的图应该是上面的图的样子,就是t轴每个区间是0.036秒,在这个区间先做匀加速运动然后再匀减速到速度为0,然后一直保持速度为0.下一个区间的运动在前一区间运动的基础上重复,但由于每段需要运动的位移不同,所以运动不是完全一样的,例如第一段运动的函数如下图
图片说明
其中影响每个区间的只有∆x变量,
不知道我能不能表达清楚。。。

因为当你i=0时,进入不了if ,elseif 循环,所以s没有定义,直接运行会出错。另外,if等控制条件里t整个阵列作为判断?不应该是t(i)吗?
但是你的i只有10个,不太懂你要画怎么用的分段函数,建议你把分段函数发上来给我看看。我改了一些,让这个程序能够跑通,但是划出来的图是不对,因为if控制条件不对
clear all;
close all

t=(0:0.001:2);
s=zeros(1,length(t));
for i=1:1:length(t) %10 Stück Bauteile
x=0.1*(2*rand-1); %x=Abweichung in X-Richtung
if ( t(i)>0.036*i+0 ) && ( t(i)<=0.036*i+sqrt((1+x)./180000))
s(i)=0.5*180000*(t(i)-0.036*i)*(t(i)-0.036*i);
elseif t(i)>0.036*i+sqrt((1+x)./180000) & t(i)<=0.036*i+2*sqrt((1+x)./180000)
s(i)=1+x-0.5*180000*(0.036*i+2*sqrt((1+x)./180000)-t(i)).^2;
elseif t(i)>0.036*i+2*sqrt((1+x)./180000) & t(i)<=0.036+0.036*i
s(i)=1+x;
end
end
figure(1);clf;hold on
plot(t,s);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear all;
close all

t=0:0.001:0.072;
nt=fix(t(end)/0.036);

for ii=1:1:nt
x=-0.1+0.2*rand(1,1);
for i=0.036/0.001*(ii-1)+1:1:0.036/0.001*ii %10 Stück Bauteile
% x=0.1*(2*rand-1); %x=Abweichung in X-Richtung
if ( t(i)>=0.036*(ii-1) ) && ( t(i)<( 0.036*(ii-1)+sqrt((1+x)./180000)))
if ii > 1
s(i)=0.5*180000*(t(i)-0.036*(ii-1))*(t(i)-0.036*(ii-1))+tmp_s(ii-1);
else
s(i)=0.5*180000*(t(i)-0.036*(ii-1))*(t(i)-0.036*(ii-1));
end
elseif t(i)>( 0.036*(ii-1)+sqrt((1+x)./180000)) && ( t(i) < (0.036*(ii-1)+2*sqrt((1+x)./180000 ) ))
if ii > 1
s(i)=1+x-0.5*180000*(2*sqrt((1+x)./180000)-( t(i)-0.036*(ii-1))).^2+tmp_s(ii-1);
else
s(i)=1+x-0.5*180000*(2*sqrt((1+x)./180000)-( t(i)-0.036*(ii-1))).^2;
end
elseif t(i)>( 0.036*(ii-1)+2*sqrt((1+x)./180000)) && t(i)<= 0.036+0.036*(ii-1)
if ii > 1
s(i)=1+x+tmp_s(ii-1);
else
s(i)=1+x;
end
end
end
tmp_s(ii)=s(end);
end
figure(1);clf;hold on
plot(t(1:end-1),s);
% ylim([0 6000])