8.10: Edición de archivos y creación de funciones (Macintosh)
- Page ID
- 82246
Si sale de MATLAB ahora, se perderán todos los comandos que haya escrito. Aquí es donde la ventana Editar es útil. Si elige nuevo en el menú Archivo, aparecerá una nueva ventana con el título Editar 1: Sin título. En esta ventana, debe escribir todos los comandos que le gustaría que MATLAB ejecute a la vez. Cuando termine de escribir, puede guardar el archivo eligiendo guardar o guardar como en el menú de archivo e ingresando un nombre para el archivo. Si la ventana de edición está activa (es decir, si aparece al frente), entonces elija guardar y vaya desde el menú de archivo para guardar el archivo y ejecutarlo. Si la ventana de comandos está activa, entonces puede ejecutar el archivo ingresando su nombre.
Edición de archivos
Para probar su comprensión de la edición de archivos, ingrese los siguientes comandos en un archivo llamado myfile:
clear, clg %Clear variables and graphics j=sqrt(-1); %To be sure z1=1+.5*j,z2=2+1.5*j %Enter variables z3=z1+z2,z4=z1*z2 %Compute sum and product axis([0 4 0 4]), %First plot axis('square'),plot(z1,'o') hold on %Allow overplot plot(z2,'o'),plot(z3,'+'), %Other plots plot(z4,'*') hold off
No es necesario que escriba el signo% y el texto que le sigue. Estos son simplemente comentarios en un archivo. Son ignorados por el intérprete de MATLAB. Sin embargo, debes acostumbrarte a agregar comentarios (precedidos por%) a tu archivo si quieres poder entender programas que se han escrito hace mucho tiempo.
No olvides guardar tu archivo. Dicho archivo se llama archivo de script. Contiene comandos MATLAB que podrían haberse ingresado uno por uno en la ventana de comandos. Tiene tres formas de ejecutar un archivo de script:
- con la ventana de edición activa, elija guardar y vaya desde el menú Archivo;
- con la ventana de comandos activa, ingrese el nombre del archivo; o
- con la ventana de comandos activa, elija ejecutar script... en el menú M-file. En este caso, aparece un menú para preguntarte qué archivo quieres ejecutar.
Pruebe cada uno de estos tres métodos para acostumbrarse a sus diferencias. En la figura 1 se muestra la trama que debes obtener.
Creación de funciones
MATLAB pone a tu disposición muchos comandos, y solo tienes que introducir sus nombres (con o sin argumentos) para ejecutarlos. Algunos comandos están integrados en MATLAB, y otros están contenidos en archivos a los que tiene acceso (no para modificarlos, sino para ver cómo se hacen las cosas). Puede intentar mostrar el contenido de un archivo de comandos en la ventana de comandos ingresando el tipo de comando filename. Ingrese el tipo de parcela. Deberías recibir el mensaje
??? Built-in function.
Esto significa que la gráfica
de comandos es una función incorporada y, por lo tanto, no puede ser escrita por el usuario (se compila con el programa). De igual manera, intente escribir el archivo de función que contiene el comando sinh
ingresando el comando type sinh
. Deberías obtener
function y=sinh(x) %SINH SINH(X) is the hyperbolic sine of the elements of X. y=(exp(x)-exp(-x))/2;
Este es un ejemplo típico de un archivo de función. Se diferencia de un archivo de script por el hecho de que la primera línea contiene la palabra función
. Lo que hace es hacer que el comando y = sinh (x)
sea equivalente al comando y =( exp (x) - exp (-x)) /2
. La variable x
es el argumento de entrada (podría haber más de uno), y\(y\) es el argumento de salida (también podría haber más de uno). La segunda línea contiene comentarios sobre la función y sus argumentos. Pueden extenderse a varias líneas. Muéstralos escribiendo el comando help sinh
. La tercera línea contiene los comandos de función reales (también podría haber varias líneas).
Como ejercicio, ingresa la función perp (x)
:
function y=perp(x) %PERP PERP(X) is a complex value perpendicular to X. j=sqrt(-1); y=j*real(x)-imag(x);
Evaluar a los
autores en varios números complejos. Reemplazar la última línea por y = x*j
;. ¿Obtienes el mismo resultado? ¿Por qué?
Tenga en cuenta que las variables locales son solo eso— locales. Solo los argumentos de entrada y salida se guardan en la memoria después de que se llama y ejecuta la función. Para obtener más información sobre funciones y múltiples argumentos, consulte el manual de MATLAB. En el ejemplo anterior, la variable\(j\) es local. Si, antes de usar la función perp
, usas la misma variable\(j\), su contenido no se verá afectado por el comando perp (z)
. Verifica esto.
Normalmente, mientras se ejecuta un archivo (script o función), los comandos no se muestran en la ventana de comandos. Solo se muestran los resultados. El comando echo
le permite ver todas las instrucciones. Esto es útil para depuración y demostraciones. Se apaga escribiendo echo off
.