Array indexing multiple equations

3 views (last 30 days)
Ezgi
Ezgi on 1 Apr 2014
Commented: Ezgi on 2 Apr 2014
x1(i+1)=x1(i)+x2(i);
x3(i+1)=x3(i)+x4(i);
x5(i+1)=x5(i)+x6(i);
x2(i+1)=x2(i)+cos(x3(i))*x4(i+1)-x6(i+1);
x4(i+1)=x4(i);
x6(i+1)=x6(i)+cos(x5(i))*x2(i+1);
I came up with 6 equations for 6 variables. I have the equations above. x2(i+1) depends on x4(i+1) but that value is not calculated until x2(i+1) is calculated. How do I solve this problem do I need more equations?

Accepted Answer

Andrew Sykes
Andrew Sykes on 1 Apr 2014
You need to do some algebra on these equations before you solve them.
The variable x4 is a constant (x4(i+1) = x4(i) tells us this), so replace x4(i+1) -> x4(i) in the equation for x2(i+1) to give:
x2(i+1)=x2(i)+cos(x3(i))*x4(i)-x6(i+1); (*)
Now substitute x6(i+1)=x6(i)+cos(x5(i))*x2(i+1) into this equation (*) and solve for x2(i+1). This will give:
x2(i+1)=( x2(i)+cos(x3(i))*x4(i)-x6(i) )/( 1+cos(x5(i)) );
Finally, substitute x2(i+1)=( x2(i)+cos(x3(i))*x4(i)-x6(i) )/( 1+cos(x5(i)) ) into the equation for x6(i+1) to give
x6(i+1)=x6(i)+cos(x5(i))*( x2(i)+cos(x3(i))*x4(i)-x6(i) )/( 1+cos(x5(i)) );
Now you should be okay to solve this problem within a for-loop provided you have a known initial condition.
  1 Comment
Ezgi
Ezgi on 2 Apr 2014
Thank you for your answer. That really helped. If the system were like this;
x1(i+1)=x1(i)+x2(i); x3(i+1)=x3(i)+x4(i); x5(i+1)=x5(i)+x6(i);
x2(i+1)=x2(i)-1/(m0+m1+m2)*((1/2*m1*l1+m2*l1)*cos(x3(i))*x4(i+1)-(1/2*m2*l2*cos(x5(i)))*x6(i+1)-sigma0*x2(i)+(1/2*m1*l1+m2*l1)*x4(i)*sin(x3(i))*x4(i)-1/2*m2*l2*cos(x5(i))*x6(i)-F);
x4(i+1)=x4(i)-1/(J1+m2*l1^2)*((1/2*m1*l1+m2*l1)*cos(x3(i))*x2(i+1)-(1/2*m2*l1*l2*cos(x3(i)-x5(i)))*x6(i+1)-1/2*m1*l1*cos(x3(i))*x2(i)-(sigma1+sigma2)*x4(i)-(-sigma2-1/2*m2*l1*l2*x6(i)*sin(x3(i)-x5(i)))*x6(i)+(1/2*m1+m2)*g*l1*sin(x3(i)));
x6(i+1)=x6(i)-1/J2*(1/2*m2*l2*cos(x5(i))*x2(i+1)-1/2*m2*l1*l2*cos(x3(i)-x5(i))*x4(i+1)-1/2*m2*l2*cos(x5(i))*x2(i)-(-sigma2-1/2*m2*l1*l2*x6(i)*sin(x3(i)-x5(i)))*x4(i)-sigma2*x6(i)-1/2*m2*g*l2*sin(x5(i)));
Here, x2(i+1) depends on x4(i+1) and x6(i+1), x4(i+1) depends on x2(i+1) and x6(i+1), x6(i+1) depends on x2(i+1) and x4(i+1).How can I solve for x in this case?

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!