I would like to replace the expresion $(n1-1)$ to $z1$ in following:



I have tried Replace, ReplaceAll, /., //. but nothing seems to be working. Only part inside $p[n1-1, n2]$ is replaced. Can anyone help me with this?

  • 1
    $\begingroup$ (* stuff *) /. n1 -> z1 +1 doesn't do what you want? $\endgroup$ – J. M.'s ennui Apr 8 '13 at 12:58

If you type:

2 n1 p[n1-1, n2] /. {n1 -> z1 +1}

then the answer is:

2 (1 + z1) p[z1, n2]

This is shorthand for the function:

ReplaceAll[2 n1 p[n1 - 1, n2], n1 -> z1+1]

which explicitly uses the rule (in the second argument) to change the first argumemnt.

  • $\begingroup$ Ah strange asterixes appear in your answer. I figured I'd (propose to) edit them, but you made an edit as well in the meantime. Oh well, please fix the asterixes :). $\endgroup$ – Jacob Akkerboom Apr 8 '13 at 13:24
  • $\begingroup$ thanks Jacob -- I don't know where they came from... $\endgroup$ – bill s Apr 8 '13 at 13:27
  • $\begingroup$ No problem, I think they came from the original problem statement, that has now been fixed by Istvan Zachar :). Hm.. I think Maria was trying to also replace the n1 that appears outside the function p, so I think this is probably not what she wants.. $\endgroup$ – Jacob Akkerboom Apr 8 '13 at 13:30
  • $\begingroup$ I just realized that and changed it. But now I realize this is exactly what JM suggested... sorry JM.. I'm happy to delete and give to you... $\endgroup$ – bill s Apr 8 '13 at 13:33
  • $\begingroup$ Yesterday I posted the silliest answer only to delete it a minute later, I can relate :P $\endgroup$ – Jacob Akkerboom Apr 8 '13 at 13:37

If $n1$ is set initially, when any function that contains this variable is entered, the conversion will be automatic.

n1 = z1 + 1; 
2*n1*p[n1 - 1, n2]

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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