Suppose you have a linear Markov process, and you can write it as x(t+1) = Ax(t). Here x is the vector of values, and A is the transition matrix. Since this is linear, it can be solved analytically, and simulated numerically. A nonlinear form of the above system is x(t+1) = A[x(t)]x(t). Here A[x(t)] is the transition matrix, whose entries depend on current x(t) values. Due to the nonlinearity, this has not analytical solution. But, how can I run some simulations to see the evolution of such a system. For the simple case, I can use A[x(t)] = A(x(t)^0.5), or any other exponent.
Is there a way to do a simulation like this (e.g., 100 steps)?


1 Answer 1


If you make your A matrix a function (but avoid starting with capital letters), like aMatrix[x_] := ... then you can use Nest:

Nest[aMatrix, x0, 100]

where x0 is the starting vector.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.