Array indexing multiple equations

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?

 采纳的回答

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 个评论

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?

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by