¿Cuáles son las diferencias entre un archivo de script MATLAB y un archivo de función MATLAB?¿Cuál es la diferencia entre un script y una función en MATLAB?
Respuesta
This page dice,
Scripts comparadas con las funciones
scripts son m-archivos que contienen MATLAB declaraciones. Las `` funciones '' de MATLAB son otro tipo de m-file. La mayor diferencia entre las secuencias de comandos y las funciones es que las funciones tienen entrada y parámetros de salida. Los archivos de comandos solo pueden operar en las variables que están codificadas en su archivo m. Como puede ver, funciones mucho más flexible. Por lo tanto, son más adecuados para tareas generales que se aplicarán a diferentes datos .
Los scripts son útiles para las tareas que no cambian. También son un modo para documentar una secuencia específica de acciones , por ejemplo, una llamada a función con valores de parámetro especiales , que pueden ser difíciles de recordar.
Hay más diferencias sutiles entre scripts y funciones . Una secuencia de comandos se puede considerar como una macro de teclado: cuando escribe el nombre de la secuencia de comandos, todos los comandos que contiene se ejecutan como si hubiera escrito estos comandos en la ventana de comandos. Por lo tanto, todas las variables creadas en el script se agregan al espacio de trabajo para la sesión actual. Además, si cualquiera de las variables del archivo de script tiene el mismo nombre que en su espacio de trabajo actual, los valores de esas variables en el espacio de trabajo son modificadas por las acciones en el script. Esto se puede utilizar para su ventaja. Es también puede causar efectos secundarios no deseados.
Por el contrario, las variables de función son locales para la función. (La excepción es que es posible declarar y utilizar variables globales, pero que requiere y acción explícita por parte del usuario .) El ámbito local de la función variables que se da una mayor seguridad y flexibilidad . La única forma (además de explícitamente variables globales declaradas) para obtener información dentro y fuera de una función es a través de las variables en las listas de parámetros.
Ejemplo
Una de las principales diferencias entre una secuencia de comandos y una función es el acceso a las variables en el espacio de trabajo. Por ejemplo, supongamos en el espacio de trabajo que ha definido dos variables a = 10
y b = 20
. Estas variables se definen en la línea de comando del indicador principal.
archivo de secuencias de comandos - display_mult.m
disp(a*b)
;
Typing display_mult
mostraría el producto de a
y b
en el espacio de trabajo, es decir 10*20
o 200
.
Pero si ha definido una función, llamada display_mult define en un archivo con el mismo nombre: archivo
Función - display_mult.m
function display_mult(a,b)
disp(a*b);
end
Usted tendría que incluir los dos variables como argumentos a la llamada de función. Por lo tanto, display_mult
sería no funciona esta vez ya que a
y b
no existe en el espacio de trabajo de la función. Debería incluirlos ejecutando display_mult(a,b)
que mostrará el resultado deseado.
explicación simple
Cada declaración en un script es lo mismo que escribir a cabo en la ventana de comandos de MATLAB. ¡Solo las estás almacenando antes en un archivo!
Una función, por otro lado, admite argumentos y es un espacio de trabajo "nuevo", separado del espacio de trabajo principal.
Nota: El end
al final de una llamada de función es opcional pero me gusta agregarlo para organizar las cosas. Por supuesto, si tiene varias definiciones de función en un archivo, todas tendrán que terminar con end
. Además, no puede tener un script y una definición de función en el mismo archivo.
- 1. ¿Cuál es la diferencia entre un algoritmo y una función?
- 2. ¿Cuál es la diferencia entre un método y una función?
- 3. ¿Cuál es la diferencia entre & y && en MATLAB?
- 4. ¿Cuál es la diferencia entre una subrutina y una función?
- 5. Cuál es la diferencia entre la función() {}() y la función() {}()
- 6. ¿Cuál es la diferencia entre "función" y "función"? en VIM?
- 7. ¿Cuál es la diferencia entre función (myVar) y (función) myVar?
- 8. Cuál es la diferencia entre `$ (ventana) .load (función() {})` y `$ (función() {})`
- 9. ¿Cuál es la diferencia entre función y función
- 10. ¿Cuál es la diferencia entre JavaScript y script ECMA?
- 11. ¿cuál es la diferencia entre declaración de función y firma?
- 12. ¿Cuál es la diferencia entre dict() y {}?
- 13. ¿Cuál es la diferencia entre un ayudante y un parcial?
- 14. ¿Cuál es la diferencia entre un hilo y una fibra?
- 15. ¿Cuál es la diferencia entre una mónada y un cierre?
- 16. ¿Cuál es la diferencia entre un tema y una plantilla?
- 17. ¿cuál es la diferencia entre:.! y: r !?
- 18. ¿Cuál es la diferencia entre una matriz y un objeto?
- 19. ¿Cuál es la diferencia entre una instancia y un objeto?
- 20. ¿Cuál es la diferencia entre un RoutedCommand y una RoutedUICommand?
- 21. ¿Cuál es la diferencia entre una heurística y un algoritmo?
- 22. ¿Cuál es la diferencia entre un diccionario y una matriz?
- 23. ¿Diferencia entre un script y un programa?
- 24. ¿Cuál es la diferencia entre nohup y un daemon?
- 25. ¿Cuál es la diferencia entre un IORef y un MVar?
- 26. ¿Cuál es la diferencia entre un módulo y un script en Python?
- 27. En C++, ¿cuál es la diferencia entre un método y una función
- 28. Cuál es la diferencia entre archivos .m y .mat en MATLAB
- 29. ¿Cuál es la diferencia entre ".equals" y "=="?
- 30. Diferencia entre filtro y conv en MATLAB
ejemplo? ¿me puede dar algún ejemplo? – izzat
Agregó un ejemplo y expandió la solución – Jacob