4
$\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$
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

| improve this answer | |
$\endgroup$

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.