5
$\begingroup$

Consider a list of functions

M[x_]:={Cos[x], Sin[x], x}

Say I want to evaluate the first element

M[1][[1]]

What Mathematica does is evaluate the entire list at x=1 then extracts the first element Cos[1]. For large list and complicated functions, this is costly as I don't need the rest of the list's elements(for now). Is there a way where I can make Mathematica extract the first element first, then evaluate it at x=1 instead of the other way around?

$\endgroup$
0

1 Answer 1

4
$\begingroup$
ClearAll[m, m2]

Turn your already defined function that returns a list

m[x_] := {Cos[x], Sin[x], x}

to a list of functions:

m2 = Function /@ m[#];

Extract any part using Part ([[.]]) and use it with the desired input:

m2[[2]][z]

Sin[z]

m2[[3]][whatever]

whatever

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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