The following is an edit of this post, for which a working solution was provided by John McGee. I have a different function and am not sure how to adapt the solution for it:
I want to construct a function that accepts multiple arguments, but where the number of arguments can change according to the length of a list that I insert as the set of arguments. For example, I have a table which has as elements the following lists:
{{1,2,3,4},{1,2,3,4,5,6},{1,2,3,4,5,6,7,8}, ...}
Note that the first list within the table has a length of 4, with progressive lists having an extra length of 2 compared to its previous. I have created the following function which works for the first list in the table:
f[{a,b,c,d}]:= (y[2] - c)*(y[2] - d)*Exp[2y[1](a - b) + (a^2 - b^2)+ 2y[2](c - d) + (c^2 - d^2)]
Similarly the function for the second list in the table should be:
f[{a,b,c,d,e,f}]:= (y[3] - e)*(y[3] - f)*Exp[2y[1](a - b) + (a^2 - b^2)+ 2y[2](c - d) + (c^2 - d^2) + 2y[3](e - f) + (e^2 - f^2)]
There is a pattern which obeys the following:
- The coefficient in front of the exponential is always (y[n]- (element 1 of nth pair))*(y[n]- (element 2 of nth pair)) - where n is the number of the nth pair of elements in the list - i.e. for 3 pairs n would be 3 etc.
- In the exponent, the argument of y is the number of the pair being considered and the terms within the parenthesis is similarly the first element of each pair minus the second element of each pair.
I want to create a table that has as elements the result of the function. So the first element of such a table will be the evaluation to the above. The second element of the table should be the evaluation of the function also written explicitly above and so on.
How can I create the general function that accepts a varying number of arguments? I will need to loop over this function to assess it for the different lists in the table above.
Thanks for your help.
Total
, then you can use functions that apply to arbitrary lists. $\endgroup$