Consider a two-variable function as follows $$f(a,b)=\frac {T(a,b)+C(a,b)}{V(a,b)} \tag{1}$$ I define a $step$ and then define two new functions using (1) and step as $$f_+(a+step,b)=\frac {T(a+step,b)+C(a+step,b)}{V(a+step,b)} \tag{2}$$ and $$f_-(a-step,b)=\frac {T(a-step,b)+C(a-step,b)}{V(a-step,b)} \tag{3}$$ In fact $f_+$ and $f_-$ are two functions which have been changed by $+step$ and $-step$ for each parameter namely generally a $f_+$ defined as $$f_+(... a_i ...)=f(... a_i+step ...) \tag{4}$$ equations 1-3 were an example. How can I write a general form for $f_+$ and $f_-$ which adds to or subtracts step from a special variable each time and do this for all variables, do I need a loop? For the sake of simplicity suppose function (1).
Example:
I need to step is added to $i$th variable where i is the loop number (in fact I'm running this command inside a outer loop), so if currently loop number is 1, step must be added to $a$ in eq(1) and in the next time when $i$ is 2, step must be added to $b$ in eq(1) and so on. Equation (1) is a special case, but an arbitrary function can have n variable so I need each time one of them (regarding to loop number) changes.
Clear[f, a, b]; f[a_, b_] = (T[a, b] + cc[a, b])/V[a, b]; fplus[a_, b_] = f[a + step, b]
Why do you think you need a loop? $\endgroup$ – xzczd Nov 29 '19 at 6:34f @@@ Transpose[IdentityMatrix[3] step + {a, b, c}]
$\endgroup$ – xzczd Nov 29 '19 at 6:45