0
   Ti=[];
k=1;T0=0.98;eps=.001;delta_t=T0;
Z=[];
for teta=0:.1:1
while delta_t > eps
    Ti(k)=T0;
    p1=(-pi1^2*s*(1 + teta) + 2*pih1*Ti(k)*(a + c1*s *(1 + teta)) +  cc1*g*Ti(k)*(2*a+ s *(2*(c1 + pi1) + pih1*Ti(k))*(1 + teta)) + h1*Ti(k)*(2*a + s*(2*(c1 + pi1) + pih1*Ti(k))*(1 + teta)))/(4*(cc1*g + h1 +  pih1)*s*Ti(k)*(1 + teta)); 
    p2=-pi2^2* s (1 + teta) + 2* pih2*(a + c2*s*(1 + teta))*Ti(k) + cc2*g*Ti(k)*(2*a + s*(1 + teta)*(2*(c2 + pi2) + pih2*Ti(k))) +  h2*Ti(k)* (2* a + s* (1 + teta)* (2* (c2 + pi2) + pih2* Ti(k)))/(4* (cc2* g +  h2 + pih2)* s* (1 + teta)*Ti(k));
    b1=-(((-pi1 + cc1*g*Ti(k)+ h1*Ti(k))*(-h2*pi1^2*s - h1*pi2^2*s*teta - pi2^2*pih1*s*teta - 2*a*h1*h2*Ti(k) - 2*a*h2*pih1*Ti(k) +  2*c1*h1*h2*s*Ti(k) + 2*h1*h2*pi1*s*Ti(k) + 2*c1*h2*pih1*s*Ti(k) + 2*c2*h1*h2*s*teta*Ti(k) + 2*h1*h2*pi2*s*teta*Ti(k) + 2*c2*h2*pih1*s*teta*Ti(k) + 2*h2*pi2*pih1*s*teta*Ti(k) +  h1*h2*pih1*s*(Ti(k))^2 + pih2*(-pi1^2*s + pih1*Ti(k)*(-2*a + 2*c1*s + 2*c2*s*teta + h2*s*teta*Ti(k)) + h1*Ti(k)*(-2*a + s*(2*c1 + 2*pi1 + 2*c2*teta + pih1*Ti(k) + h2*teta*Ti(k)))) + cc2*g*(-pi1^2*s +pih1*Ti(k)*(-2*a + 2*s*(c1 + (c2 + pi2)*teta) +  pih2*s*teta*Ti(k)) + h1*Ti(k)*(-2*a + s*(2*c1 + 2*pi1 + 2*(c2 + pi2)*teta + pih1*Ti(k) +  pih2*teta*Ti(k)))) + cc1*g*(-pi2^2*s*teta +  pih2*Ti(k)*(-2*a + 2*s (2*c1 + pi1 + c2*teta) + pih1*s*Ti(k)) + cc2*g*Ti(k)*(-2*a +s*(2*c1 + 2*pi1 + 2*(c2 + pi2)*teta + pih1*Ti(k) +pih2*teta*Ti(k))) +  h2*Ti(k)*(-2*a +s*(2*c1 + 2*pi1 + 2*(c2 + pi2)*teta + pih1*Ti(k) + pih2*teta*Ti(k))))))/(4*(cc1*g + h1 + pih1)^2*(cc2*g +h2 + pih2)*Ti(k)));    
    b2=-(((-pi2 + cc2*g*Ti(k) + h2*Ti(k))*(-h1*pi2^2*s - pi2^2*pih1*s -  h2*pi1^2*s*teta - 2*a*h1*h2*Ti(k) - 2*a*h2*pih1*Ti(k) +  2*c2*h1*h2*s*Ti(k) + 2*h1*h2*pi2*s*Ti(k) + 2*c2*h2*pih1*s*Ti(k) + 2*h2*pi2*pih1*s*Ti(k) + 2*c1*h1*h2*s*teta*Ti(k) + 2*h1*h2*pi1*s*teta*Ti(k) + 2*c1*h2*pih1*s*teta*Ti(k) + h1*h2*pih1*s*teta*Ti^2 + pih2 (-pi1^2*s*teta +  pih1*Ti(k)*(-2*a + 2*c2*s + 2*c1*s*teta + h2*s*Ti(k)) +h1*Ti(k)*(-2*a +  s*(2*c2 + 2*(20 + pi1)*teta + h2*Ti(k) + pih1*teta*Ti(k)))) +  cc2*g*(-pi1^2*s*teta + pih1*Ti(k)*(-2*a + 2*s (c2 + pi2 + c1*teta) + pih2*s*Ti(k)) +  h1*Ti(k)*(-2*a +  s*(2*(c2 + pi2) + 2*c1*teta + 2*pi1*teta + pih2*Ti(k) + pih1*teta*Ti(k)))) +  cc1*g*(-pi2^2*s + pih2*Ti(k)*(-2*a + 2*s (c2 + (20 + pi1)*teta) +  pih1*s*teta*Ti(k)) + cc2*g*Ti(k)*(-2*a + s*(2*(c2 + pi2) + 2*c1*teta + 2*pi1*teta + pih2*Ti(k) + pih1*teta*Ti(k))) + h2*Ti(k)*(-2*a +s (2*(c2 + pi2) + 2*c1*teta + 2*pi1*teta + pih2*Ti(k) +  pih1*teta*Ti(k))))))/(4*(cc1*g + h1 + pih1)*(cc2*g + h2 + pih2)^2*Ti(k)));
    Ti(k+1)=(Sqrt(-a*b1^2*cc1*g - a*b2^2*cc2*g - a*b1^2*h1 - a*b2^2*h2 - 2*a^2*b1*pi1 - 2*a^2*b2*pi2 - a*b1^2*pih1 + b2^2*cc2*g*p1*s + b2^2*h2*p1*s + b1^2*cc1*g*p2*s + b1^2*h1*p2*s + 2*a*b1*p1*pi1*s + 2*a*b1*p2*pi1*s + 2*a*b2*p1*pi2*s + 2*a*b2*p2*pi2*s + b1^2*p2*pih1*s - 2*b1*p1*p2*pi1*s^2 - 2*b2*p1*p2*pi2*s^2 + b1^2*cc1*g*p1*s*teta + b1^2*h1*p1*s*teta + b2^2*cc2*g*p2*s*teta + b2^2*h2*p2*s*teta + 2*a*b1*p1*pi1*s*teta + 2*a*b1*p2*pi1*s*teta + 2*a*b2*p1*pi2*s*teta + 2*a*b2*p2*pi2*s*teta + b1^2*p1*pih1*s*teta - 2*b1*p1^2*pi1*s^2*teta - 2*b1*p2^2*pi1*s^2*teta - 2*b2*p1^2*pi2*s^2*teta -  2*b2*p2^2*pi2*s^2*teta - 2*b1*p1*p2*pi1*s^2*teta^2 - 2*b2*p1*p2*pi2*s^2*teta^2 + b2^2*pih2*(-a + p1*s + p2*s*teta) -  2*A1*(a - s*(p2 + p1*teta))*(a - s*(p1 + p2*teta)) - 2*A2*(a - s*(p2 + p1*teta))*(a -s*(p1 + p2*teta))))/(Sqrt((-a + s*(p2 + p1*teta))*(a - s*(p1 + p2*teta))*(a*h1 + a*h2 - h1*p1*s - h2*p1*s*teta - p2*s*(h2 + h1*teta) + cc2*g*(a - s*(p2 + p1*teta)) +  cc1*g*(a - s*(p1 + p2*teta)))));
    delta_t=abs(Ti(k+1)-Ti(k));
    k=k+1
