# Can RSolve handle 4 simultaneous 1st-Order non-linear difference equations?

GROUPS:
 Hello everyoneI couldn't find a lot on the documentation about limitations to the RSolve functionality. In particular, I have a set of 4 simultaneous 1st-Order non-linear Difference equations and 4 initial conditions, but keep getting the message that one of my equations "appears with no arguments". Even when I take the equation and corresponding IC away, it just returns the same code I typed, but no solution.Here's the code: eqn1 = V1[t + 1] == (1/2)*((-(E1*(-1)^(t + 1) - E1 - 2)*(beta1*gamma2 + beta2*gamma1)* Y1[t] - (-1 + (-1)^(t + 1))*(1 + E1)*(-beta1*gamma2 + beta2*gamma1)* V1[t] - (1 + (-1)^(t + 1))*(-beta1*gamma2 + beta2*gamma1)* V2[t] + beta2*(E1*(-1)^(t + 1) - E1 - 2)* YT*((-1 + b)*gamma1 - beta1))* X1[t] + (-gamma1 + beta1*(-1 + a))* XT*(E1*(-1)^(t + 1) - E1 - 2)*Y1 (t)*gamma2)* E1/((1 + E1)*(-beta2*gamma1*X1[t] + gamma2*XT*(-gamma1 + beta1*(-1 + a)))); eqn2 = V1[0] == 0; eqn3 = V2[t + 1] == (1/ 2)*(((1 + (-1)^(t + 1))*(1 + E2)*(-beta1*gamma2 + beta2*gamma1)* V2[t] - (E2*(-1)^(t + 1) + E2 + 2)*(beta1*gamma2 + beta2*gamma1)* Y1[t] + (-1 + (-1)^(t + 1))*(-beta1*gamma2 + beta2*gamma1)* V1[t] + YT*beta2*(E2*(-1)^(t + 1) + E2 + 2)*(b*gamma1 - beta1))*X1[t] + XT*(-(1 + (-1)^(t + 1))*(1 + E2)*(-beta1*gamma2 + beta2*gamma1)* V2[t] + gamma2*(E2*(-1)^(t + 1) + E2 + 2)*(a*beta1 - gamma1)* Y1[t] - (-1 + (-1)^(t + 1))*(-beta1*gamma2 + beta2*gamma1)* V1[t] - ((-gamma1 + beta1*(-1 + a))*gamma2 + beta2*((-1 + b)*gamma1 - beta1))*(E2*(-1)^(t + 1) + E2 + 2)*YT))* E2/((1 + E2)*(-beta2*gamma1*X1[t] + gamma2*XT*(-gamma1 + beta1*(-1 + a)))) ; eqn4 = V2[0] == 0; eqn5 = X1[t + 1] == -(1/2)*(1 + (-1)^(2 + t))*beta1*(((beta1*gamma2 + beta2*gamma1)*X1[t] - gamma2*XT*(-gamma1 + beta1*(-1 + a)))*Y1[t] - X1[t]*(beta1*gamma2 - beta2*gamma1)*V1[t] - beta2*(gamma1*V2[t + 1] + ((-1 + b)*gamma1 - beta1)*YT)*X1[t] + gamma2*XT*(-gamma1 + beta1*(-1 + a))* V2[t + 1])/((-beta1*gamma2* Y1[t] + (beta1*gamma2 - beta2*gamma1)*V1[t] + beta2*((-1 + b)*gamma1 - beta1)*YT)*(beta1 + gamma1)) + (1/2)*(((-beta1*gamma2 - beta2*gamma1)*X1[t] + gamma2*XT*(-gamma1 + beta1*(-1 + a)))*Y1[t] - X1[t]*(beta1*gamma2 - beta2*gamma1)*V2[t] + beta2*(-gamma1*V1[t + 1] + ((-1 + b)*gamma1 - beta1)*YT)*X1[t] + XT*(-gamma1 + beta1*(-1 + a))*V1[t + 1]*gamma2)* beta1*((-1)^(t + 1) + 1)/((-beta1*gamma2*Y1[t] + (-beta1*gamma2 + beta2*gamma1)* V2[t] + beta2*((-1 + b)*gamma1 - beta1)*YT)*(beta1 + gamma1)); eqn6 = X1[0] == a*XT; eqn7 = Y1[t + 1] == -(1/2)*(((2*beta1*gamma2 + 2*beta2*gamma1)* Y1[t] + ((-1)^(t + 1) - 1)*(beta1*gamma2 - beta2*gamma1)* V1[t] + ((-1)^(t + 1) + 1)*(beta1*gamma2 - beta2*gamma1)* V2[t] - (gamma1*(V1[t + 1] + V2[t + 1])*(-1)^(t + 1) + gamma1*V1[t + 1] - gamma1*V2[t + 1] + (2*((-1 + b)*gamma1 - beta1))*YT)*beta2)*X1[t] + gamma2*(-gamma1 + beta1*(-1 + a))*(-2*Y1[t] + (V1[t + 1] + V2[t + 1])*(-1)^(t + 1) + V1[t + 1] - V2[t + 1])*XT)* gamma1/((-beta2*gamma1*X1 (t) + gamma2*XT*(-gamma1 + beta1*(-1 + a)))*(beta1 + gamma1)); eqn8 = Y1[0] == b*YT; Followed by: RSolve[{eqn1, eqn2, eqn3, eqn4, eqn5, eqn6, eqn7, eqn8}, {V1, V2, X1,Y1}, t] To which I get "RSolve::dvnoarg: The function Y1 appears with no arguments."Any thoughts are appreciated. Many thanks!
10 months ago
4 Replies
 Bill Simpson 2 Votes Notice that you have Y1(t) instead of Y1[t] in eqn1 and X1(t) instead of X1[t] in eqn7