MATLAB: There is no update of variables, if I iterate them in for-loop !

for loop iteration errorif else loop errorMATLAB

My 'eps_new', 's_new' values in the following matlab code is not updating itself and I get an error saying ''index exceeds no. of array elements (1)'' even though I iterate it over for-loop.
Thank You in advance.
eps_new=[0.00978536954672866];
s_new=[351.487914254540];
n=zeros;
dsn=zeros;
alfa_n=zeros;
for j=1:400
if s_new<0
alfa_n(j)=-1*((2/3)*(c/h)+(abs(s_new(j))-(2/3)*(c/h))*exp(-h*(abs(eps_new(j)))));
else
alfa_n(j)=((2/3)*(c/h)+(abs(s_new(j))-(2/3)*(c/h))*exp(-h*(abs(eps_new(j)))));
end
alfan(j)=alfa_n(j);
s_kln(j)=s_new(j)-((1/3)*s_new(j));
if s_kln<0
f1n(j)=abs((sqrt((-3/2)*(s_kln(j)-alfan(j))^2))-((366.772-187.398)/(0.010319-0.0010619))-192.098);
else
f1n(j)=abs((sqrt((3/2)*(s_kln(j)-alfan(j))^2))-((366.772-187.398)/(0.010319-0.0010619))-192.098);
end
dln(j)=f1n(j)/((df_ds*E)+c+h);
d_eps_pn(j)=dln(j)*df_ds;
n(j+1)=d_eps_pn(j)+eps_new(j);
if 0.00473>n>0.0103
eps_new(j+1)=eps_new(j)-d_eps_pn(j);
else
eps_new(j+1)=eps_new(j)+d_eps_pn(j);
end
if 0.0068985>eps_new>0.010319
dsn(j)=R*(d_eps_pn(j));
s_new(j+1)=s_new(j)+dsn(j);
elseif 0.0047328>eps_new>0.0082064
dsn(j)=R*(d_eps_pn(j));
s_new(j+1)=s_new(j)+dsn(j);
elseif 0.0082064>eps_new>0.010319
dsn(j)=-E*(d_eps_pn(j));
s_new(j+1)=s_new(j)+dsn(j);
elseif 0.0047328>eps_new>0.0068985
dsn(j)=E*(d_eps_pn(j));
s_new(j+1)=s_new(j)+dsn(j);
end
end

Best Answer

if s_new<0
For MATLAB that means the same thing as
if all(s_new<0)
That is important because you are adding additional elements to the vector in the loop.
Related Question