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))))); elsealfa_n(j)=((2/3)*(c/h)+(abs(s_new(j))-(2/3)*(c/h))*exp(-h*(abs(eps_new(j))))); endalfan(j)=alfa_n(j);s_kln(j)=s_new(j)-((1/3)*s_new(j));if s_kln<0f1n(j)=abs((sqrt((-3/2)*(s_kln(j)-alfan(j))^2))-((366.772-187.398)/(0.010319-0.0010619))-192.098);elsef1n(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