[Date Index] [Thread Index] [Author Index]
Replace in an elegant way
Hi all, I have following equation: ((1 + theta[m])^2)/(1 - m) - lambda*((theta[m] + ((lambda + m - lambda*m)*(1 + theta[m])*(1 + theta[m] - lambda*theta[m]))/(1 - m) + (m*Derivative[theta][m])/lambda)) I want to replace all m that are not an argument of theta[m] or the Derivative. However, if I use /., it replaces all m. If I use Replace[expr,m->qq] it doesn't replace anything. (qq is the one I want to replace with). If I specify any level, it doesn't change anything, unless I use -1, but then I replace everything. Do you know how I solve this problem? Right now I use: //. Derivative[y_][theta][m] -> Derivative[y][theta][dd] //. theta[m] -> theta[dd] /. m -> qq //. Derivative[y_][theta][dd] -> Derivative[y][theta][m] //. theta[dd] -> theta[m] but this is not elegant at all (and takes slightly longer).