Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FUNCIONES Y ARCHIVOS
Las secciones 3.1 y 3.2 contiene temas esenciales y deben ser cubiertos. El material en la sección
3.3 es útil para crear programas grandes. El material en la sección 3.4 es útil para lectores que
deben trabajar con grandes conjuntos de datos.
Algunas de las funciones, tales como sqrt y sin, están integradas. Estas son almacenadas como
archivo imagen y no son M-files. Son parte del núcleo de MATLAB así que son muy eficientes, pero
los detalles computacionales no son fácilmente accesibles. Algunas funciones son implementadas
en M-files. Puedes ver el código e incluso modificarlo, aunque no es recomendado.
La tabla 3.1.1 resume algunas de las funciones comunes elementales. Un ejemplo es la función raíz
cuadrada sqrt. Para calcular √ 9, escribe sqrt(9) en la línea de comando. Cuando presiones Enter,
ves el resultado ans=3. Puedes usar funciones con variables. por ejemplo, considerar la sesión
Similarmente, podemos escribir exp(2) para obtener e 2=7.3891, donde es es la base del logaritmo
natural. Escribir exp(1) da 2.7183, lo cual es e. Note que es texto de matemáticas, ln x denota el
logaritmo natural, cuando x=ey implica que
Porque ln e=1. Sin embargo, esta notación no ha sido traslada a MATLAB, el cual usa log(x) para
representar ln x.
El logaritmo común (base-10) es denotado en texto por log x o log 10x. esta definido por la relación
x=10y, esto es,
Otro erro común es olvidar usar el operador multiplicación de matriz .*. note que en la expresión
y=exp(x).*log(x), necesitamos usar el operador .* si x es un arreglo ya que tanto exp(x) y log(x)
serán arreglos.
FUNCIONES NUMÉRICAS
La función round redondea al entero mas cercano. Si y=[2.3 2.6 3.9], escribir round (y) da los
resultados 2 3 4. La función fix(x) trunca al entero mas cercano a cero. Escribir fix (y) da los
resultados 2 2 3. La función ceil redondea al entero mas cercano a infinito. Escribir ceil (y) produce
las respuestas 3 3 4.
Suponer z=[-2.6 -2.3 5.7]. la función floor redondea al entero más cercano al menos infinito.
Escribir floor (z) produce el resultado -3 -3 5. Escribir fix(z) produce las respuestas -2 -2 5. La
función abs calcula el valor absoluto. Así abs(z) produce 2.6 2.3 5.7
ARGUMENTOS DE FUNCIONES
Cuando se escribe matemáticas en texto, usamos paréntesis (), corchetes [], y llaves {} para
facilitar la legibilidad de expresiones, y tenemos mucha libertad sobre su uso. Por ejemplo,
podemos escribir sin2 en texto, pero MATLAB requiere paréntesis alrededor del 2 (que es llamado
el argumento de la función o parámetro). Así para evaluar sin 2 en MATLAB, escribimos sin (2). El
nombre de la función MATLAB debe ser seguido por un par de paréntesis que encierren el
argumento. Para expresar en texto el seno del segundo elemento del arreglo x, podríamos escribir
sin [x(2)]. Sin embargo, en MATLAB no puedes usar corchetes o llaves de esta manera, y debes
escribir sin (x(2)).
Puedes incluir expresiones y otras funciones como argumentos. Por ejemplo, si x es un arreglo,
para evaluar sin(x^2 + 5) , escribe sin (x.^2+5). Para evaluar sin( √ x ¿ +1)¿ , escribe sin(sqrt(x)+1).
Asegurarse de verificar el orden de precedencia y la cantidad y ubicación de los paréntesis cuando
se escribe tales expresiones.
Otro error común involucra expresiones tales como sin 2(x), que significa (sinx)2. En MATLAB, si x es
un escalar escribimos esta expresión como (sin(x)) 2, si no como sin^2(x),sin^2x, o sin(x^2)
FUNCIONES TRIGONOMÉTRICAS
Otras funciones usadas comúnmente son cos(x),tan(x),sec(x), y csc(x), que retorna cosx,tanx,secx,y
cscx, respectivamente. La tabla 3.1.2 lista las funciones trigonométricas de MATLAB que operan en
modo radian. Así sin(5) calcula el seno de 5 radianes, no el seno de 5°. Similarmente, las funciones
trigonométricas inversas retornan una respuesta en radianes. Las funciones que operan en modo
grado tienen la letra d agregada a sus nombres. Por ejemplo, sind(x) acepta los valores de x en
grados. para calcular el seno inverso en radianes, escribir asin(x). por ejemplo, asin(0.5) retorna la
respuesta 0.5236 radianes. Nota: en MATLAB, sin(x)^(-1) no da sin -1(x), da 1/sen(x).
MATLAB tiene dos funciones tangentes inversa. La función atan(x) calcula arctan x -el
arcotangente o tangente inversa- y retorna un ángulo entre -pi/2 y pi/2. Otra respuesta correcta es
el ángulo que se encuentra en el cuadrante opuesto. El usuario debe ser capaz de elegir la
respuesta correcta. Por ejemplo atan(1) retorna la respuesta 0.7854 radianes, que corresponden a
45°. Asi tan45°=1. Sin embargo, tan (45°+180)=tan 225°=1 también. Así arctan(1)=225° también es
correcto.
FUNCIONES HIPERBÓLICAS
Las funciones hiperbólicas son las soluciones de algunos problemas comunes en el análisis de
ingeniería. Por ejemplo, la curva catenaria la cual describe la forma de un cable colgante
soportado en sus dos extremos, puede ser expresada en términos del coseno hiperbólico, coshx,
que esta definido como
Otras series de funciones hiperbólicas han sido definidas. La tabla 3.1.3 lista estas funciones
hiperbólicas y los comando en MATLAB para obtenerlas.
3.2 FUNCIONES DEFINIDAS POR EL USUARIO
Otro tipo de M-file es un archivo función. A diferencia de un script file, todas las variables en un
archivo función son variables locales, lo cual significa que sus valores están disponibles solo dentro
de la función. Los archivos función son útiles cuando necesitas repetir un conjunto de comandos
varias veces. Son los bloques de construcción de programas mas grandes.
Las variables de salida son esas variables cuyos valores son calculados por la función, usando los
valores dados de las variables de entrada. Note que las variables de salida están encerradas en
corchetes (que es opcional si hay solo una salida), mientras que las variables de entrada deben
estar encerradas con paréntesis. El function_name debe ser el mismo que el nombre del archivo
en el cual esta guardado (con la extensión .m). esto es, si llamamos a una función drop, debería
estar guardada en el archivo drop.m. la función es llamada al escribir su nombre (por
ejemplo,drop) en la línea de comandos. La palabra function en la línea de definición de función
debe estar en minúscula. Antes de nombrar una función, puedes usar la función exist para ver si
otra función tiene el mismo nombre.
ALGUNOS EJEMPLOS DE FUNCIONES SIMPLES
Las funciones operan en variables dentro de su propio espacio de trabajo (llamadas variables
locales), que esta separado del espacio de trabajo que accedes en el prompt comando de MATLAB.
Considere la siguiente función definida por el usuario fun
Note el uso del operador de exponenciación de matriz (.^). Este permite que la función acepte a y
como un arreglo. Ahora considerar que sucede cuando llamas esta función de varias maneras en la
ventana de comando. Llamar la función con su argumento de salida:
Llama la función sin su argumento de salida e intentar acceder su valor. Ver un mensaje de error.
Puedes suprimir la salida al poner un punto y coma después de llamar la función. Por ejemplo, si
escribes q=fun(3,7); el valor de q será calculado pero no mostrado.
Las variables x y y son locales a la función fun, así, a menos que pases sus valores al nombrarlos x y
y, sus valores no estarán disponibles en el espacio de trabajo fuera de la función. La variable u
también es local a la función. Por ejemplo,
Una función puede tener mas de una salida. Estas están encerradas en corchetes. Por ejemplo, la
función circle calcula el área A y circunferencia C de un círculo, dando sus radios como un
argumento de entrada.
Una función puede no tener argumentos de entrada ni lista de salida. Por ejemplo, la siguiente
función definida por usuario show_date calcula y almacena la fecha en la variable today, y muestra
el valor de today
Los siguientes ejemplos muestran variaciones admisibles en el formato de la línea de función. Las
diferencias dependen en si no hay salida, una sola salida, o múltiples salidas.
El ejemplo 1 es una función con una entrada y una salida. Los corchetes son opcionales cuando
solo hay una salida (ver ejemplo 2). El ejemplo 3 tiene una salida y tres entradas. El ejemplo 4
tiene dos salidas y una entrada. El ejemplo 5 no tiene variable de salida (por ejemplo, una función
que genere una gráfica). En tales casos el signo igual puede ser omitido.
Las líneas comentarios inician con el signo % que puede ser ubicado en cualquier lado en el archivo
función. Sin embargo, si usas help para obtener información sobre la función, MATLAB muestra
todas las líneas comentarios inmediatamente después de la línea de definición de función hasta la
primera línea en blanco o la primera línea ejecutable. La primera línea comentario puede
accederse por el comando lookfor.
Podemos llamar tanto a las funciones incorporadas como a las definidas por el usuario ya sea con
variables de salida explícitamente especificadas, como en los ejemplos 1 a 4, o sin ninguna variable
de salida especificada. Por ejemplo, podemos llamar la función square como square(side) si no
estamos interesados en su variable de salida área_square. (La funcion debe realizar alguna otra
operación que queramos que ocurra, tal como generar una grafica) Note que si omitimos el punto
y coma al final de la declaración de la función llamada, la primera variable en lista de variable de
salida será mostrada usando el nombre de la variable por defecto ans.
los siguientes ejemplos muestras varias maneras para llamar la función drop:
1. Usar los nombres de las variables en la definición de función puede, pero no es necesario,
ser usados cuando la función es llamada:
2. No es necesario asignar valores a las variables de entrada fuera de la función antes de
llamar la función:
Llamar esta función genera los arreglos feet_dropped y speed, cada uno con seis valores
correspondientes a los seis valores de tiempo en el arreglo 0:1:5
VARIABLES LOCALES
Los nombres de las variables de entrada dados en la línea de definición de función son locales para
esa función. Esto significa que otros nombres de variables pueden ser usados cuando llamas la
función. Todas las variables dentro de una función se borran después de que la función termina de
ejecutarse, excepto cuando los mismos nombres de las variables aparecen en la lista de variable
de salida en la llamada de función.
Por ejemplo, cuando usamos la función drop en un programa, podemos asignar un valor a la
variable dist antes de llamar la función, y su valor se mantendrá sin cambios después de llamarla
porque su nombre no fue usado en la lista de salida de la llamada declaración (la variable
feet_dropped fue usada en lugar de dist). Esto es lo que se quiere decir por las variables de
funciones que son locales a la función. Esta característica nos permite escribir generalmente
funciones útiles usando variables de nuestra elección, sin estar preocupado de que al llamar el
programa use los mismos nombres de variables para otros cálculos. Esto significa que nuestros
archivos función son portables y no necesitan volverse a escribir cada vez que son usados en
diferentes programas.
VARIABLES GLOBALES
El comando global declara ciertas variables globales, y por lo tanto sus valores están disponibles
para el espacio de trabajo básico y para otras funciones que declaran estas variables globales. La
sintaxis para declarar las variables A,X, y Q es global A X Q. Usar un espacio, no una coma, para
separar las variables. cualquier asignación para estas variables, en cualquier función o en el
espacio de trabajo básico, esta disponible para todas las otras funciones declarándolas globales. Si
la variable global no existe la primera vez que emites la declaración global, será inicializada para la
matriz vacía. Si una variable con el mismo nombre que la variable global ya existe en el espacio de
trabajo actual, MATLAB emite una advertencia y cambia el valor de esa variable para ajustar la
global. En una función definida por el usuario, hacer que el comando global sea la primera línea
ejecutable. Coloque el mismo comando en el programa de llamada. Es habitual, pero no
requerido, capitalizar los nombres de las variables globales y usar nombres largos, hacerlas
fácilmente reconocibles.
La decisión para declarar una variable global no es siempre clara. Se recomienda evitar usar
variables globales. A menudo esto puede hacerse al usar funciones anónimas y anidadas, como se
discute en la sección 3.3.
FUNCIONES HANDLES
Una función handle es una forma de citar una función dada. Introducida por primera vez en
MATLAB 6.0, la función handle se ha vuelto ampliamente utilizada y frecuentemente aparece en
ejemplos a lo largo de la documentación de MATLAB. Puedes crear una función handle para
cualquier función al usar el signo @ antes del nombre de la función. Entonces puedes dar al
identificador un nombre, si deseas, y puedes usar el indentificador para citar la función.
Por ejemplo, considerar la siguiente función definida por el usuario, que calcula
Para crear un identificador a esta función y nombrar el identificador fh1, escribe fh1=@f1.
FUNCIONES FUNCIONES
Algunas funciones MATLAB actúan sobre funciones. Estos comandos son denominados function
functions. Si la función sobre la que se actúa no es una función simple, es más conveniente definir
la función en un M-file. Puedes pasar la función a la función de llamada al usar una función handle.
Puedes usar la función fzero para encontrar el cero de una función de una sola variable, que es
denotada por x. su sintaxis básica es
Donde @function es una función handle y x0 es una estimación suministrada por el usuario para el
cero. La función fzero retorna un valor de x que esta cerca a x0. Identifica solo puntos donde la
función cruza al eje x, no puntos donde la función solamente toca al eje. Por ejemplo,
fzero(@cos,2) retorna el valor de x=1.5708. Como otro ejemplo, y=x 2 es una parábola que toca el
eje x en x=0. Sin embargo, no se encontrará ningún cero, porque la función nunca cruza el eje.
Las funciones pueden tener mas de un cero, por lo que ayuda graficar la función primero y luego
usar fzero para obtener una respuesta que es mas exacta que la respuesta leída de la gráfica. La
figura 3.2.1 muestra la grafica de la función y=x+2e -x-3, la cual tiene dos ceros, uno cerca de x=-0.5
y uno cerca de x=3. Usando el archivo función f1 creado anteriormente para encontrar el cero
cerca de x=-0.5, escribir x=fzero(@f1,-0.5). la respuesta es x=-0.5831. para encontrar el cero cerca
de x=3, escribir x=fzero(@f1,3). La respuesta es x=2.8887.
La función fminbnd encuentra el mínimo de una función de una sola variable, que es denotada por
x. su sintaxis básica es
Donde @function es una función handle. La función fminbnd retorna un valor de x que minimiza la
función en el intervalo x1≤x≤x2. Por ejemplo, fminbnd(@cos,0,4) retorna el valor x=3.1416.
Sin embargo, para usar esta función para encontrar el mínimo de funciones muy complicadas, es
mas conveniente definir la función en un archivo función. Por ejemplo. Si y=1-xe -x, definir el
siguiente archivo función:
Siempre que usemos una técnica de minimización, deberíamos comprobar que la solución es un
mínimo verdadero. Por ejemplo, considerar el polinomio y=0.025x 5-0.0625x4-0.333x3+x2. Su grafica
se muestra en la figura 3.2.2. La función tiene dos puntos mínimos en el intervalo -1<x<4. El
mínimo cerca de x=3 es llamado un mínimo relativo o mínimo local porque forma un valle cuyo
punto mas bajo es mas alto que el mínimo en x=0. El mínimo en x=0 es el mínimo verdadero y
también se denomina el mínimo global. Primero crear el archivo función
También fminbnd puede dar respuestas engañosas. Si especificamos el intervalo 1≤x≤4, MATLAB
proporciona la respuesta x=2.8236, que corresponde al valle mostrado en la gráfica, pero el cual
no es el punto mínimo en el intervalo 1≤x≤4. En este intervalo el punto mínimo esta en el limite
x=1. El procedimiento fminbnd busca para un punto mínimo correspondiente a una pendiente
cero. En la práctica, el mejor uso de la función fminbnd es para determinar precisamente la
ubicación de un punto mínimo cuya ubicación aproximada fue encontrada por otros medios, tales
como graficar la función.
La tabla 3.2.1 resume la sintaxis básica de los comandos fminbnd, fminsearch y fzero.
Además de las funciones handles , las funciones anónimas, subfunciones, y funciones anidadas son
algunas de las funciones mas recientes de MATLAB. Esta sección trata las características básicas de
estos nuevos tipos de funciones.
MÉTODOS PARA LLAMAR FUNCIONES
Ejemplos de estas maneras para la función fzero usada con la función definida por el usuario fun1,
que calcula y=x2-4.
1) Como una cadena de caracteres que identifica la función apropiada M-file, que es
La función puede ser llamada como sigue, para calcular el cero sobre el rango 0≤x≤3:
El método 2 no estaba disponible antes de MATLAB 0.6, y ahora se prefiere sobre el método 1. El
tercer método no se discute en este texto porque es un método mas lento que el segundo. El
tercer y cuarto método son equivalentes porque ambos utilizan la función inline, la única
diferencia es que con el cuarto método MATLAB determinar que el primer argumento de fzero es
una variable cadena y llama inline para convertir la variable cadena a una función objeto inline. El
método de la función handle es el método más rápido, seguido por el método 1.
Además, para acelerar la mejora, otra ventaja de usar una función handle es que proporciona
acceso a subfunciones, que normalmente no son visibles fuera de su definición M-file. Esto será
discutido después en esta sección.
TIPOS DE FUNCIONES
En este punto es útil repasar los tipos de funciones proporcionadas por MATLAB. MATLAB
proporciona funciones incorporadas, tales como clear, sin, y plot, que no son M-files, y algunas
funciones que son M-files, tales como la función mean. Además, los siguientes tipos de funciones
definidas por el usuario pueden ser creadas en MATLAB.
FUNCIONES ANÓNIMAS
Las funciones anónimas te permiten crear una función simple sin la necesidad de crear un M-file
para esto. Puedes construir una función anónima ya sea en la línea de comandos de MATLAB o
dentro de otra función o script. La sintaxis para crear una función anónima de una expresión es
Donde arglist es una lista separada por comas de argumentos de entrada que se pasan a la función
y expr es cualquier expresión de MATLAB única y valida. Esta expresión crea la función handle
fhandle, la cual te permite invocar la función. Note que esta sintaxis es diferente de la que se usa
para crear otras funciones handles, fhandle=@funtion_name. El identificador también es útil para
pasar la función anónima en una llamada a alguna otra función de la misma manera como
cualquier otra función handle.
Por ejemplo, para crear una función simple llamada sq para calcular el cuadrado de un número,
escribir
Para facilitar la legibilidad, puedes encerrar la expresión en paréntesis, como sq=@(x) (x.^2);. Para
ejecutar la función, escribir el nombre de la función handle, seguido por cualquier argumento de
entrada encerrado en paréntesis. Por ejemplo
Puedes pensar que esta función anónima particular no te ahorrara nada de trabajo porque
escribir sq([5,7]) requiere nueve pulsaciones, unas mas de las que se requieren para escribir
[5,7].^2. Aquí, sin embargo, la función anónima te protege de olvidar escribir el punto (.) requerido
para la exponenciación de matriz. Sin embargo, las funciones anónimas son útiles para funciones
mas complicadas que involucran mas pulsaciones.
Puedes pasar el identificador de una función anónima a otras funciones. Por ejemplo, para
encontrar el mínimo del polinomio 4x 2-50x+5 sobre el intervalo [-10,10], escribe
Si no vas a usar el polinomio otra vez, puedes omitir la línea de definición del identificador y
escribir en cambio
Puedes crear funciones anónimas que tengan más de una entrada. Por ejemplo, para definir la
función √ x 2+ y 2 , escribir
Luego
Como otro ejemplo, considerar la función z=Ax+By que definen un plano. Las variables escalares A
y B deben asignarse valores antes de crear la función handle. Por ejemplo,
Para construir un identificador para una función anónima que no tiene argumentos de entrada,
usar paréntesis vacíos para la lista de argumentos de entrada, como se muestra por lo siguiente:
d=@() date;.
Una función anónima puede llamar a otra para implementar la composición de funciones.
Considerar la función 5sin(x^3). Está compuesta de las funciones g(y)=5sin(y) y f(x)=x^3. En la
siguiente sesión la función cuyo identificador es h llama a las funciones cuyos identificadores son f
y g para calcular 5sin(2^3)
Para conservar una función anónima de una sesión de MATLAB para la siguiente, guardar la
función handle para un MAT-File. Por ejemplo, para guardar la función asociada con el
identificador h, escribir save anon.mat h. Para recuperarla en una sesión posterior, escribir load
anon.mat h
VARIABLES Y FUNCIONES ANÓNIMAS
SUBFUNCIONES
Una función M-file puede contener mas de una función definida por el usuario. La primera función
definida en el archivo es denominada la función principal, cuyo nombre es el mismo que el
nombre del M-file. Todas las otras funciones en el archivo se denominan subfunciones. Las
subfunciones son normalmente ‘visibles, notables’ solo para la función principal y para otras
subfunciones en el mismo archivo; esto es, normalmente no puede ser llamadas por programas o
funciones fuera del archivo. Sin embargo, esta limitación puede ser removida con el uso de la
función handles, como veremos después en esta sección.
Primero crear la función principal con una línea de definición de función y su código de definición,
y nombrar el archivo, con el nombre de esta función como es costumbre. Luego crear cada
subfunción con su propia línea de definición de función y su código de definición. El orden de las
subfunciones no importa, pero los nombres de las funciones deben ser únicos dentro del M-file.
El orden en el cual MATLAB verifica las funciones es muy importante. Cuando una función es
llamada desde dentro de un M-file, MATLAB primero verifica para ver si la función es una función
incorporada tal como sin. Si no, se verifica para ver si es una subfunción en el archivo, luego
verifica para ver si es una función privada. Luego MATLAB verifica para un M-file estándar en su
ruta de búsqueda. De este modo, ya que MATLAB verifica para una subfunción antes de verificar
para M-file función privadas y estándar, puedes usar subfunciones con el mismo nombre que otro
M-file existente. Esta característica te permite nombrar subfunciones sin estar preocupado sobre
si otra función existe con el mismo nombre, así no necesitas elegir nombres de funciones largos
para evitar conflictos.
Note que incluso puedes remplazar un M-funcion de esta manera. El siguiente ejemplo muestra
como el M-funcion mean puede ser remplazado por nuestra propia definición del promedio, uno
el cual da el valor de la raíz del cuadrado del promedio. La función mean es una subfunción. La
función subfun_demo es la función principal
A continuación, se muestra una sesión de muestra.
De este modo el uso de subfunciones te permite reducir la cantidad de archivos que definen tus
funciones. Por ejemplo, si no fuera por la subfunción mean en el ejemplo anterior, habríamos
tenido que definir un M-file separado para nuestra función mean y darle un nombre diferente de
manera que no se confundiera con la función de MATLAB del mismo nombre.
Las subfunciones son normalmente visibles solo para la función principal y otras subfunciones en
el mismo archivo. Sin embargo, podemos usar una función handle para permitir el acceso a la
subfunción desde fuera del M-file, como se muestra en el siguiente ejemplo.
Crear el siguiente M-file con la función principal fn_demo1 (range) y la subfunción testfun(x) para
calcular los ceros de la función (x^2-4)cos x sobre el rango especificado en la variable de entrada
range. Note el uso de una función handle en la segunda línea.
FUNCIONES ANIDADAS
Con MATLAB 7 ahora puedes colocar las definiciones de una o mas funciones dentro de otra
función. Así las funciones definidas se dicen ser anidadas dentro de la función principal. También
puedes anidar funciones dentro de otras funciones anidadas. Como cualquier M-file function, una
función anidada contiene los componentes habituales de un M-file function. Sin embargo, siempre
debes terminar una función anidada con una declaración end. De hecho, si un M-file contiene al
menos una función anidada, debes terminar todas las funciones, incluyendo subfunciones, en el
archivo con una declaración end, ya sean que contengan o no funciones anidadas.
El siguiente ejemplo construye una función handle para una función anidada p(x) y luego pasa el
identificador a la función fminbnd de MATLAB para encontrar el punto mínimo sobre la parábola.
La función parábola construye y retorna una función handle f para la función anidad p que evalúa
la parábola ax^2+bx+c. este identificador se pasa a fminbnd.
Note que la función p(x) puede ver las variables a,b, y c en el espacio de trabajo de la función de
llamada.
Comparar este enfoque con el que requiere usar variables globales. Primero crear la función p(x)
Una función anidada puede acceder al espacio de trabajo de todas las funciones dentro de
la cual este anidada. Así, por ejemplo, una variable que tiene un valor asignado por la
función principal puede ser leído o sobrescrito por una función anidada en cualquier nivel
dentro de la función principal. Además, una variable asignada en una función anidada
puede ser leído o sobrescrito por cualquiera de las funciones que contienen esta función.
Si construyes una función handle para una función anidada, el identificador no solo
almacena la información necesaria para acceder a la función anidada, sino también
almacena los valores de todas las variables compartidas entre la función anidada y
aquellas funciones que la contienen. Esto significa que estas variables persisten en
memoria entre llamadas realizadas por medio de la función handle.
1) Puedes llamarla desde el nivel inmediatamente arriba de esta. (En el código previo, la
función A puede llamar a B o a D, pero no a C o E)
2) Puedes llamarla desde una función anidada en el mismo nivel dentro de la misma función
principal. (La función B puede llamar a D, y D puede llamar a B)
3) Puedes llamarla desde una función en cualquier nivel inferior. (La función C puede llamar a
B o D, pero no a E)
4) Si construyes una función handle para una función anidada, puedes llamar la función
anidada desde cualquier función de MATLAB que tenga acceso al identificador.
Puedes llamar una subfunción desde cualquier función anidada en el mismo archivo M.
3.4 TRABAJAR CON ARCHIVOS DE DATOS
Un archivo de datos ASCII puede terne una o más líneas de texto, denominadas el encabezado, al
principio. Estas podrían ser comentarios que describen qué representan los datos, la fecha que
fueron creados, y quien creo los datos, por ejemplo. Una o más líneas de datos, organizadas en
filas y columnas, sigue el encabezado. Las cantidades en cada fila podría ser separadas por
espacios o comas.
Si hay inconveniente para editar el archivo de datos, el entorno de MATLAB proporciona muchas
maneras para traer los datos creados por otras aplicaciones a el espacio de trabajo de MATLAB, un
proceso denominado importar datos, y empaqueta las variables del espacio de trabajo de modo
que puedan ser exportadas para otras aplicaciones.
Si el archivo tiene un cabezal o los datos están separados por comas, MATLAB producirá un
mensaje de error. Para corregir esta situación, primero cargar el archivo de datos en un editor de
texto, remover el cabezal, y remplazar las comas por espacios. Para recuperar estos datos a
MATLAB, escribir load filename. Si el archivo tiene m líneas con n valores en cada línea, los datos
serán asignados para una matriz mxn que tiene el mismo nombre que el archivo con la extensión
despojada de f. tu archivo de datos puede tener cualquier extensión excepto .mat, para que
MATLAB no intente cargar el archivo como un archivo del espacio de trabajo.
Algunos programas de hojas de calculo almacenan datos en el formato .wk1. Puedes usar el
comando M=wk1read (‘filename’) para importar estos datos a MATLAB y almacenarlos en la
matriz M. El comando A=xlsread (‘filename’) importa el archivo filename.xsl de libro de trabajo de
Microsoft Excel a el arreglo A. el comando [A,B]= xlsread (‘filename’) importa todos los datos
numéricos a el arreglo A y todos los datos de texto a el arreglo celda B.
EL ASISTENTE DE IMPORTACIÓN
Puedes usar el asistente de importación para importar muchos tipos de formatos de datos ASCII,
incluyendo datos en el portapapeles. El asistente de importación presenta una serie de cuadros de
diálogo en los cuales especificas el nombre del archivo, el delimitador usado en el archivo, y las
variables que deseas importar.
Haga lo siguiente para importar este archivo de datos ASCII delimitador por tabuladores de
muestra
Para importar datos desde el portapapeles, seleccionar Paste Special desde el menú Edit. Luego
proceder con el paso 2. El nombre de la variable por defecto es A_pastespecial.
Podrías querer exportar una matriz de MATLAB como un archivo de datos ASCII donde las filas y
columnas son representadas como valores numéricos delimitados por espacios. Para exportar una
matriz de MATLAB como un archivo de datos delimitados ASCII, puede usar ya sea el comando
save, especificando el calificador -ASCII, o la funcion dlmwrite. El comando save es fácil de usar; sin
embargo; la funcion dlmwrite proporciona gran exibilidad, permitiéndote especificar cualquier
carácter como un delimitador y exportar subconjuntos de un arreglo al especificar un rango de
valores.
Suponer que has creado el arreglo A=[1 2 3 4;5 6 7 8] en MATLAB. Para exportar el arreglo usando
el comando save, escribir lo siguiente en la ventana de comandos.
Por defecto, save usa espacios como delimitadores, pero puedes usar tab en lugar de espacios al
especificar el calificador -tab.
Que el señor FERNEY BUITRAGO ESCAMILLA, identificado con cedula de ciudadanía N° 1.096.186.751 de Barrancabermeja; laboro para esta compañía mediante contrato a termino
por obra o labor, desde 10 septiembre 2013 hasta 20 de febrero 2014; desempeñando el cargo de cuñero, con una asignación salarial de Un Millón Quinientos Noventa y cinco mil
Pesos ($ 1.500.000 m/te).
La presente se expide en la ciudad de Bogotá C.D, a solicitud del interesado, a los 27 días del mes Febrero 2014.