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$

migrated from math.stackexchange.com Jun 18 '18 at 10:11

This question came from our site for people studying math at any level and professionals in related fields.

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$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy