0
|
7643 Views
|
2 Replies
|
1 Total Likes
View groups...
Share
GROUPS:

# Collect variables from nonlinear System

Posted 10 years ago
 Hi! I've a very big eight dimensional nonlinear system and I want to transform it into a Matrix xdot = F(x)+B(x)*U On a little example: xdot1 = x^3+u^2*(x+3x^2)+ bx xdot2 = x^2+u*x^2 + b*x F1(x) = x^3; B1(x) = {x+3x^2 , x }; U = {u,b} // First column F2(x) = x^2; B2(x) = {x^2, x} // Second column  I have tried with: F1 = xdot1/.b-> 0 /. u -> 0 B11 = xdot1-fx /.b-> 0 B12 = xdot1-F1/.u->0  but for proving this i made F1+B11u+B12b - xdot1 but the result is nonzero. Command Collect[] did not worked too... Thanks!
2 Replies
Sort By:
Posted 10 years ago
 I think you want to do something like this example: http://wolfram.com/xid/0bsw81boyzl1mwhqd5-w61bwh. If so, directly give your ODE to AffineStateSpaceModel.
Posted 10 years ago
 Hi,Take a look at CoefficientList[] and MonomialList[] documentation. Here is an example: z = MonomialList[#, {x, y}] & /@ {a1 + b1 x + c1 y, a2 + b2 x + c2 y } F = Last[#] & /@ z B = Most[#] & /@ z /. {x -> 1, y -> 1} F + B.{x, y} I.M.