Quiero empalmar un vector en una llamada a función, pero no puedo encontrar la manera de hacerlo. ¿Es posible?Matlab --- vector de empalme en argumentos para llamar a la función
Para ampliar sobre lo que quiero decir, digamos que tenemos el vector de longitud x
n
y una función que toma f
n
argumentos. Deseo poder llamar al f(x(1), x(2), ..., x(n))
llamando a algo como f(x)
o f(splice(x))
. Si x
fuera una matriz de celdas en lugar de un vector, llamar al f(x{:})
obtendría el resultado deseado; parece razonable que exista algún equivalente para cuando x
es un vector.
Espero algún operador o función que me falta. Podría llamar al y = num2cell(x)
seguido de f(y{:})
, pero esto no es lo que estoy buscando.
No funciona 'x (:)'? O si es un vector de columna use 'x (:) ''. – Thor
La ruta 'num2cell' es exactamente lo que debería estar buscando. – Jonas
@Jonas Bastante, en que esa solución es simple. Pero creo que es un poco tonto que tenga que especificar una variable temporal (y, por lo tanto, tener el contenido de la variable copiado un tiempo extra) solo para hacer esto. ¿Por qué debería existir esta característica para las matrices de celdas pero no para la matriz numérica (posiblemente más común) (es decir, la "estera" en "matlab")? De todos modos, es por eso que estaba preguntando: simplemente parecía una característica que probablemente es compatible, pero que de alguna manera me faltaba. – zroth