end
z=[T(k+1)];
end
R=1/2*(2*(c2 - p2)*(-a + p2*s + p1*s*teta) +  2*(c1 - p1)*(-a + p1*s + p2*s*teta) - (2*(A1 + A2))/Ti(k+1) - (2*b1*pi1)/Ti(k+1) - (2*b2*pi2)/Ti(k+1) - (b2^2*pih2)/((a - s*(p2 + p1*teta))*Ti(k+1)) - (b1^2*pih1)/((a - s*(p1 + p2*teta))*Ti(k+1)) - ((cc2*g + h2)*(b2 + (-a + p2*s + p1*s*teta)*Ti(k+1))^2)/((a -s*(p2 + p1*teta))*Ti(k+1)) - ((cc1*g +h1)*(b1 + (-a + p1*s + p2*s*teta)*Ti(k+1))^2)/((a - s*(p1 + p2*teta))*Ti(k+1)));
plot(R,teta)

This is my code and i have face the Subscript indices must either be real positive integers or logicals error in line 12 (for b1). Can someone tell my why this error happens?

  • 2
    The complete error message tells you which variable is indexed. Split up the critical line into multiple smaller ones to isolate the error. – Daniel Dec 13 '15 at 16:37
  • some index calculations you use return another value than positive integer or logical, maybe float or even a matrix – Nikos M. Dec 13 '15 at 16:47
  • This is what happens when you try to write everything in one long line of code! – zelanix Dec 13 '15 at 19:36
  • 1
    Are you [code golfing](https://en.wikipedia.org/wiki/Code_golf)? – Ikaros Dec 13 '15 at 19:48
  • @HamtaroWarrior, yeah, I had that thought too! – zelanix Dec 13 '15 at 20:08
  • I did a [search on this](http://stackoverflow.com/search?q=Subscript+indices+must+either+be+real+positive+integers+or+logicals), which gave me 186 hits for this particular error message. Why is your question different than any of those? – patrik Dec 14 '15 at 07:55

0 Answers0