0
|
4727 Views
|
3 Replies
|
2 Total Likes
View groups...
Share
GROUPS:

# Solving four recurrence relations simultaneously

Posted 10 years ago
 Hello,I have four recurrence equations which I would like to solve simultanously but, Mathematica keeps giving me the input line in the output. does anyone know how to solve this problem. Is it a bug or am I writing something wrong in the code. This is the code I am writing in the input:RSolve[{a[m + 1] == (a[m] *0.3*(x[m]/800)) - (a[m]*0.2) - (a[m]*0.5) + (0.4*c[m + 1]),    c[m + 1] == (c[m] *0.6*(z[m]/300)) - (c[m]*0.8) - (c[m] 0.9) + (0.1*a[m + 1]),    x[m + 1] == ((x[m]* 0.3*(a[m]/800)) + (x[m]*0.2)) + (0.7*z[m + 1]),   z[m + 1] == ((z[m] *0.6*(c[m]/300)) + (z[m]*0.8) ) + (0.9*x[m + 1])} , {a[m], x[m], c[m], z[m]}, m]
3 Replies
Sort By:
Posted 10 years ago
 I changed the way you wrote a,x,c,z to the way that Mathematica requires. This misunderstanding is very common for new users of DSolve and RSolve. I tested my changes with the simplified system to verify that it worked. When it did not work with your full system that tells me that there may be no closed form solution to your system or that Mathematica does not know how to solve that kind of system or there is perhaps a bug in Mathematica.If you can show by hand how there is a closed form solution to your system which Mathematica is not finding then it is possible that they would improve Mathematica to include this at some time in the future, but that often takes years or infinity to happen.
Posted 10 years ago
 This greatly simplified system of equations with the syntax changedIn[1]:= RSolve[{a[m + 1] == (a[m]*0.3) - (a[m]*0.2) - (a[m]*0.5) + (0.4*c[m + 1]),   c[m + 1] == (c[m]*0.6) - (c[m]*0.8) - (c[m] 0.9) + (0.1*a[m + 1])}, {a[m], c[m]}, m]Out[1]= {{a[m] -> 0.0324598 2.^(-2. m)8.44425*10^14^(-1. m) (1. (-3.95578*10^15)^m + 29.8074 (-1.32188*10^15)^m) C[1] - 0.587765 (-1.)^m 2.^(-2. m)8.44425*10^14^(-1. m) (1.32188*10^15^m - 1. 3.95578*10^15^m) C[2], c[m] -> -0.0534332 (-1.)^m 2.^(-2. m) 8.44425*10^14^(-1. m) (1.32188*10^15^m - 1. 3.95578*10^15^m) C[1] + 0.96754 2.^(-2. m) 8.44425*10^14^(-1. m) (1. (-3.95578*10^15)^m + 0.0335488 (-1.32188*10^15)^m) C[2]}}finds a solution.This full system of equations with the same syntax changesRSolve[{a[m + 1] == (a[m]*0.3*(x[m]/800)) - (a[m]*0.2) - (a[m]*0.5) + (0.4*c[m + 1]),   c[m + 1] == (c[m]*0.6*(z[m]/300)) - (c[m]*0.8) - (c[m] 0.9) + (0.1*a[m + 1]),   x[m + 1] == ((x[m]*0.3*(a[m]/800)) + (x[m]*0.2)) + (0.7*z[m + 1]),   z[m + 1] == ((z[m]*0.6*(c[m]/300)) + (z[m]*0.8)) + (0.9*x[m + 1])}, {a[m], x[m], c[m], z[m]}, m]doesn't have a solution the system can find.Sometimes using exact fractions instead of decimals can help you get answers, or better answers,but that doesn't seem to help in this particular problem.
Posted 10 years ago
 so, do you think this is a problem in the system or mathematica?