Saltar al contenido

Matriz de Funciones a Función que devuelve una Matriz

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)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *