Estoy tratando de escribir una función de registro generalizada para todos los parámetros de entrada pasados a una función en MATLAB. ¿Es posible pasar fácilmente todos los parámetros de entrada a otra función sin nombrar los parámetros individualmente? En la función de registro, puedo, por supuesto, usar inputname(i)
en un ciclo for para obtener los nombres de los parámetros. Preferiría no tener que realizar esta lógica en la función principal. Entonces, ¿hay alguna manera de hacer algo como LogParams(allInputParams)
?Parámetros de la función de registro en MATLAB
5
A
Respuesta
8
Parece que tiene una función principal, y desde esa función desea llamar a una función LogParams
para obtener una lista de los nombres de las variables pasadas a la función principal. He aquí una manera que podría poner en práctica su función LogParams
:
function names = LogParams
names = evalin('caller','arrayfun(@inputname,1:nargin,''UniformOutput'',0)');
end
La salida de regresar de LogParams
será una matriz de celdas que contiene los nombres de las variables se pasan a la función que llama a LogParams
. La solución anterior utiliza las siguientes funciones:
- EVALIN: para evaluar una expresión en el espacio de trabajo de la función de llamada.
- ARRAYFUN: como alternativa a un bucle for.
- NARGIN: para obtener la cantidad de argumentos pasados a una función.
- INPUTNAME: para obtener el nombre de una variable de entrada.
Como una ilustración de cómo LogParams
obras, crean la siguiente función que llama:
function main_function(a,b,varargin)
disp(LogParams);
end
y ahora lo llaman con un número de entradas (suponiendo que las variables x
, y
y z
se definen en el área de trabajo):
>> main_function(x,y)
'x' 'y'
>> main_function(x,y,z)
'x' 'y' 'z'
>> main_function(x,y,z,z,z,z)
'x' 'y' 'z' 'z' 'z' 'z'
Cuestiones relacionadas
- 1. MATLAB: la función Separar
- 2. Función de mapa en MATLAB?
- 3. Parámetros de la función - Python
- 4. registro genérico de parámetros de la función de gestión de excepciones
- 5. Función de llamada con un número variable de parámetros en Matlab
- 6. Parámetros de función en PowerShell
- 7. cómo evaluar la derivada de la función en matlab?
- 8. MATLAB: Fusionar identificadores de función
- 9. matlab función "memoria" en mac?
- 10. Evaluación de función parcial en MATLAB
- 11. función de estilo MATLAB find() en Python
- 12. C# Enumeración Parámetros de la función
- 13. Buscar los parámetros de la función Dll
- 14. Parámetros para la función de búsqueda
- 15. ¿Hay alguna forma de silenciar la función 'espera' en Matlab
- 16. Función de Matlab/historial de clases
- 17. Pase los parámetros en la función setInterval
- 18. MATLAB: cómo aplicar la función componentwise
- 19. Ejecutando la función MATLAB desde Java
- 20. R equivalente de la función de filtro de MATLAB
- 21. Matlab: ¿ejecuta una función con parámetros para cada elemento de una matriz?
- 22. Número máximo de parámetros en la declaración de función
- 23. Orden de la evaluación en función de C++ parámetros
- 24. pase de parámetros a la función de cierre en javascript
- 25. parámetros en la función de devolución de llamada
- 26. Pasando un delegado con dos parámetros en función de parámetros
- 27. ¿Alternativa de código abierto a la función fmincon de MATLAB?
- 28. posible sobrecargar la función en la clase matlab?
- 29. función de Java variadic parámetros
- 30. Parámetros de función número máximo
Very neat! .......... (puntos para pad a 15 caracteres) –
Gracias. Eso ayuda. –
+1 para un impacto mínimo a la función de llamada. – Marc