Esta es el arreglo más acertada que encomtrarás brindar, pero primero mírala pausadamente y analiza si es compatible a tu proyecto.
Solución:
¿Quizás esto?:
mat = ConstantArray[Function[t, t^2], 2, 2]
(*
Function[t, t^2], Function[t, t^2],
Function[t, t^2], Function[t, t^2]
*)
Block[t,
Function @@ t, mat[[All, All, 2]]
]
(* Function[t, t^2, t^2, t^2, t^2] *)
Aquí hay otro enfoque. Vamos a crear una pequeña matriz de Function
Objetos para jugar:
m = Function[t, Sin[t]], Function[t, Cos[t]],
Function[t, Sinc[t]], Function[t, Tan[t]];
Entonces, podemos crear su M
funcionar de la siguiente manera:
Clear[mm]
mm[m_][x_] := Map[#[x] &, m, ArrayDepth[m]]
Puede ver que pasar un argumento a mm devuelve un resultado de valor matricial:
mm[m][2]
(* Out: Sin[2], Cos[2], Sinc[2], Tan[2] *)
Esto, por supuesto, también funciona para argumentos simbólicos (por ejemplo, mm[m][e]
).
ClearAll[f]
f[mat_][t_] := Map[Through @ # @ t &] @ mat
Ejemplo:
mat = Cos, Sin, Function[t, t^2], 1 + # &;
f[mat][t]
Cos[t], Sin[t], t^2, 1 + t
f[mat][π]
-1, 0, π^2, 1 + π
También
ClearAll[f2]
f2[mat_][t_] := Map[Construct[#, t] &, mat, 2]
f2[mat][t]
Cos[t], Sin[t], t^2, 1 + t
Eres capaz de añadir valor a nuestro contenido cooperando tu experiencia en las acotaciones.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)