Вы находитесь на странице: 1из 85

Manual AS/400 Nivel 0

Capitulo I
1.1 Estructura básica de AS/400
El IBM AS/400 e-Series, nos ofrece un poder, en seguridad y flexibilidad que las
empresas necesita para manejar hasta las mas sofisticadas aplicaciones de la
actualidad, así sea para una poca estaciones o para una red, su arquitectura del
sistema AS/400 se una con la mayor avanzada tecnología innovadora, la cual
satisfacer de manera efectiva el crecimiento de la empresa.
El AS/400 e-Series le provee de extensas funciones de disponibilidad y recuperación,
como por ejemplo la tecnología de almacenamiento (Arreglo) Redundante de Discos
Independientes (RAID). Las mejoras hechas al AS/400 que minimizan el potencial de
inactividad del sistema incluyen la alta disponibilidad de energía y el mantenimiento
concurrente de DASD que permite reparar o remplazar las unidades de disco interno
mientras el sistema continúa operando.
Otras de las nuevas y significativas capacidades disponibles incluyen un LAN
Server/400 altamente optimizado.
Como base principal vamos a conocer el AS/400 desde su imagen exterior.
1.2 Encendido del Sistema:
Para comenzar el encendido del sistema AS/400 tiene varias opciones:
El AS/400, cuenta con un botón encendido en la parte frontal del mismo, este botón
tiene dos funciones de encendido “Normal o Manual” y es operado de la siguiente
manera. Figura 1
Elaborado por Diana Blanco
1
Manual AS/400 Nivel 0
1.3 Encendido Manual:
En la parte frontal del equipo existe un botón con una flecha que apunta hacia arriba,
otro con una flecha que apunta hacia abajo, un botón de Intro y un botón de
encendido. Para seleccionar el modo de encendido MANUAL deberá realizar el
siguiente procedimiento.
A) Estando el equipo apagado pulsar uno de los botones con la flecha hacia arriba
o hacia abajo, hasta en tanto aparezca en el panel de control el numero 02, y
pulsar el botón de Intro.
B) Pulsar uno de los botones con la flecha hacia arriba o hacia abajo, hasta en
tanto aparezcan en el panel de control las letra BM, y pulsa el botón de Intro.
C) Pulsa el botón de encendido.
El 02 de inicio A significa selección de IPL (INITIAL PROGRAM LOAD)
El BM de inicio B SIGNIFICA Área de maquina B, modo Manual.
1.4 Encendido Normal
Para seleccionar el modo de encendido Normal deberá realizar el siguiente
procedimiento:
A) Estando el equipo apagado pulsar uno de los botones con la flecha hacia
arriba o hacia abajo, hasta en tanto aparezca en el panel de control el numero
02 (Seleccionar IPL), y pulsar el botón de Intro.
B) Pulsar unos de los botones con la flecha hacia arriba o hacia abajo, hasta en
tanto aparezcan en el panel de control las letras BN, y pulsar el botón de Intro.
C) Pulsar el botón de encendido.
El 02 del inicio A significa selección de IPL (INITIAL PROGRAM LOAD)
El BN del inicio B significa Área de maquina B, modo Normal.
El modo de encendido, manual solo lo utiliza el personal técnico de IBM, por lo
que solo será cambiado cunado sea necesario, en condiciones normales siempre
aparecerá en el Panel de control 01 BN y solo será necesario pulsa el botón de
encendido.
El 01 del inicio A significa IPL (INITIAL PROGRAM LOAD) establecido.
El BN del inicio B significa area de maquina B, modo Normal.
Al encender el sistema AS/400, se despliega una pantalla de inicio de sesión,
similar a la figura numero 2, en donde se deberá teclear el nombre del usuario y
una contraseña propia del usuario, estos datos serán proporcionados por el
responsable de sistema a cada persona que vaya a tener acceso al sistema, en
paginas posteriores se explicará como dar de alta a un usuario.
Elaborado por Diana Blanco
2
Manual AS/400 Nivel 0
Figura Número 2
Inicio de Sesión
Sistema . . . . . . : S104LGDM
Subsistema . . . : QBASE
Pantalla . . . . . . : DSP12
Usuario . . . . . . . . . . . . . . . . . . . . DBLANCO
Contraseña . . . . . . . . . . . . . . . . . JLZ
Programa/procedimiento . . . . . . _____________
Menú . . . . . . . . . . . . . . . . . . . . . _____________
Biblioteca actual . . . . . . . . . . . . _____________
(C) COPYRIGHT IBM CORP. 1980, 1999.
Al teclear el nombre de usuario y la contraseña (la cual no es visible) y pulsa la tecla
de Intro, aparece el menú principal del sistema AS/400, o el que haya sido
seleccionado como menú principal del usuario, la siguiente figura es un ejemplo del
menú mencionado. Su contenido se explica a continuación:
Figura Número 3
1 MAIN 2 Menú Principal AS/400
3 Sistema: S104LGDM
Seleccione una de las opciones siguientes:
1. Tareas de usuario
2. Tareas de oficina
3. Tareas generales del sistema
4. Archivos, bibliotecas y carpetas
5. Programación
4 6. Comunicaciones
7. Definir o cambiar el sistema
8. Manejo de problemas
9. Visualizar un menú
10. Opciones de Information Assistant
11. Tareas de Client Access/400
90. Finalizar la sesión 5
Selección o mandato
===> ____________________________________________________________________________________
__________________________________________________________________________________________
F3=Salir F4=Solicitud F9=Recuperar F12=Cancelar
F13=Information Assistant 6 F23=Establecer menú inicial
(C) COPYRIGHT IBM CORP. 1980, 1999. 6
1.- En la esquina superior izquierda aparece el nombre del menú con el cual se esta
trabajando.
2.-En la parte central superior de la pantalla se despliega el nombre del trabajo o
pantalla que se esta utilizando.
Elaborado por Diana Blanco
3
Manual AS/400 Nivel 0
3.-En la siguiente línea hacia el extremo derecho aparece el número de serie del
equipo AS/400.
4.- Se refiere a los puntos u opciones de menú disponibles en la pantalla que se
visualiza.
5.-Aparecen dos líneas de mandato, donde se puede teclear un numero de opciones
de las que se encuentra disponible o bien teclear un mandato del sistema.
6.- En la parte inferior de la pantalla aparecen las teclas de función, estas teclas
pueden variar de acuerdo al menú o proceso con el cual se esta trabajando, por lo
pronto solo se explicara las mas comunes.
F1=Ayuda Esta tecla no se encuentra visible en esta pantalla pero puede ser pulsada y
se utiliza para brindar información del contenido y uso de la pantalla con la que se está
trabajando, algún punto de opción o campo a teclear.
F3= Salir Esta opción es utilizada para salir del menú actual y regresar al menú de
inicio o punto de partida, esta tecla de función siempre realizara el mismo proceso.
F4=Solicitud Esta tecla es utilizada para complementar la información cuando se
desea o se está trabajando con mandatos, es decir se teclea el mandato principal y al
pulsar la tecla de F4, desplegará una pantalla con los parámetros disponibles para su
uso.
Cuando se visualizan los parámetros de algún mandato, es posible que también aparezca
la tecla de función F4, pero en estos casos se utiliza para consultar las diferentes
opciones de parámetros a teclear.
F9=Recuperar pulse esta tecla de función si desea recuperar los diferentes mandatos
tecleados en la línea de mandatos, estos se irán presentando uno a uno en orden
regresivo.
F12=Regresar es utilizada para regresar a la pantalla previa de la que se generó el
acceso a la pantalla actual.
F13=Information Assistant Si desea información respecto al contenido y uso de la
pantalla que visualiza pulse esta tecla de función (similar a la tecla F1 ayuda).
F23=Establecer menú inicial Esta tecla sirve para establecer el menú inicial que
utilizara cada usuario, y tiene funcionalidad aún y cuando no aparezca al pie de la
pantalla (existen excepciones).
Elaborado por Diana Blanco
4
Manual AS/400 Nivel 0
1.5 Apagado del Sistema
Para el apagado del sistema, solo se tiene que teclear el siguiente mandato en cualquier
línea de mandatos del sistema AS/400 (no es necesario pulsar ningún botón del equipo).
PWRDWNSYS *IMMED
Para lo cual nadie deberá estar trabajando ya con el equipo AS/400.
1.5.1 Encendido y Apagado del Sistema PROGRAMADO:
El sistema AS/400, tiene la funcionalidad de programar su encendido y apagado diario,
se recomienda que se programe que encienda el sistema con al menos media hora antes
de anticipación de la hora de entrada del personal. Y el apagado a 1 hora después de la
hora de salida del personal.
Para programar el encendido y/o apagado realizar los siguientes pasos:
1. En cualquier línea de mandatos teclear GO POWER
2. En la siguiente pantalla seleccionar la opción 2=Cambiar planificación de
encendidos y apagados. Y pulsar la tecla de INTRO.
3. se despliega una pantalla con los siguientes encabezados:
Fecha Hora Encendido Apagado Descripción
En estas columnas aparecen los datos actuales programados para el encendido y
apagado del equipo AS/400, pulsar la tecla de función F10=Cambiar Valores por
Omisión.
4. En la siguiente pantalla, se define:
El día que desea considerar como inicio de semana
Los minutos antes del apagado para enviar mensaje a los usuarios
El valor por omisión para el encendido
El valor por omisión para el apagado
Estas dos ultimas columnas se complementan con los días de la semana, que desea se
Encienda y/o apague el sistema, en otros casos, deje el campo en blanco.
Elaborado por Diana Blanco
5
Manual AS/400 Nivel 0
1.5.2 Apagado del Sistema CON ERROR
Cuando el sistema tiene un corte de corriente, o por alguna causa sea desactivado con
mensaje de error en el sistema (Luz encendida de “Atención Sistema” parte frontal del
equipo), deberá realizar lo siguiente:
En la parte frontal del equipo existe un botón con una flecha que apunta hacia arriba,
otro con una flecha que apunta hacia abajo, un botón de Intro y un botón de encendido.
Para realizar el apagado del sistema deberá realizarse el siguiente procedimiento:
A) Estando el equipo encendido pulsar uno de los botones con flecha hacia
arriba o hacia abajo, hasta en tanto aparezca en el panel de control el número
02, y pulsar el botón de Intro.
B) Pulsar uno de los botones con flecha hacia arriba o hacia abajo, hasta en
tanto aparezcan en el panel de control las letras BM, y pulsar el botón de
Intro.
C) Pulsar el botón de encendido. Dos veces.
A) Antes de encender el equipo, nuevamente realice el procedimiento de
encendido en modo normal mencionado en líneas anteriores.
NOTA: En caso de persistir el problema de luz amarilla de Atención Sistema, reportar a
Escort Informática o a IBM de México.
Elaborado por Diana Blanco
6
Manual AS/400 Nivel 0
6.- PRINCIPALES MANDATOS DEL AS/400
El sistema AS/400, es operado por medio de Menús para las diferentes
funciones a realizar, como por ejemplo, dar de alta usuarios en el sistema, trabajar con
el Spool de impresiones, trabajar con líneas de comunicación etcétera.
Pero esta operación puede ser un tanto lenta, ya que para llegar a un determinado
proceso en ocasiones hay que pasar por una serie de menús, más aun cuando no se
está muy familiarizado con la operación de dichos menús.
El equipo AS/400 cuenta con una gran cantidad de mandatos que son utilizados para
facilitar su operación evitando al máximo la utilización del los menús.
Un mandato es una serie de instrucciones que ejecutan un programa. Presentan un
menú o proceso de trabajo, estas instrucciones son de acuerdo a sus nombres en
inglés, y normalmente se utilizan las tres primeras letras consonantes de la palabra,
aunque esto no es una regla. Por ejemplo:
Para trabajar con archivo de impresiones, su instrucción en inglés sería work spool
file, y el mandato seria wrksplf (wrk spl f )
Otro ejemplo:
Crear perfil de usuario, su instrucción en inglés es create user profile, y el mandato
es crtusrprf (crt usr prf)
Los siguientes mandatos son algunos de los más utilizados en el sistema AS/400, en
relación con la operación del Citrac Plus, los cuales serán explicados a continuación
pero se recomienda ampliar su contenido dentro del mismo sistema.
WRKSPLF (work spool file) trabajar con archivos de impresión, en esta pantalla
presentan varias opciones (ver figura numero 4) las más usuales son:
.
Elaborado por Diana Blanco
7
Manual AS/400 Nivel 0
2 = Cambiar Esta opción tiene las siguientes opciones:
- Cambiar la salida de impresión a otra impresora
- Cambiar el número de copias
- Cambiar el rango de páginas a imprimir (por Default imprime de la primera a la
ultima.
- Imprimir a continuación, ignora el orden en que llegaron las impresiones y la imprime
en primer lugar.
- Salvar la salida de impresión para que no sea borrada al terminar de imprimir
3 = Retener Retiene la salida de impresión para que no se imprima.
4 = Suprimir Elimina del archivo de impresiones la impresión seleccionada
5= Visualizar Visualiza el contenido de una impresión por pantalla. La
visualización de la impresión es muy similar a la visualización de
un archivo de datos, el cual será explicado posteriormente.
6 = Liberar Activa una impresión retenida con la opción 3, para que se
imprima a continuación.
7 = Mensaje Si la impresión cuenta con algún mensaje por el cual no se pueda
imprimir, con esta opción se visualiza y contesta el mensaje.
9 = Trabajar con Impresión Visualiza el estado en que se encuentra la impresión
10 = Arrancar Impresión Arranca una impresión que se encuentra detenida
(normalmente por algún problema de la impresora).
11 = Rearrancar Impresión Reinicia la impresión a partir de una página determinada,
teniendo también la opción de salvar la impresión para que no sea
borrada al momento de finalizar de imprimir.
Figura Núm. 4
Trabajar con Salida de Impresora
Sistema: S104LGDM
Usuario . . . . AHERNANDEZ Nombre, *ALL, F4 para lista
Teclee opciones, pulse Intro. Para trabajar con impresoras, pulse F22.
2=Cambiar 3=Retener 4=Suprimir 5=Visualizar 6=Liberar 7=Mensaje
9=Trabajar con estado impresión 10=Arrancar impresión
11=Rearrancar impresión
Impresora/
Opc Salida Estado
PRT01
__ QPDCDEVA Impresora parada (utilice Opc 10)
Final
F1=Ayuda F3=Salir F5=Renovar F11=Fechas/páginas/formularios
F12=Cancelar F20=Incluir salida sistema F24=Más teclas Elaborado por Diana Blanco
8
Manual AS/400 Nivel 0
En cuanto a las teclas de función solo se mencionarán las más usuales:
F1= Ayuda Proporciona información sobre como utilizar la pantalla con la que está
trabajando. Si esta posicionado en un campo de la pantalla visualiza
información de dicho campo, si desea información de toda la pantalla
posicione el cursor en la primer línea de la pantalla y pulse F1
F3 = Salir Finaliza la pantalla actual y regresa al punto de partida.
F5 = Renovar Actualiza la información de la pantalla presentando los cambios realizado
F9 = Línea mandatos Presenta una ventana con línea de mandatos que puede utilizar.
F11 = Fechas/páginas/formularios presenta información adicional del archivo de
impresión como la fecha de envío, la cantidad de páginas y tipo de
formularios.
F12= Cancelar Regresa a la pantalla anterior
DSPPFM (Display Phisical File Member) Desplegar miembro de archivo físico, esta
pantalla se utiliza para visualizar el contenido de un archivo de datos con el cual se esté
trabajando, para su utilización es recomendable conocer algunos aspectos de su
contenido, como por ejemplo la posición en que se encuentra acomodada la
información, la longitud por registro etcétera (este comando es similar a la opción 5 del
comando wrksplf o equivalente al comando dspsplf).
Para desplegar el contenido de un archivo deberá teclear el mandato de la siguiente
manera:
Dsppfm XXX/yyy Donde XXX es el nombre de la biblioteca que contiene el archivo
y yyy es el archivo que desea visualizar.
O bien después de teclear el mandato pulsar la tecla de función F4=Solicitud, y teclear
los
Datos que solicita la pantalla. La pantalla que presenta es similar a la
Figura numero 5
Visualizar Miembro de Archivo Físico
Archivo . . . . : GRUPO Biblioteca. . . : CIT00DAT
Nombre . . . . . : GRUPO Registro . . . . : 1
Control . . . . . ________ Columna . . . . : 1
Buscar . . . . . . ______________________
*. . . +. . . . 1 . .. . + . . . . 2 . . . . + . . . . 3 . . . . + . . . . 4 . . . . + .
00110010 INGRESOS S1000000
00110011INGRESOS POR FLETES S1000000
00110012CONVENIOS S1000000
00110013PRODUCTOS VARIOS S1000000
00110014DESCUENTOS S1000000
00110015CONSUMIBLES S1000000
00110016PROCESO NOMINAS S1000000
00110017ACCESORIOS S1000000
00110018GASTOS DE VIAJE S1000000
00110019MANTENIMIENTO S1000000
00110020TOTAL DE VENTAS T1000000
00110021-MENOS 0000000
00110030DEVOLUCION Y REBAJAS S/VTS S2000000
00110031 0000000
00110040VENTAS NETAS T2000000
00110041-MENOS 0000000
00110050COSTO DE VENTAS 0000000
Elaborado por Diana Blanco
00110051AS/400 S2000000
9 Más...
F3=Salir F12=Cancelar F19=Izquierda F20=Derecha F24=Más teclas
Manual AS/400 Nivel 0
El contenido de la pantalla se explica a continuación:
Archivo y Miembro aparece el nombre del archivo que se visualiza. Normalmente el
nombre del archivo es igual que el nombre del miembro, aunque este ultimo puede
variar, ya que no pueden existir dos archivos con el mismo nombre en una biblioteca,
pero si pueden existir dos archivos diferentes con dos miembros del mismo nombre.
Biblioteca se refiere a la biblioteca en que se encuentra el archivo que se visualiza
Registro indica el número de renglón en que se encuentra posicionada la primer línea
del archivo en la pantalla
Columna indica la columna en que se encuentra posicionada la primera columna del
archivo en la pantalla
Control Sobre esta línea puede realizar diferentes funciones, realice la acción deseada
y pulse Intro:
a) Teclear el número de registro en el cual se desea posicionar directamente
b) Teclear la letra T para dirigirse a la primera línea del archivo en la pantalla
c) Teclear la letra B para dirigirse a la última línea del archivo en la pantalla
d) Teclear W+n para mover n cantidad de columnas a la derecha
e) Teclear W-n para mover n cantidad de columnas a la izquierda
f) Teclear +n para mover n cantidad de líneas hacia abajo
g) Teclear -n para mover n cantidad de líneas hacia arriba
Buscar en esta línea se puede realizar la búsqueda de ciertos datos dentro del archivo
que se visualiza, para esto solo basta teclear los datos a buscar respetando mayúsculas y
minúsculas, espacios caracteres etc. y pulsar la tecla de función F16=Buscar.
La búsqueda puede realizarse seleccionado un rango de columnas lo cual se realiza
pulsando la tecla de función F14=Opciones de Búsqueda
La línea que aparece a continuación en la figura número 2 se refiere a las columnas que
hacemos referencia en el punto anterior en donde el asterisco se refiere a la columna
inicial, cada punto se refiere a una unidad de columna, cada signo de + se refiere a cinco
unidades de columnas y cada número se refiere a 10 unidades de columna, ejemplo de la
figura número 6
Figura Núm. 6
Columna inicial cinco unidades de columna
* . . . . + . . . . 1 . . . . + . . . .2 . . . . + . . . . 3 . . . . +
Unidad de Columna Diez Unidades de columna
Las teclas de función que aparecen al pie de la pantalla son similares a las del mandato anterior y solo se explican las faltantes:
Elaborado por Diana Blanco
10
Manual AS/400 Nivel 0
F16= Buscar Ejecuta la búsqueda de los datos tecleados en el campo “Buscar”.
F19 = Izquierda Al pulsar esta tecla se mueve hacia la izquierda una pantalla
completa de información.
F20 = Derecha Al pulsar esta tecla se mueve hacia la derecha una pantalla completa
de información.
CPYF (Copy File) copia archivo, esta opción realiza una copia de un archivo
de base de datos de una biblioteca, a otro archivo de base de datos de la
misma o de otra biblioteca.
Al teclear esta opción lo más recomendable pulsar la tecla de función F4=Solicitud,
donde desplegara una pantalla similar a la figura número 7 y los campos más
usuales se explican enseguida.
Figura Núm. 7
Copiar archivo (CPYF)
Teclee elecciones, pulse Intro.
Desde archivo . . . . . . . . . ________ Nombre
Biblioteca . . . . . . . . . . *LIBL Nombre, *LIBL, *CURLIB
A archivo . . . . . . . . . . . ________ Nombre, *PRINT
Biblioteca . . . . . . . . . . *LIBL Nombre, *LIBL, *CURLIB
Desde miembro . . . . . . . . . *FIRST Nombre, genérico, *FIRST...
A miembro o etiqueta . . . . . . *FIRST Nombre, *FIRST, *FROMMBR
Sustituir o añadir registros . . *NONE *NONE, *ADD, *REPLACE...
Crear archivo . . . . . . . . . *NO *NO, *YES
Formato de impresión . . . . . . *CHAR *CHAR, *HEX
Final
F3=Salir F4=Solicitud F5=Renovar F10=Parámetros adicionales
F12=Cancelar F13=Cómo utilizar esta pantalla F24=Más teclas
Desde el archivo En este campo se teclea el archivo de origen.
Biblioteca Se teclea la biblioteca en que se encuentra el archivo de origen, cuando
se trata de archivos de Citrac Plus la biblioteca es CIT00DAT.
A archivo En este campo se teclea el archivo de destino
Biblioteca Se teclea la biblioteca en que se encuentra el archivo de destino,
cuando se trata de archivos de Citrac Plus la biblioteca es CIT00DAT.
Sustituir o añadir registros En caso de existir el archivo de destino en la biblioteca
correspondiente, tiene la opción de sustituir *REPLACE o añadir *ADD
registros al archivo.
Crear Archivo En caso de que el archivo de destino no exista deberá teclear un *YES
en este campo, de lo contrario teclee *NO.
Existen opciones como copiar un rango de registros; condicionar la copia a
características de igualdad, mayor que, menor que, no igual, etc.; ya sea posición del
registro o de acuerdo al nombre del campo, entre otras opciones, pero estas serán
vistas con posterioridad.
Elaborado por Diana Blanco
11
Manual AS/400 Nivel 0
SAVLIB (Save Library) Salvar Biblioteca, esta opción es utilizada para realizar un
respaldo de una o varias bibliotecas (completas) en un dispositivo de cinta o
deikette.
Al teclear esta opción lo más recomendable pulsar la tecla de función F4=Solicitud,
donde desplegara una pantalla similar a la figura número 8 y los campos más
usuales se explican enseguida.
Figura Núm. 8
Salvar biblioteca (SAVLIB)
Teclee elecciones, pulse Intro.
Biblioteca . . . . . . . . . . . _________ Nombre, genérico* , *NONSYS...
+ para más valores __________
Dispositivo . . . . . . . . . . __________ Nombre, *SAVF, *MEDDFN
+ para más valores __________
Final
F3=Salir F4=Solicitud F5=Renovar F10=Parámetros adicionales
F12=Cancelar F13=Cómo utilizar esta pantalla F24=Más teclas
Biblioteca En este campo se teclea el nombre de la biblioteca de la que desea
realizar el respaldo, en caso de teclear el nombre completo salvara la
biblioteca especificada, en caso de teclear el nombre parcial precedido de
un asterisco, salvará las bibliotecas que inicien con el nombre parcial
tecleado, en caso de teclear *NONSYS, se salvaran todas las bibliotecas
excepto las del sistema operativo.
+ para mas valores En este campo se teclea un signo de “+”, en caso de que desee
realizar un respaldo de varias bibliotecas al mismo tiempo, para lo cual
desplegará una pantalla con varias líneas donde deberá teclear las
bibliotecas a salvar.
Dispositivo En este campo se teclea el nombre del dispositivo de respaldo.
+ para mas valores En este campo se teclea un signo de “+”, en caso de que desee
utilizar varios dispositivos de respaldo.
Existen opciones adicionales para las operaciones de salvar bibliotecas, pero estas
podrán ser explicadas con posterioridad.
RSTLIB (Restore Library) Restaurar Biblioteca, esta opción es utilizada para restaurar
(bajar) un respaldo de una biblioteca (completa) de un dispositivo de cinta o deikette al
sistema AS/400 (la biblioteca no debe existir en el sistema, se crea automáticamente).
Elaborado por Diana Blanco
12
Manual AS/400 Nivel 0
Al teclear esta opción lo más recomendable pulsar la tecla de función F4=Solicitud,
donde desplegara una pantalla similar a la figura número 9 y los campos más usuales se
explican enseguida.
Figura Núm. 9
Restaurar biblioteca (RSTLIB)
Teclee elecciones, pulse Intro.
Biblioteca salvada . . . . . . _________ Nombre, *NONSYS *ALLUSR...
Dispositivo . . . . . . . . . . __________ Nombre, *SAVF, *MEDDFN
+ para más valores __________
Final
F3=Salir F4=Solicitud F5=Renovar F10=Parámetros adicionales
F12=Cancelar F13=Cómo utilizar esta pantalla F24=Más teclas
Biblioteca salvada En este campo se teclea el nombre de la biblioteca que desea
restaurar al sistema AS/400, teclee el nombre de la biblioteca a restaurar,
en caso de teclear *NONSYS, restaurará todas las bibliotecas salvadas
excepto las del sistema operativo, si teclea *ALLUSR restaurará las
bibliotecas con las que el usuario tenga autorización de trabajar.
Dispositivo En este campo se teclea el nombre del dispositivo de donde se realizara la
restauración de la información.
+ para mas valores En este campo se teclea un signo de “+”, en caso de que desee
utilizar varios dispositivos para restaurar bibliotecas.
Existen opciones adicionales para las operaciones de restaurar bibliotecas, pero estas
podrán ser explicadas con posterioridad.
INZTAP (Inizialite Tape) Inicializa (formatea) Cinta, esta opción es utilizada para
formatear una cinta de respaldo, este proceso será necesario cuando sea utilizada una
cinta por primera vez, posteriormente será a criterio del usuario realizarlo o no.
La figura número 10 es un ejemplo de la pantalla a que se hace referencia en este
proceso, solo se explicaran los campos de mayor importancia de la pantalla.
Elaborado por Diana Blanco
13
Manual AS/400 Nivel 0
Figura 10
Inicializar cinta (INZTAP)
Teclee elecciones, pulse Intro.
Dispositivo . . . . . . . . . . Nombre
Nuevo identificador de volumen *NONE Valor tipo carácter, *NONE...
Nuevo id propietario . . . . . . *BLANK
Identificador de volumen . . . . *MOUNTED Valor tipo carácter, *MOUNTED
Comprobar archivos activos . . . *YES *YES, *NO, *FIRST
Densidad de cinta . . . . . . . *DEVTYPE *DEVTYPE, *CTGTYPE, *QIC120...
Código . . . . . . . . . . . . . *EBCDIC *EBCDIC, *ASCII
Opción de fin de cinta . . . . . *REWIND *REWIND, *UNLOAD
Borrar . . . . . . . . . . . . . *NO *NO, *YES
Final
F3=Salir F4=Solicitud F5=Renovar F12=Cancelar
F13=Cómo utilizar esta pantalla F24=Más teclas
Dispositivo En este campo se teclea el nombre del dispositivo en el cual se encuentra
la cinta que desea inicializar.
Nuevo identificador de Volumen En este campo deberá teclear un nombre para
identificar la cinta que esta inicializando.
Nuevo id de propietario se refiere a la identificación del propietario de la cinta, este
campo es opcional.
Comprobar archivo activos Teclee *YES si desea que el sistema revise la existencia
de archivos en la cinta antes de inicializarla, de lo contrario teclee *NO, y la cinta será
inicializada aun y cuando existan archivos gravados.
Densidad de cinta Especifica la densidad de la cinta que se está inicializando, el
default es *DEVTYPE, que significa que tomara la densidad de acuerdo al dispositivo,
en caso de que el respaldo sea para pasar información de un equipo a otro, es
recomendable validar ambos equipos para evitar problemas o errores al
momento de realizar la restauración de la información.
Borrar Especifica el borrado de las etiquetas que se marcan al salvar
información en la cinta, *NO indica que no son borradas dichas
etiquetas, *YES indica que si serán borradas.
WRKUSRPRF (Work User Profile) trabajar con perfiles de usuario, Este mandato es
utilizado para dar de alta usuarios, modificar los que ya existen o eliminarlos, de este
mandato solo se explicaran algunos puntos clave, ya que sus opciones de operación son
muy extensas.
La figura número 11 presenta un ejemplo de la pantalla para trabajar con este mandato.
Elaborado por Diana Blanco
14
Manual AS/400 Nivel 0
Figura Núm. 11
Trabajar con Perfiles de Usuario
Teclee opciones, pulse Intro.
1=Crear 2=Cambiar 3=Copiar 4=Suprimir 5=Visualizar
12=Trabajar con objetos por propietario
Perfil
Opc Usuario Texto
___ ______________
___ AHERNANDEZ Alejandro B. Hernandez Hdz.
___ CGONZALEZ Claudia Patricia Gonzalez
___ DALMAGUER Dante Almaguer Tamez
___ DEMOS Demostraciones
___ ESCORT Escort Informática, S.A.
___ MCAVAZOS Manuel Cavazos Tamez
___ MLEAL Marco Antonio Leal
___ OGARZA Orlando Garza Botello
___ ORLANDO ORLANDO
Más...
Parámetros para opciones 1, 2, 3, 4 y 5 o mandato
===> ___________________________________________________________________
F3=Salir F5=Renovar F12=Cancelar F16=Repetir situar en F17=Situar en
F21=Seleccionar nivel ayuda F24=Más teclas
1=Crear Teclee un 1 en el campo de opción de la primer línea que se visualiza
para crear un nuevo perfil de usuario en el sistema, al pulsar intro se
desplegará una pantalla donde deberá teclear los datos que se solicita.
(ver figura número 11).
2=Cambiar Esta opción es utilizada para realizar modificaciones en los perfiles de
usuario ya existentes (ver figura número 11).
3=Copiar Puede usar la opción 3 para copiar algún perfil de usuario ya existente
para un usuario nuevo, esto es más recomendable para el caso de que los
usuarios tengan un mismo nivel en el sistema.
4=Eliminar Es utilizada para eliminar un usuario del sistema, pero primero deberá
cambiar los objetos propiedad del usuario a eliminar a otro usuario.
5=Visualizar Esta opción despliega las características asignadas a un usuario en el
sistema, sin la posibilidad de modificarlos.
12=Trabajar con objetos de propietario Esta opción es utilizada cuando se desean
cambiar los objetos propiedad de un usuario, a otro.
Para trabajar con cualquiera de estas opciones teclee la opción en la columna “Opc” que
se
Encuentra a la izquierda del usuario con el cual quiere trabajar.
En cuanto a las teclas de función estas ya fueron explicadas en líneas anteriores.
La siguiente figura es un ejemplo de la primer pantalla que se despliega al seleccionar
las
Opciones 1, 2, 3 y 5, solo se explicaran los campos más importantes.
Elaborado por Diana Blanco
15
Manual AS/400 Nivel 0
Figura Núm. 12
Cambiar perfil de usuario (CHGUSRPRF)
Teclee elecciones, pulse Intro.
Perfil de usuario . . . . . . . > DEMOS Nombre
Contraseña de usuario . . . . *SAME Nombre, *SAME, *NONE
Contraseña caducada . . . . . *NO *SAME, *NO, *YES
Estado . . . . . . . . . . . . . *ENABLED *SAME, *ENABLED, *DISABLED
Clase de usuario . . . . . . . . *SECOFR *SAME, *USER, *SYSOPR...
Nivel de ayuda . . . . . . . . . *SYSVAL *SAME, *SYSVAL, *BASIC...
Biblioteca actual . . . . . . . ESCORT Nombre, *SAME, *CRTDFT
Programa inicial a llamar . . INICIO1 Nombre, *SAME, *NONE
Biblioteca . . . . . . . . . . ESCORT Nombre, *LIBL, *CURLIB
Menú inicial . . . . . . . . . . CITRAC00 Nombre, *SAME, *SIGNOFF
Biblioteca . . . . . . . . . . ESCORT Nombre, *LIBL, *CURLIB
Limitar posibilidades . . . . . *NO *SAME, *NO, *PARTIAL, *YES
Texto descriptivo . . . . . . . 'Demostraciones'
Más...
F3=Salir F4=Solicitud F5=Renovar F12=Cancelar
F13=Cómo utilizar esta pantalla F24=Más teclas
Perfil de Usuario En este campo se teclea el nombre del usuario que se está dando de
alta o copiando, o se despliega el usuario que se está modificando o visualizando.
Contraseña de Usuario En este campo se teclea la contraseña del usuario, esta solo
estará visible al momento de teclearla, ya que al momento de pulsar la
tecla de intro o volver a visualizar el registro aparecerá la palabra
*SAME.
Clase de Usuario En este campo se especifica la clase del usuario que se esta dando de
alta, es recomendable que los usuarios finales tengan una clase baja par evitar ejecutar
procesos que puedan causar daños o alterar información del sistema.
Las siguientes clases de usuario están ordenadas de nivel mayor a menor:
*SECOFR Es la de mayor rango, solo debe asignarse al responsable de
sistemas
*SECADM Es de menor rango, solo esta restringido para algunas operaciones
vitales del AS/400
*PGMR Es para uso del personal de programación
*SYSOPR Es el que se asigna a los usuarios finales, y solo se le dan ciertas
autorizaciones especiales adicionales.
*USER Es el usuario de nivel más bajo, es decir de “solo captura”
Los campos Biblioteca actual, Programa inicial a llamar, Biblioteca, Menú Inicial y
Biblioteca, son establecidos a consideración del usuario, pero se recomienda teclear los
datos de acceso al Citrac Plus, tal y como se muestra en la figura de ejemplo.
Aun y cuando existen otros parámetros, estos serán explicados con posterioridad.
DSPTAP (Display Tape) Visualiza Cinta, este mandato despliega el contenido de una cinta de
respaldo, aunque presenta varias opciones para desplegar la información solo dos de ellas son
las mas usadas:
Elaborado por Diana Blanco
16
Manual AS/400 Nivel 0
Dsptap dev(tap01) output(*) este mandato tiene la función de visualizar el contenido
de la cinta por pantalla, desplegando un registro a la vez, al pulsar intro se
despliega el siguiente y así sucesivamente hasta terminar el contenido.
Dsptap dev(tap01) output(*print) este mandato tiene la función de visualizar el
contenido de la cinta por impresora con todo el contenido de la cinta de acuerdo
al orden en que se encuentra gravado.
CHGPF (change phisical file) Cambia archivo físico, Este mandato realiza cambios en
los atributos de un archivo físico, al igual que el punto anterior solo se
mencionara el cambio más usual a realizar.
El sistema tiene de base una capacidad de 10,000 registros en cada archivo, el cual
puede ser incrementado 1000 registros hasta en 3 ocasiones. En caso de que
requiera una mayor capacidad de registros en el archivo deberá teclear el
siguiente mandato:
Chgpf file(biblioteca/archivo) size(50000 5000 5)
En donde:
Biblioteca corresponde al nombre de la biblioteca en que se encuentra el archivo
Archivo corresponde al nombre del archivo que desea cambiar
Size en este parámetro se especifica el tamaño del archivo en registros
(50000), la cantidad de registros a incrementar en caso de que se
llene (5000) y las veces que se podrá realizar el incremento (5)
UPDDTA (update data) actualiza datos, Este mandato es utilizado en escasas
ocasiones ya que tiene la funcionalidad de modificar los registros existentes en un
archivo de base de datos, incluyendo la propia Llave del archivo, lo cual lo hace un
tanto riesgoso ya que se puede alterar el contenido de los archivos y por consecuencia la
información que proporcione, por eso es recomendable restringir el uso de este mandato
únicamente para el responsable de sistemas.
El mandato a teclear sería el siguiente:
Upddta file (biblioteca/archivo)
En donde:
Biblioteca es la biblioteca en donde se encuentra el archivo a modificar
Archivo es el nombre del archivo que se desea modificar
WRKACTJOB (work active job) Trabajar con trabajos activos, este mandato presenta
una pantalla donde se despliegan todos los trabajos que se encuentran activos en ese
momento, en la cual aparecen las siguientes columnas:
Un número de trabajo se compone del dispositivo que lo ejecuta, el usuario, y un
número consecutivo que le asigna el propio sistema, por ejemplo el usuario ESCORT, al
firmarse en el dispositivo DSP01, su número de trabajo sería:
Elaborado por Diana Blanco
17
Manual AS/400 Nivel 0
DSP01/ESCORT/123456
Donde 123456 sería el número consecutivo que el sistema le asigan.
Al utilizar este mandato (wrkactjob) solo se despliega una pantalla donde aparecen
estos datos ordenados en diferentes columnas, mencionaremos las más importantes:
Dispositivo Es la pantalla o el dispositivo que esta corriendo algún proceso
Usuario Es el usuario que esta ejecutando dicho proceso
Proceso Es el proceso que se está ejecutando en ese momento, puede estar fijo
en una pantalla de menú, ejecutando un programa, un mandato del
sistema etc.
Las opciones más usuales son:
2=Cambiar En esta opción se puede modificar atributos del trabajo que se ejecuta,
como la prioridad de ejecución,
3=Retener Detener la ejecución del programa
4=Finalizar Concluir el proceso que se ejecuta, aunque esto no es muy
recomendable ya que puede ocasionar que el proceso se quede a
medias.
5=Visualizar Despliega un menú de opciones del trabajo que se ejecuta.
6=Liberar Esta opción libera algún trabajo retenido previamente.
7=Mensajes Despliega los mensajes que puede tener algun trabajo y por el cual esté
detenida su ejecución.
WRKCFGSTS (work configuration status) Trabajar con estado de configuración, este
mandato tiene varias opciones, se mencionaran solo tres de ellas y se explicaran las
funciones principales.
Parámetros:
*LIN Se visualizan las diferentes líneas de comunicación con las cuales trabaja el
equipo AS/400, y el estatus actual, el cual puede ser entre otros:
ACTIVADO
DESACTIVADO
RCPYPND Recuperación Pendiente
ERROR Línea con Error
*CTL Se visualizan los controladores con los que el sistema trabaja, pueden
ser controladores de línea de comunicación, o twinaxiales, que son los
que controlan los dispositivos de trabajo como pantallas e impresoras.
Los estatus que utilizan son los mismos que las líneas.
Los controladores de líneas de comunicación, solo podrán estar activos cuando
la línea de comunicación esté activa.
Elaborado por Diana Blanco
18
Manual AS/400 Nivel 0
Los controladores twinaxiales llevan el nombre CTL99, donde 99 es el
número de controlador.
*DEV Se visualizan los dispositivos de pantalla e impresora que se encuentran
atados a los diferentes controladores, y solo podrán estar activos
cuando el controlador esté activo.
Dentro de las diferentes comandos se encuentran tres opciones básicas:
a) 1=Activar Esta opción activa la línea, controlador o dispositivo que se encuentre
desactivado.
b) 2=Desactivar Esta opción desactiva la línea, controlador o dispositivo deseado, que
se encuentre activado, con error, pendiente de recuperación etc.
c) 8=Trabajar con descripción Esta opción muestra la descripción de los dispositivos.
WRKDEVD (work device description) Trabajar con descripción de dispositivos, con
este comando se pueden visualizar los dispositivos que están en uso, principalmente
los dispositivos de pantalla.
En este comando se despliegan las siguientes columnas:
Dispositivo Se refiere al nombre del dispositivo que se visualiza
Tipo Indica el modelo del dispositivo que se visualiza
Estado Es el estado actual en que se encuentra el dispositivo, o el usuario que
los está utilizando.
WRKOBJLCK (work object lock) Trabajar con bloqueo de objetos, este comando es
utilizado cuando se considera que existe un bloqueo de archivos, esto
puede suceder cuando algún proceso que se ejecuta utiliza un registro de
un archivo que utiliza otro proceso o usuario (normalmente se utiliza con
archivos de datos), los parámetros a utilizar son los siguientes.
Objeto En este campo se teclea el nombre del archivo que se considera está
bloqueado.
Biblioteca Se especifica el nombre de la biblioteca donde se encuentra el archivo
que se considera está bloqueado, puede teclearse *ALL en caso de
desconocer la biblioteca
Tipo de Objeto En este campo se teclea el tipo de objeto, normalmente se utiliza
*FILE.
Al teclear este comando se despliega una pantalla la cual muestra el dispositivo y
usuario
que están bloqueando el archivo de referencia.
Elaborado por Diana Blanco
19
Manual AS/400 Nivel 0
DSPMSG (display message) Despliega mensaje, con este comando se visualizan
diferentes mensajes, el default hace referencia a los recibidos por la
pantalla con la que se está trabajando, pero se puede especificar la cola
de mensajes que se puede visualizar.
Teclee el mensaje y enseguida el dispositivo del que desea visualizar los mensajes y
pulse Intro, los dispositivos de pantalla regularmente inician con las letras
‘DSP’.
También se puede teclear el comando y un nombre de usuario del sistema, o bien
QSYSOPR, para ver los mensajes del operador de sistemas, que es
donde llegan todos los mensajes que envía el sistema AS/400.
DSPJOBLOG (display job log) Visualiza trabajos _________ Este comando es
utilizado para visualizar los trabajos que han sido realizados en el
dispositivo con el cual se está trabajando desde que inició la última
sesión.
La pantalla guarda un historial de los trabajos que realiza (en el sistema, no en
aplicaciones o programas como Citrac), desde que el usuario inicia la
sesión, y es eliminada cuando finaliza la sesión. Solo es posible ver la
sesión de la terminal y usuario que lo utiliza.
Por ejemplo se puede visualizar que mandatos a tecleado el usuario, las bibliotecas
que tiene adicionadas a su lista de bibliotecas, o lo mensajes de error que
ha recibido la pantalla por errores en el sistema o de programa.
DSPLOG (display log) Visualiza ________, es un mandato similar al anterior, pero en
este si visualiza los trabajos realizados en el AS/400, desde que se encendió el equipo
la última vez, o bien, si pulsa la tecla de función F4=Solicitud, puede teclear la fecha y
la hora desde la cual desea se visualice el histórico del sistema.
SNDBRKMSG (send break message) Enviar mensaje de interrupción. Este comando
es utilizado para enviar mensajes a uno, varios o todos los dispositivos que estan
utilizando los usuarios del sistema, para utilizar este comando es necesario conocer
los diferentes dispositivos en que se conecta cada usuario, en caso contrario es
necesario utilizar el comando wrkactjob, para determinarlo.
Los parámetros a utilizar son los siguientes:
Texto: en estas líneas se teclea el texto del mensaje que se quiere enviar.
Dispositivo: En este campo se teclea el nombre del dispositivo al que se quiere enviar el
mensaje, se puede enviar a un dispositivo, a un grupo de dispositivos o a todos.
Elaborado por Diana Blanco
20
Manual AS/400 Nivel 0
Tipo de mensaje: Identifica el tipo de mensaje que se quiere enviar, ya sea solo
informativo *INFO, o a modo que requiera respuesta *INQ, en tal caso es
recomendable teclear los campos siguientes.
Cola de mensajes para respuesta: Por default aparece la cola de mensajes del
operador de sistemas para recibir la respuesta, por lo que será necesario teclear el
nombre del usuario que deberá recibirla.
SNDMSG (send message) enviar mensaje. Este comando es similar al anterior, a
diferencia que en este caso se utiliza para enviar un mensaje directamente a un
usuario del sistema, se puede enviar a un usuario, a un grupo de usuarios o a todos
los usuarios.
Configuración de línea Ethernet y configuración TCP/I
1. En cualquier línea de mandatos teclee el siguiente mandato para crear la línea de
comunicación Ethernet, y pulse intro:
CRTLINETH LIND(XXX) RSRCNAME(CMN01)
En donde XXX es el nombre que le dará a la línea
En donde CMN01 es el nombre del puerto de comunicaciones
2. Para configurar la dirección de IP en el AS/400, teclee el siguiente mandato en
cualquier línea de mandatos, y pulse intro:
GO TCPADM
a) Se despliega el menú Administrador de TCP/IP, tomar la opción 1. Configurar
TCP/IP
b) En el menú Configurar TCPIP, teclear la opción 1. Trabajar con interfaces TCP/IP.
c) Se despliega la pantalla Trabajar con Interfaces TCP/IP, similar a la siguiente
figura.
Figura Núm. 13
Trabajar con Interfaces TCP/IP
Teclee opciones, pulse Intro.
1=Crear 2=Cambiar 4=Suprimir 5=Visualizar 9=Arrancar 10=Finalizar
Dirección Submascara Descripción Tipo de
Opc de Internet de red de Línea Línea
1 ______________
___ 127.0.0.1 255.255.255.0 *LOOPBACK *NONE
___ 172.16.128.6 255.255.255.0 TRNLINE *TRLAN
Más...
F3=Salir F5=Renovar F16=Imprimir Lista F12=Cancelar F17=Principio F18=Fin
En el campo de opción teclee un “1”, para adicionar una nueva dirección.
En la siguiente pantalla presentara los siguientes parámetros:
Dirección de Internet: En este campo deberá teclear la dirección de Internet que
le corresponderá a la línea de la tarjeta Ethernet.
Elaborado por Diana Blanco
21
Manual AS/400 Nivel 0
Descripción de línea En este campo se teclea el nombre de línea Ethernet
creada
Submascara de Red En este campo se recomienda teclear siempre
255.255.255.0
Existe una gran cantidad de mandatos a utilizar en el equipo AS/400, que sería casi
imposible verlos todos y cada uno de ellos, pero los que hemos visto son algunos de
los más usuales en la operación del AS/400 con el Citrac Plus, para conocer más de
ellos existen diversos métodos de los cuales se mencionan algunos que podra utilizar
en cualquier línea de mandatos.
Para ir a un menú de mandatos principales teclee lo siguiente:
go mayor y pulse la tecla intro
Para ir al menú de mandato de mandatos teclee lo siguiente:
go cmdcmd y pulse la tecla intro
Para ir a un menú de mandatos específicos teclee lo siguiente:
go cmdxxx y pulse intro (donde xxx son las tres letras del mandato
especifico)
Para seleccionar una serie de mandatos que inicien con ciertas siglas o letras teclee:
xxx* y pulse intro (donde xxx son las letras iniciales del mandato a
buscar y el * significa nombre genérico)
Comandos utilizados
1. PWRDWNSYS 13. WRKACTJOB
2. WRKSPLF 14. WRKCFGSTS
*LIN
*CTL
3. DSPPFM *DEV
4. CPYF 15. WRKJOBSCHEDULE
5. SAVLIB 16. DSPOBJD
6. RSTLIB 17. WRKOBJLCK
7. INZTAP 18. WRKDEVD
Elaborado por Diana Blanco
22
Manual AS/400 Nivel 0
8. WRKUSRPRF 19.
SNDMSG/SNDBRKMSG
9. DSPTAP 20. DSPMSG
10. CHGPF 21. DSPJOBLOG
11. UPDDTA 22. GO CMD...
12. CRTLINETH 23. PRTADRDEV
Elaborado por Diana Blanco
23
MANUAL BÁSICO
DE MATLAB
Mª Cristina Casado Fernández
Servicios Informáticos U.C.M
Apoyo a Investigación y Docencia
Manual de MATLAB Servicios Informáticos U.C.M.
ÍNDICE
INTRODUCCIÓN ......................................................................................................... 4
CARACTERÍSTICAS BÁSICAS ................................................................................ 4
EL ESPACIO DE TRABAJO DE MATLAB ........................................................................................4
MATEMÁTICA SENCILLA.................................................................................................................5
ALMACENAR Y RECUPERAR DATOS .............................................................................................7
FORMATOS DE VISUALIZACIÓN DE NÚMEROS..........................................................................7
ACERCA DE LAS VARIABLES ..........................................................................................................8
OTRAS CARACTERÍSTICAS BÁSICAS..............................................................................................9
AYUDA EN LÍNEA....................................................................................................... 9
FUNCIONES MATEMÁTICAS COMUNES ............................................................ 9
APROXIMACIONES ...........................................................................................................................9
TRIGONOMETRÍA ...........................................................................................................................10
ALGUNAS OPERACIONES .............................................................................................................11
NÚMEROS COMPLEJOS ................................................................................................................12
VECTORES Y MATRICES....................................................................................... 12
CÓMO DEFINIRLOS .......................................................................................................................12
DIRECCIONAMIENTO DE ELEMETOS DE VECTORES Y MATRICES.......................................13
CONSTRUCCIÓN ABREVIADA DE ALGUNOS VECTORES.........................................................15
CONSTRUCCIÓN DE ALGUNAS MATRICES ................................................................................16
OPERACIONES BÁSICAS CON MATRICES...................................................................................17
FUNCIONES PARA OPERAR CON VECTORES ............................................................................18
FUNCIONES PARA EL ANÁLISIS DE MATRICES.........................................................................19
OTRAS OPERACIONES CON MATRICES ......................................................................................20
TEXTO.......................................................................................................................... 21
HIPERMATRICES ..................................................................................................... 22
CÓMO DEFINIRLAS........................................................................................................................22
OPERACIONES CON HIPERMATRICES .......................................................................................23
ESTRUCTURAS.......................................................................................................... 24
CÓMO DEFINIRLAS........................................................................................................................24
OPERAR CON ESTRUCTURAS.......................................................................................................25
2
Manual de MATLAB Servicios Informáticos U.C.M.
VECTORES Y MATRICES DE CELDAS ............................................................... 26
CÓMO DEFINIRLOS .......................................................................................................................26
OPERAR CON VECTORES Y MATRICES DE CELDAS.................................................................26
OPERACIONES RELACIONALES Y LÓGICAS ................................................. 27
OPERADORES RELACIONALES ....................................................................................................28
OPERADORES LÓGICOS................................................................................................................28
GRÁFICAS................................................................................................................... 30
2-D.....................................................................................................................................................30
3-D.....................................................................................................................................................33
PROGRAMACIÓN DE MATLAB............................................................................ 41
SENTENCIA FOR .............................................................................................................................41
SENTENCIA WHILE.........................................................................................................................41
SENTENCIA IF .................................................................................................................................42
SENTENCIA BREAK ........................................................................................................................43
SENTENCIA CONTINUE .................................................................................................................43
FUNCIONES EN M-ARCHIVOS ............................................................................. 44
ANÁLISIS DE DATOS ............................................................................................... 45
POLINOMIOS ............................................................................................................. 47
RAÍCES .............................................................................................................................................47
OTRAS CARACTERÍSTICAS ............................................................................................................48
ANÁLISIS NUMÉRICO............................................................................................. 49
REPRESENTACIÓN GRÁFICA........................................................................................................49
OTRAS CARACTERÍSTICAS ............................................................................................................50
CONVERTIR UN FICHERO (*.m) EN UN EJECUTABLE (*.exe)..................... 51
IMPORTAR FICHEROS DE DATOS...................................................................... 52
EJERCICIOS PROPUESTOS ................................................................................... 54
COMANDOS QUE APARECEN EN ESTE MANUAL.......................................... 62
3
Manual de MATLAB Servicios Informáticos U.C.M.
INTRODUCCIÓN
MATLAB es el nombre abreviado de “MATriz LABoratory”. Es un programa para realizar cálculos
numéricos con vectores y matrices, y por tanto se puede trabajar también con números escalares
(tanto reales como complejos), con cadenas de caracteres y con otras estructuras de información más
complejas.
Matlab es un lenguaje de alto rendimiento para cálculos técnicos, es al mismo tiempo un entorno y un
lenguaje de programación. Uno de sus puntos fuertes es que permite construir nuestras propias
herramientas reutilizables. Podemos crear fácilmente nuestras propias funciones y programas
especiales (conocidos como M-archivos) en código Matlab, los podemos agrupar en Toolbox
(también llamadas librerías): colección especializada de M-archivos para trabajar en clases
particulares de problemas.
Matlab, a parte del cálculo matricial y álgebra lineal, también puede manejar polinomios, funciones,
ecuaciones diferenciales ordinarias, gráficos …
CARACTERÍSTICAS BÁSICAS
EL ESPACIO DE TRABAJO DE MATLAB
Nada más abrir Matlab (podemos hacerlo pinchando en el icono que aparece en el escritorio o en su
defecto en Inicio->Todos los programas) aparecerá una pantalla como la siguiente:
Todas las sentencias que vamos a utilizar las escribiremos en la ventana Command Window (ventana
de comandos). Es la ventana de mayor tamaño.
4
Manual de MATLAB Servicios Informáticos U.C.M.
Si queremos información acerca de las variables que estamos utilizando en Matlab podemos verlas en
la ventana Workspace (espacio de trabajo) o usar:
who para obtener la lista de las variables (no de sus valores)
whos para obtener la lista de las variables e información del tamaño, tipo y atributos
(tampoco da valores)
Para ver esta ventana tenemos que pinchar en la pestaña que tienen este nombre. Está en la parte
superior izquierda:
Si lo que queremos es conocer el valor que tiene una variable lo hacemos escribiendo el nombre de la
variable y pulsando Intro.
Para recordar órdenes previas usamos las flechas del teclado ↑ y ↓. También podemos verlas en la
ventana Command History, ventana situada en la parte inferior izquierda:
MATEMÁTICA SENCILLA
Matlab ofrece la posibilidad de realizar las siguientes operaciones básicas:
Operación Símbolo Expresión en Matlab
suma + a+b
resta - a-b
multiplicación * a*b
división / a/b
potencia ^ a^b
5
Manual de MATLAB Servicios Informáticos U.C.M.
El orden de precedencia es:
Orden de precedencia de operaciones
1º ^
2º * /
3º + -
Matlab no tiene en cuenta los espacios.
Si queremos que Matlab evalúe la línea pero que no escriba la respuesta, basta escribir punto y coma
(;) al final de la sentencia.
Si la sentencia es demasiado larga para que quepa en una sola línea podemos poner tres puntos (…)
seguido de la tecla Intro para indicar que continúa en la línea siguiente.
Ejemplos:
>> a = 7 % damos valor a la variable a y la escribe por pantalla
a=
7
>> b = 4; % no escribe el valor de b por el ; del final
>> a + b % realiza la suma de dos variables y guarda la solución en la variable ans
ans =
11
>> a / b
ans =
1.7500
>> a ^ b
ans =
2401
>> 5 * a
ans =
35
>> who % da una lista de los nombres de las variables usadas
Your variables are:
a ans b
>> whos % da una lista de las variables usadas más completa que la anterior
Name Size Bytes Class Attributes
a 1x1 8 double
ans 1x1 8 double
b 1x1 8 double
6
Manual de MATLAB Servicios Informáticos U.C.M.
ALMACENAR Y RECUPERAR DATOS
Matlab permite guardar y cargar datos de los archivos del computador. En el menú File, la opción
Save Workspace as… guarda todas las variables actuales y Import Data… carga variables de un
espacio de trabajo guardado previamente.
Otra forma sería guardar el estado de una sesión de trabajo con el comando save antes de salir:
>> save
Al teclear esto, automáticamente se crea un fichero llamado matlab.mat. Puede recuperarse la
siguiente vez que se arranque el programa con el comando load:
>> load
FORMATOS DE VISUALIZACIÓN DE NÚMEROS
Matlab no cambia la representación interna de un número cuando se escogen distintos formatos, sólo
se modifica la forma de visualizarlo.
Tipo Resultado Ejemplo: >> pi
format short Formato coma fija con 4 dígitos después de la 3.1416
coma (es el formato que viene por defecto)
format long Formato coma fija con 14 o 15 dígitos 3.14159265358979
después de la coma
format short e Formato coma flotante con 4 dígitos después 3.1416e+000
de la coma
format long e Formato coma flotante con 14 o 15 dígitos 3.141592653589793e+000
después de la coma
format short g La mejor entre coma fija o flotante con 4 3.1416
dígitos después de la coma
format long g La mejor entre coma fija o flotante con 14 o 3.14159265358979
15 dígitos después de la coma
format short eng Notación científica con 4 dígitos después de 3.1416e+000
la coma y un exponente de 3
format long eng Notación científica con 16 dígitos 3.14159265358979e+000
significantes y un exponente de 3
format bank Formato coma fija con 2 dígitos después de la 3.14
coma
format hex Hexadecimal 400921fb54442d18
format rat Aproximación racional 355/113
format + Positivo, negativo o espacio en blanco +
7
Manual de MATLAB Servicios Informáticos U.C.M.
ACERCA DE LAS VARIABLES
Matlab almacena el último resultado obtenido en la variable ans.
Las variables son sensibles a las mayúsculas, deben comenzar siempre con una letra, no pueden
contener espacios en blanco y pueden nombrarse hasta con 63 caracteres (en versiones anteriores no
permitía tantos caracteres). Si se nombra una variable con más de 63 caracteres truncará el nombre de
dicha variable.
Algunas variables especiales de Matlab:
Variable Definición Valor
ans Variable usada por defecto para almacenar el último resultado ???
pi Razón de una circunferencia a su diámetro 3.1416
eps Número más pequeño, tal que cuando se le suma 1, crea un 2.2204e-016
número en coma flotante en el computador mayor que 1
inf Infinito Inf
nan Magnitud no numérica NaN
iyj i = j = −1 0 + 1.0000i
realmin El número real positivo más pequeño que es utilizable 2.2251e-308
realmax El número real positivo más grande que es utilizable 1.7977e+308
Tecleando clear podemos borrar todas las variables del espacio de trabajo, pero no borra lo de las
demás ventanas, es decir, no desaparece lo que hay escrito en la ventana de comandos.
Tecleando clc borramos lo que hay en la ventana de comandos pero no borra las variables de la
memoria del espacio de trabajo.
Algunos comandos de Matlab nos facilitan información sobre la fecha, como clock, date o calendar.
>> clock % año mes día hora minutos y segundos, en este orden
ans =
1.0e+003 *
2.0060 0.0110 0.0140 0.0120 0.0190 0.0437
>> date % día-mes-año
ans =
14-Nov-2006
>> calendar % mes actual
Nov 2006
S M Tu W Th F S
0 0 0 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 0 0
0 0 0 0 0 0 0
8
Manual de MATLAB Servicios Informáticos U.C.M.
OTRAS CARACTERÍSTICAS BÁSICAS
Los comentarios se escriben después del símbolo de tanto por ciento (%), de este modo todo lo que
se escriba a continuación en la misma línea no será leído por Matlab. Podemos colocar varias órdenes
en una línea si se separan correctamente, puede ser:
por comas (,) que hacen que se visualicen los resultados
o puntos y comas (;) que suprimen la impresión en pantalla
Para cerrar Matlab podemos hacerlo tecleando quit, cerrando con el aspa típico de Windows,
entrando en File->Exit Matlab o con las teclas Ctrl+Q.
AYUDA EN LÍNEA
Matlab proporciona asistencia de varios modos.
Si queremos consultar un comando determinado podemos buscar información escribiendo en la
ventana de comandos help <comando a consultar>, o simplemente help. También podemos abrir la
ventana de ayuda con el ratón o con la tecla F1. Una vez abierta esta ventana podemos buscar por
contenidos, palabras concretas, demostraciones…
Por último con la orden lookfor <palabra>, busca en todas las primeras líneas de las ayudas de los
temas de Matlab y devuelve aquellos que contienen la palabra clave que hemos escrito. No es
necesario que la palabra clave sea una orden de Matlab.
FUNCIONES MATEMÁTICAS COMUNES
APROXIMACIONES
Función ¿Qué hace? Ejemplo
x = 5.92
ceil (x) redondea hacia infinito 6
fix (x) redondea hacia cero 5
floor (x) redondea hacia menos infinito 5
round (x) redondea hacia el entero más próximo 6
(con x escalar, vector o matriz, pero redondearía en cada caso los elemento individualmente)
Ejemplo:
>> round ( [19.54646 13.656 -2.1565 0.78] )
ans =
20 14 -2 1
9
Manual de MATLAB Servicios Informáticos U.C.M.
TRIGONOMETRÍA
Función ¿Qué hace?
… (x) función trigonométrica con el ángulo expresado en radianes
sin (x) seno (radianes)
cos (x) coseno
tan (x) tangente
csc (x) cosecante
sec (x) secante
cot (x) cotangente
…d (x) función trigonométrica con el ángulo expresado en grados
sind (x) seno (grados)
… …
…h (x) función trigonométrica hiperbólica con el ángulo expresado
en radianes
sinh (x) seno hiperbólico (radianes)
… …
a… (x) inversa de la función trigonométrica con el resultado
expresado en radianes
asin (x) arco seno (radianes)
… …
a…d (x) inversa de la función trigonométrica con el resultado
expresado en grados
asind (x) arco seno (grados)
… …
a…h (x) inversa de la función trigonométrica hiperbólica con el
resultado expresado en radianes
asinh (x) arco seno hiperbólico (radianes)
… …
Ejemplos:
>> sin (pi/2)
ans =
1
>> sind (-90)
ans =
-1
>> cosd (60)
ans =
0.5000
>> asind (1)
ans =
90
10
Manual de MATLAB Servicios Informáticos U.C.M.
ALGUNAS OPERACIONES
Función ¿Qué hace?
abs (x) valor absoluto o magnitud de un número complejo
sign (x) signo del argumento si x es un valor real
(-1 si es negativo, 0 si es cero, 1 si es positivo)
exp (x) exponencial
gcd (m,n) máximo común divisor
lcm (m,n) mínimo común múltiplo
log (x) logaritmo neperiano o natural
log2 (x) logaritmo en base 2
log10 (x) logaritmo decimal
mod(x,y) módulo después de la división
rem (x,y) resto de la división entera
sqrt (x) raíz cuadrada
nthroot (x,n) raíz n-ésima de x
(x e y cualquier escalar, m y n enteros)
Ejemplos:
>> abs (-7) % valor absoluto de -7
ans =
7
>> sign (10) % signo del número 10
ans =
1
>> gcd (9,12) % máximo común divisor entre 9 y 12
ans =
3
>> lcm (10,25) % mínimo común múltiplo
ans =
50
>> mod (-12,5) % módulo de la división de -12 entre 5
ans =
3
> rem (12,5) % resto de la división de 12 entre 5
ans =
2
>> nthroot (8,3) % raíz cúbica de 8
ans =
2
11
Manual de MATLAB Servicios Informáticos U.C.M.
NÚMEROS COMPLEJOS
Función ¿Qué hace? Ejemplos:
x = 3 + 4i y = 2 z = 7
abs (x) magnitud del número complejo x 5
angle (x) ángulo (en radianes) del complejo x 0.9273
complex (y,z) genera el complejo y + zi 2.0000 + 7.0000i
conj (x) conjugado del número complejo x 3.0000 - 4.0000i
imag (x) parte imaginaria del número complejo x 4
real (x) parte real del número complejo x 3
sign (x) divide el complejo x por su magnitud, 06000 + 0.8000i
devuelve un número complejo con el
mismo ángulo de fase pero con magnitud 1
isreal (x) devuelve 1 si es real, y 0 si es complejo 0
(x número complejo, y y z números reales)
VECTORES Y MATRICES
CÓMO DEFINIRLOS
Para crear un vector introducimos los valores deseados separados por espacios (o comas) todo ello
entre corchetes []. Si lo que queremos es crear una matriz lo hacemos de forma análoga pero
separando las filas con puntos y comas (;).
Generalmente usaremos letras mayúsculas cuando nombremos a las matrices y minúsculas para
vectores y escalares. Esto no es imprescindible y Matlab no lo exige, pero resulta útil.
Ejemplos:
>> x = [5 7 -2 4 -6] % es un vector, los elementos los separamos con espacios
x=
5 7 -2 4 -6
>> y = [2,1,3,7] % es otro vector, los elementos los separamos con comas
y=
2 1 3 7
>> z = [0 1 2,3 4,5] % es otro vector, da igual separar los elementos por comas o espacios
z=
0 1 2 3 4 5
>> A = [1 2 3; 4 5 6] % es una matriz con 2 filas y 3 columnas
A=
1 2 3
4 5 6
12
Manual de MATLAB Servicios Informáticos U.C.M.
DIRECCIONAMIENTO DE ELEMETOS DE VECTORES Y MATRICES
Para acceder a los elementos individuales de un vector lo haremos utilizando subíndices, así x(n)
sería el n-ésimo elemento del vector x. Si queremos acceder al último podemos indicarlo usando end
como subíndice.
>> x = [5 7 -2 4 -6];
>> x (2) % segundo elemento del vector x
ans =
7
>> x (end) % último elemento del vector x
ans =
-6
Para acceder a un bloque de elementos a la vez, se usa la notación de dos puntos (:), así x (m:n) nos
da todos los elementos desde el m-ésimo hasta el n-ésimo del vector x.
>> x (2:4) % devuelve desde el segundo al cuarto elemento del vector x
ans =
7 -2 4
Si introducimos un número entre el primero y el segundo también separado por dos puntos (:) se
mostrarán los elementos del primero al último indicado, incrementados según el número que aparece
en el centro (o decrementados si el número es negativo).
>> x (1:2:5) % devuelve el primero, tercero y quinto elemento del vector x
ans =
5 -2 -6
Otra forma de obtener un conjunto concreto de elementos del vector es indicando entre corchetes []
las posiciones de los elementos que queremos obtener poniendo paréntesis fuera de los corchetes.
>> x ( [3 5 1] ) % devuelve el tercer, quinto y primer elemento del vector x
ans =
-2 -6 5
Para acceder a los elementos de una matriz necesitamos dar dos valores, el primero indica la fila y el
segundo la columna.
>> A = [1 2 3; 4 5 6];
>> A (2,1) % elemento de la matriz que está en la fila 2 y en la columna 1
ans =
4
Si queremos que escriba toda una fila usaremos los dos puntos para indicar que queremos todos los
elementos.
>> A (2,:) % escribe la segunda fila de la matriz
ans =
4 5 6
13
Manual de MATLAB Servicios Informáticos U.C.M.
Y similar si queremos que escriba toda una columna pero ahora situamos los dos puntos en el lugar
de las filas para indicar que queremos todas las filas de esa columna.
>> A (:,2) % escribe la segunda columna de la matriz
ans =
2
5
Al igual que con los vectores podemos indicar que escriba una serie de filas o columnas, la manera de
hacerlo sería muy parecido.
>> A (2,2:3) % escribe de la segunda fila de la matriz, las columnas de la 2 a la 3
ans =
5 6
>> A (2, [3 1] ) % escribe de la segunda fila de la matriz, las columnas 3 y 1
ans =
6 4
>> A ( [2 1] , 2:3) % escribe de las filas 2 y 1 de la matriz, las columnas de la 2 a la 3
ans =
5 6
2 3
>> A (end, [1 3] ) % escribe de la última fila, las columnas 1 y 3
ans =
4 6
Matlab tiene además otra forma de identificar cada elemento de una matriz, de modo que podemos
acceder a un elemento de una matriz indicando sólo un valor y no dos, pero debemos saber que el
orden elegido por Matlab es por columnas así los elementos de la matriz A serían denominados:
A(1) A(3) A(5)
A(2) A(4) A(6)
Ejemplo:
Como la matriz A que teníamos era
A=
1 2 3
4 5 6
>> A (5) % accede al elemento 5 de la matriz, es decir, igual que si escribiéramos A (1,3)
ans =
3
Pero es preferible para evitar confusiones trabajar con los elementos de las matrices indicando la fila
y la columna correspondiente.
14
Manual de MATLAB Servicios Informáticos U.C.M.
CONSTRUCCIÓN ABREVIADA DE ALGUNOS VECTORES
A parte de definir un vector introduciendo cada uno de sus elementos, también podemos crearlo
haciendo uso de las siguientes sentencias:
(a:b) crea un vector que comienza en el valor a y acaba en el valor b aumentando de 1 en 1.
(a:c:b) crea un vector que comienza en el valor a y acaba en el valor b aumentando de c en c.
linspace (a,b,c) genera un vector linealmente espaciado entre los valores a y b con c elementos.
linspace (a,b) genera un vector linealmente espaciado entre los valores a y b con 100 elementos.
logspace (a,b,c) genera un vector logarítmicamente espaciado entre los valores 10^a y 10^b con c
elementos.
logspace (a,b) genera un vector logarítmicamente espaciado entre los valores 10^a y 10^b con 50
elementos.
Ejemplos:
>> (1:7) % crea un vector que comienza en 1, aumenta de 1 en 1 y acaba en 7
ans =
1 2 3 4 5 6 7
>> (1:3:10) % crea un vector que comenzando en 1, aumenta de 3 en 3 hasta el 10
ans =
1 4 7 10
>> (1:4:10) % comenzando en 1, aumenta de 4 en 4 hasta el 10 y por eso acaba en 9
ans =
1 5 9
>> (50:-7:1) % crea un vector que comenzando en 50, disminuye de 7 en 7 hasta el 1
ans =
50 43 36 29 22 15 8 1
>> linspace (2,6,3) % genera un vector desde el 2 al 6 con 3 elementos equidistantes
ans =
2 4 6
>> linspace (2,6,4) % genera un vector desde el 2 al 6 con 4 elementos equidistantes
ans =
2.0000 3.3333 4.6667 6.0000
>> logspace (0,2,4) % genera un vector logarítmicamente espaciado entre 10^0 y 10^2 con 4
elementos
ans =
1.0000 4.6416 21.5443 100.0000
15
Manual de MATLAB Servicios Informáticos U.C.M.
CONSTRUCCIÓN DE ALGUNAS MATRICES
Al igual que pasa con los vectores, existen unas sentencias que nos ayudan a crear más rápidamente
algunas matrices que Matlab ya tiene predefinidas (m y n deben tomar valores naturales):
zeros (n) crea una matriz cuadrada n x n de ceros.
zeros (m,n) crea una matriz m x n de ceros.
ones (n) crea una matriz cuadrada n x n de unos.
ones (m,n) crea una matriz m x n de unos.
rand (n) crea una matriz cuadrada n x n de números aleatorios con distribución uniforme (0,1).
rand (m,n) crea una matriz m x n de números aleatorios con distribución uniforme (0,1).
randn (n) crea una matriz cuadrada n x n de números aleatorios con distribución normal (0,1).
randn (m,n) crea una matriz m x n de números aleatorios con distribución normal (0,1).
eye (n) crea una matriz cuadrada n x n de unos en la diagonal y ceros el resto.
eye (m,n) crea una matriz m x n de unos en la diagonal y ceros el resto.
magic (n) crea una matriz cuadrada n x n de enteros de modo que sumen lo mismo las filas y las
columnas.
hilb (n) crea una matriz cuadrada n x n de Hilbert, es decir, los elementos (i,j) responden a la
expresión (1/(i+j-1)).
invhilb (n) crea una matriz cuadrada n x n que es la inversa de la matriz de Hilbert.
Ejemplos:
>> zeros (3) % matriz cuadrada 3 x 3 de ceros
ans =
0 0 0
0 0 0
0 0 0
>> zeros (2,5) % matriz 2 x 5 de ceros
ans =
0 0 0 0 0
0 0 0 0 0
>> ones (2,3) % matriz de unos
ans =
1 1 1
1 1 1
16
Manual de MATLAB Servicios Informáticos U.C.M.
>> rand (2,4) % matriz de valores aleatorios entre 0 y 1 según la uniforme (0,1)
ans =
0.9355 0.4103 0.0579 0.8132
0.9169 0.8936 0.3529 0.0099
>> randn (2,5) % matriz de valores aleatorios según la normal (0,1)
ans =
0.8156 1.2902 1.1908 -0.0198 -1.6041
0.7119 0.6686 -1.2025 -0.1567 0.2573
>> eye (2) % matriz identidad o unidad
ans =
1 0
0 1
>> magic (4) % matriz mágica 4 x 4
ans =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
>> hilb (3) % matriz de Hilbert 3 x 3
ans =
1.0000 0.5000 0.3333
0.5000 0.3333 0.2500
0.3333 0.2500 0.2000
>> invhilb (3) % inversa de la matriz de Hilbert 3 x 3
ans =
9 -36 30
-36 192 -180
30 -180 180
OPERACIONES BÁSICAS CON MATRICES
Símbolo Expresión Operación
+ A+B Suma de matrices
- A-B Resta de matrices
* A*B Multiplicación de matrices
.* A .* B Multiplicación elemento a elemento de matrices
/ A/B División de matrices por la derecha
./ A ./ B División elemento a elemento de matrices por la derecha
\ A\B División de matrices por la izquierda
.\ A .\ B División elemento a elemento de matrices por la izquierda
^ A^n Potenciación (n debe ser un número, no una matriz)
.^ A .^ B Potenciación elemento a elemento de matrices
' A' Trasposición compleja conjugada
.' A .' Trasposición de matrices
17
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplos:
Definimos tres matrices para poder hacer operaciones entre ellas.
A= B= C=
1 2 1 1 1.0000 + 1.0000i 2.0000 + 2.0000i
3 4 0 1 3.0000 + 1.0000i 4.0000 + 7.0000i
>> A * B % multiplicación de matrices
ans =
1 3
3 7
>> A .* B % multiplicación elemento a elemento
ans =
1 2
0 4
>> C ' % traspuesta conjugada
ans =
1.0000 - 1.0000i 3.0000 - 1.0000i
2.0000 - 2.0000i 4.0000 - 7.0000i
>> C .' % traspuesta
ans =
1.0000 + 1.0000i 3.0000 + 1.0000i
2.0000 + 2.0000i 4.0000 + 7.0000i
>> A + 2 % si sumamos el número 2 a la matriz se suma ese número a cada elemento
ans =
3 4
5 6
FUNCIONES PARA OPERAR CON VECTORES
Función ¿Qué hace?
cross (x,y) producto vectorial entre los vectores x e y
dot (x,y) producto escalar entre los vectores x e y
Ejemplos:
>> x = [1 2 3]; y = [4 5 6];
>> cross (x,y) % producto vectorial
ans =
-3 6 -3
>> dot (x,y) % producto escalar
ans =
32
18
Manual de MATLAB Servicios Informáticos U.C.M.
FUNCIONES PARA EL ANÁLISIS DE MATRICES
Función ¿Qué hace?
cond (A) número de condición
det (A) determinante
diag (v) crea una matriz diagonal con el vector v sobre la diagonal
diag (A) extrae la diagonal de la matriz A como un vector columna
eig (A) valores propios
inv (A) matriz inversa
length (A) máxima dimensión
norm (A) norma
norm (A,n) norma-n
normest (A) estimación de la norma-2
null (A) espacio nulo
orth (A) ortogonalización
pinv (A) pseudoinversa
poly (A) polinomio característico
rank (A) rango
rref (A) reducción mediante la eliminación de Gauss de una matriz
size (A) dimensiones
trace (A) traza
tril (A) matriz triangular inferior a partir de la matriz A
triu (A) matriz triangular superior a partir de la matriz A
(Con A matriz, v vector y n número natural)
Ejemplos:
>> v = [1 2 3];
>> diag (v) % crea una matriz diagonal a partir del vector v
ans =
1 0 0
0 2 0
0 0 3
>> A = [1 2 3 4; 7 8 9 2; 2 4 6 8]
A=
1 2 3 4
7 8 9 2
2 4 6 8
>> diag (A) % crea un vector columna a partir de la diagonal de la matriz A
ans =
1
8
6
>> size (A) % devuelve las dimensiones de la matriz como un vector fila
ans =
3 4
19
Manual de MATLAB Servicios Informáticos U.C.M.
>> length (A) % devuelve la mayor de las dos dimensiones de la matriz
ans =
4
>> trace (A) % traza de la matriz
ans =
15
>> rank (A) % rango de la matriz
ans =
2
>> rref (A) % reducción mediante Gauss
ans =
1.0000 0 -1.0000 -4.6667
0 1.0000 2.0000 4.3333
0 0 0 0
>> l = tril (A), u = triu (A)
l=
1 0 0 0 % convierte en ceros todos los elementos que quedan encima de
7 8 0 0 % la diagonal principal y lo guarda en la variable l
2 4 6 0
u=
1 2 3 4 % convierte en ceros todos los elementos que quedan debajo de
0 8 9 2 % la diagonal principal y lo guarda en la variable u
0 0 6 8
OTRAS OPERACIONES CON MATRICES
Función ¿Qué hace?
find (A) devuelve los índices donde las entradas de A son distinto de cero
fliplr (A) intercambia la matriz de izquierda a derecha
flipud (A) intercambia la matriz de arriba a abajo
reshape (A,m,n) devuelve una matriz m x n cuyos elementos se toman por
columnas de A, si A no contiene m x n elementos daría un error
rot90 (A) gira la matriz 90º en sentido contrario a las agujas del reloj
rot90 (A,n) gira la matriz n x 90º
expm (A) matriz exponencial
logm (A) matriz logarítmica
sqrtm (A) matriz de raíces cuadradas
funm (A,@función) evalúa la función que indiquemos en la matriz A
exp, log, sqrt… operan elemento a elemento
[VE,VA] = eig (A) VE son los vectores propios y VA son los valores propios
[L,U] = lu (A) factorización LU
[Q,R] = qr (A) factorización QR
(Con A matriz, m y n naturales)
20
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplos:
>> A = [pi 0; pi/4 pi/3]
A=
3.1416 0
0.7854 1.0472
>> find (A) % devuelve los índices como un vector columna
ans =
1
2
4
>> reshape (A,1,4)
ans =
3.1416 0.7854 0 1.0472
>> rot90 (A) % gira la matriz 90º
ans =
0 1.0472
3.1416 0.7854
>> rot90 (A,3) % gira la matriz 270º ( 90º x 3 = 270º )
ans =
0.7854 3.1416
1.0472 0
>> funm (A,@sin) % calcula el seno de cada elemento de la matriz
ans =
0.0000 0
-0.3248 0.8660
>> expm (A)
ans =
23.1407 0
7.6091 2.8497
TEXTO
Una cadena de caracteres es texto rodeado por comillas simples (') y se manejan como vectores filas.
Se direccionan y manipulan igual que los vectores. Son posibles las operaciones matemáticas sobre
cadenas. Una vez hecha una operación matemática sobre una cadena, ésta se ve como un vector de
números en ASCII.
Para ver la representación ASCII de una cadena, podemos utilizar las funciones abs, double o
sumamos cero. Para restaurarla y verla de nuevo como cadena de caracteres, usamos la función
setstr. Si queremos cambiar a minúsculas añadiremos la diferencia entre 'a' y 'A'.
Si queremos que escriba algo en pantalla podemos utilizar el comando disp.
21
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplos:
>> a = 'casa'; b = 'gato'; % a y b son cadenas de caracteres (se manejarán como vectores)
>> a + b
ans =
202 194 231 208
>> a + 0 % vemos la representación ASCII de la cadena
ans =
99 97 115 97
>> abs (a) % otra forma de ver la representación ASCII de la cadena
ans =
99 97 115 97
>> double (a) % otra tercera forma de ver la representación ASCII de la cadena
ans =
99 97 115 97
>> setstr (ans) % convertimos un vector de número enteros en caracteres
ans =
casa
>> abs ('a') – abs ('A') % calculamos la diferencia entre minúsculas y mayúsculas
ans =
32
>> setstr (a-32) % escribimos los caracteres conociendo la representación ASCII
ans =
CASA
>> disp (a) % escribe el valor almacenado en la variable a
casa
>> disp ('escribe esto') % escribe el texto que vaya entre las comillas
escribe esto
HIPERMATRICES
CÓMO DEFINIRLAS
Matlab permite trabajar con matrices de más de dos dimensiones. Los elementos de una hipermatriz
pueden ser números, caracteres, estructuras y vectores o matrices de celdas. Las funciones que operan
con matrices de más de dos dimensiones son análogas a las funciones vistas anteriormente aunque
con algunas diferencias, por ejemplo, a la hora de definirlas:
22
Manual de MATLAB Servicios Informáticos U.C.M.
>> HM(:,:,1) = [1 2 3; 4 5 6]; % definimos la primera capa
>> HM(:,:,2) = [7 8 9; 10 11 12] % definimos la segunda capa
HM(:,:,1) =
1 2 3
4 5 6
HM(:,:,2) =
7 8 9
10 11 12
OPERACIONES CON HIPERMATRICES
Algunas funciones para generar matrices admiten más de dos subíndices y pueden ser utilizadas para
generar hipermatrices como rand, randn, zeros y ones, también se pueden emplear con
hipermatrices las funciones size y reshape entre otras. La función cat permite concatenar matrices
según las distintas “dimensiones”.
Ejemplos:
>> A = zeros (2,3); B = ones (2,3); % definimos dos matrices de las mismas dimensiones
>> cat (1,A,B) % las concatena una debajo de la otra
ans =
0 0 0
0 0 0
1 1 1
1 1 1
>> cat (2,A,B) % las concatena una al lado de la otra
ans =
0 0 0 1 1 1
0 0 0 1 1 1
>> cat (3,A,B) % las concatena como distintas capas de una hipermatriz
ans(:,:,1) =
0 0 0
0 0 0
ans(:,:,2) =
1 1 1
1 1 1
Respecto al resto de funciones debemos tener en cuenta que:
1. Las funciones que operan sobre escalares, como sin, cos, etc., se aplican sobre hipermatrices
elemento a elemento (igual que ocurre al aplicarlas sobre vectores y matrices).
2. Las funciones que operan sobre vectores, como sum, max, etc., se aplican a matrices e
hipermatrices según la primera dimensión, resultando un array de una dimensión inferior.
3. Las funciones matriciales propias del álgebra lineal, como det, inv, etc., no se pueden aplicar
a hipermatrices, para aplicarlas habría que extraer las matrices correspondientes.
23
Manual de MATLAB Servicios Informáticos U.C.M.
ESTRUCTURAS
CÓMO DEFINIRLAS
Es una agrupación de datos de tipo diferente bajo un mismo nombre. A los datos les llamamos
campos. No hace falta definir previamente el modelo de la estructura, podemos ir creando los
distintos campos uno a uno o bien con el comando struct, donde los nombres de los campos se
escriben entre apóstrofos (') seguidos del valor que se les quiere asignar.
Ejemplos:
>> alumno.nombre = 'Pablo'; % introducimos el campo nombre en la estructura alumno
>> alumno.apellido1 = 'Fernández'; % introducimos el campo apellido1 en la estructura alumno
>> alumno.apellido2 = 'García'; % introducimos el campo apellido2 en la estructura alumno
>> alumno.edad = 15; % introducimos el campo edad en la estructura alumno
>> alumno % escribe por pantalla la información almacenada en la estructura alumno
alumno =
nombre: 'Pablo'
apellido1: 'Fernández'
apellido2: 'García'
edad: 15
>> alumno2 = struct ('nombre','Fermín','apellido1','Martínez','apellido2','Gil','edad',16)
alumno2 = % otro modo de introducir los campos
nombre: 'Fermín'
apellido1: 'Martínez'
apellido2: 'Gil'
edad: 16
Pueden crearse vectores y matrices de estructuras, por ejemplo:
>> alumno (1) = struct ('nombre','Pablo','apellido1','fernández','apellido2','García','edad',15);
>> alumno (2) = struct ('nombre','Fermín','apellido1','Martínez','apellido2','Gil','edad',16);
>> alumno % nos devuelve información sobre los campos que tiene la estructura alumno
alumno =
1x2 struct array with fields:
nombre
apellido1
apellido2
edad
>> alumno (1) % nos devuelve los datos del primer elemento del vector de la estructura
ans =
nombre: 'Pablo'
apellido1: 'fernández'
apellido2: 'García'
edad: 15
24
Manual de MATLAB Servicios Informáticos U.C.M.
>> alumno (2) % nos devuelve los datos del segundo elemento del vector de la estructura
ans =
nombre: 'Fermín'
apellido1: 'Martínez'
apellido2: 'Gil'
edad: 16
Para ver un campo concreto de todos los alumnos bastaría teclear:
>> alumno.nombre % escribe los datos de todos los campo nombre de la estructura en orden
ans =
Pablo
ans =
Fermín
OPERAR CON ESTRUCTURAS
Función ¿Qué hace?
fieldnames (E) devuelve el nombre de los campos de la estructura E
isfield (E, 'c') devuelve 1 si c es un campo de la estructura E y 0 si no lo es
isstruct (E) devuelve 1 si E es una estructura y 0 si no lo es
rmfield (E, 'c') elimina el campo c de la estructura E
(E es una estructura y c es un campo)
Ejemplos:
>> fieldnames (alumno) % devuelve los campos de la estructura alumno
ans =
'nombre'
'apellido1'
'apellido2'
'edad'
>> isfield (alumno,'nombre') % devuelve 1 por ser cierto que nombre es un campo de alumno
ans =
1
>> isstruct (alumno) % devuelve 1 porque es cierto que alumno es una estructura
ans =
1
>> rmfield (alumno,'edad') % elimina el campo edad de la estructura alumno
ans =
1x2 struct array with fields:
nombre
apellido1
apellido2
25
Manual de MATLAB Servicios Informáticos U.C.M.
VECTORES Y MATRICES DE CELDAS
CÓMO DEFINIRLOS
Un vector de celdas es un vector cuyos elementos son cada uno de ellos una variable de cualquier
tipo. En todo vector sus elementos pueden ser números o cadenas de caracteres, pero en un vector de
celdas el primer elemento puede ser un número, el segundo una matriz, el tercero una estructura, etc.
Para crear un vector de celdas usaremos llaves ({}).
>> celda (1) = {[0 1 2]}; % creamos un vector de celdas definiendo celda a celda
>> celda (2) = {'cadena de caracteres'};
>> celda (3) = {eye(2)};
>> celda (4) = {-7};
>> celda
celda =
[1x3 double] [1x20 char] [2x2 double] [-7]
>> cel {1} = [0 1 2]; % creamos otro vector de celdas definiendo celda a celda de forma distinta
>> cel {2} = 'cadena de caracteres';
>> cel {3} = eye (2);
>> cel {4} = -7;
>> cel
cel =
[1x3 double] [1x20 char] [2x2 double] [-7]
>> c = { [0 1 2] ,'cadena de caracteres',eye(2),-7}; % otra forma de crear un vector de celdas
Si queremos crear una matriz o una hipermatriz de celdas se haría de forma similar.
OPERAR CON VECTORES Y MATRICES DE CELDAS
Función ¿Qué hace?
cell (m,n) crea una matriz de celdas con m filas y n columnas
celldisp (c) muestra el contenido de todas las celdas de c
cellplot (c) muestra la representación gráfica de las celdas de c
iscell (c) devuelve 1 si es una matriz de celdas y 0 si no lo es
num2cell (x) convierte el vector o matriz numérica en celdas
(m y n números naturales, c celdas y x vector o matriz)
Ejemplos:
>> cell (2,3) % crea una matriz de celdas vacías
ans =
[] [] []
[] [] []
26
Manual de MATLAB Servicios Informáticos U.C.M.
>> celldisp (c) % escribe el contenido de las celdas de c
c{1} =
0 1 2
c{2} =
cadena de caracteres
c{3} =
1 0
0 1
c{4} =
-7
>> cellplot (c) % representa gráficamente cómo son las celdas de c
>> iscell (c)
ans =
1
>> A = eye (3,2);
>> num2cell (A)
ans =
[1] [0]
[0] [1]
[0] [0]
OPERACIONES RELACIONALES Y LÓGICAS
Como entradas a las expresiones relacionales y lógicas, Matlab considera que cero es falso y que
cualquier número distinto de cero es verdadero. La salida de expresiones de este tipo produce 1 si es
verdadero y 0 si es falso.
27
Manual de MATLAB Servicios Informáticos U.C.M.
OPERADORES RELACIONALES
Operador ¿Qué significa?
< menor que
<= menor o igual que
> mayor que
>= mayor o igual que
== igual a
~= distinto de
La salida de las operaciones lógicas se puede utilizar también en operaciones matemáticas.
OPERADORES LÓGICOS
Operador ¿Qué significa?
& y
| o
~ no
Además de los operadores relacionales y lógicos básicos anteriores, Matlab proporciona una serie de
funciones relacionales y lógicas adicionales que incluyen:
Función ¿Qué significa?
xor (x,y) operación “o” exclusiva, devuelve 0 si ambas son falsas o ambas
verdaderas y devuelve 1 si una es falsa y la otra verdadera
any (x) devuelve 1 si algún elemento en un vector x es no nulo y devuelve 0 si son
todos nulos, si se trata de una matriz da una respuesta por cada columna
all (x) devuelve 1 si todos los elementos en un vector x son no nulos y 0 si existe
alguno nulo y si se trata de una matriz da una respuesta por cada columna
exist ('x') devuelve uno si existe y cero si no existe
isnan (x) devuelve unos en magnitudes no numéricas (NaN) en x
isinf (x) devuelve unos en magnitudes infinitas (Inf) en x
isfinite (x) devuelve unos en valores finitos en x
Podemos ver muchos más casos pero todos serían similares: ischar, isempty, isequal, isfloat,
isinteger, islogical, isnumeric, isprime, isreal, isscalar, isspace, …
Existe un orden de precedencia para operadores aritméticos, lógicos y relacionales, en la siguiente
tabla van de mayor a menor precedencia:
28
Manual de MATLAB Servicios Informáticos U.C.M.
Orden de precedencia de operadores
1º ^ .^ ' .'
2º * / \ .* ./ .\
3º + - ~ +(unario) -(unario)
4º : > < >= <= == ~=
5º | &
Ejemplos:
>> a = 1:9, b = 5-a % definimos dos vectores
a=
1 2 3 4 5 6 7 8 9
b=
4 3 2 1 0 -1 -2 -3 -4
>> r1 = a<6 % pregunta si a es menor que 6, devuelve 1 cuando es verdadero y 0 cuando es falso
r1 =
1 1 1 1 1 0 0 0 0
>> r2 = a==b % pregunta si a es igual a b, devuelve 1 cuando es verdadero y 0 cuando es falso
r2 =
0 0 0 0 0 0 0 0 0
>> r3 = a~=b % pregunta si a es distinto a b, devuelve 1 cuando es verdadero y 0 cuando es falso
r3 =
1 1 1 1 1 1 1 1 1
>> r4 = (a>b)&(b>-3) % pregunta si a>b y b>-3, devuelve 1 cuando es verdadero y 0 cuando es falso
r4 =
0 0 1 1 1 1 1 0 0
>> c = [Inf 0 5 -8 NaN 94];
>> exist ('c') % pregunta si existe alguna variable llamada c
ans =
1
>> isnan (c) % pregunta cuando c es NaN, devuelve 1 cuando es verdadero y 0 cuando es falso
ans =
0 0 0 0 1 0
>> isinf (c) % pregunta cuando c es Inf, devuelve 1 cuando es verdadero y 0 cuando es falso
ans =
1 0 0 0 0 0
>> isfinite (c) % pregunta cuando c es finito, devuelve 1 cuando es verdadero y 0 cuando es falso
ans =
0 1 1 1 0 1
29
Manual de MATLAB Servicios Informáticos U.C.M.
GRÁFICAS
2-D
La orden plot genera una gráfica. Los argumentos deben ser vectores de la misma longitud.
Ejemplo:
>> x = [-2 -1 0 1 2 3]; y = [4 1 0 1 4 9];
>> plot (x,y)
Si queremos cambiar la apariencia de la gráfica basta pinchar en el último botón de la barra de
herramientas y se abrirán unos cuadros en los laterales que nos permitirán ir haciendo los
cambios deseados como darle nombre a los ejes.
30
Manual de MATLAB Servicios Informáticos U.C.M.
La función plot nos permite otras opciones como superponer gráficas sobre los mismos ejes:
>> x = [-2 -1 0 1 2 3]; y = [4 1 0 1 4 9]; z = [6 5 3 7 5 2];
>> plot (x,y,x,z)
También podemos usar distintos tipos de líneas para el dibujo de la gráfica:
>> plot (x,y,'*')
Además podemos colocar etiquetas o manipular la gráfica:
etiqueta sobre el eje X de la gráfica actual: >> xlabel('texto')
etiqueta sobre el eje Y de la gráfica actual: >> ylabel('texto')
título en la cabecera de la gráfica actual: >> title('texto')
texto en el lugar especificado por las coordenadas: >> text(x,y, 'texto')
texto, el lugar lo indicamos después con el ratón: >> gtext('texto')
dibujar una rejilla: >> grid
fija valores máximo y mínimo de los ejes: >> axis( [xmin xmax ymin ymax] )
fija que la escala en los ejes sea igual: >> axis equal
fija que la gráfica sea un cuadrado: >> axis square
desactiva axis equal y axis square: >> axis normal
abre una ventana de gráfico: >> hold on
borra lo que hay en la ventana de gráfico: >> hold off
31
Manual de MATLAB Servicios Informáticos U.C.M.
Todas estas órdenes se las podemos dar desde la propia ventana de la gráfica una vez que hemos
abierto las opciones con el botón indicado anteriormente.
Otros comandos relacionados con las gráficas son los siguientes:
Orden ¿Qué hace? Imagen
area colorea el area bajo la gráfica
bar diagrama de barras (verticales)
barh diagrama de barras (horizontales)
hist histograma
pie sectores
rose histograma polar
stairs gráfico de escalera
stem secuencia de datos discretos
loglog como plot pero con escala logarítmica en ambos ejes
semilogx como plot pero escala logarítmica en el eje x
semilogy como plot pero escala logarítmica en el eje y
Para obtener una información más detallada se recomienda utilizar la ayuda de Matlab:
>> help <orden>
Una ventana gráfica se puede dividir en m particiones horizontales y en n verticales, de modo que
cada subventana tiene sus propios ejes, y para hacer esto vamos a usar subplot (m,n,p) donde p
indica la subdivisión que se convierte en activa.
>> x = 1:360; y1 = sind (x); y2 = cosd (x); y3 = exp (x); y4 = exp (-x);
>> subplot (2,2,1), plot (x,y1), title ('seno')
>> subplot (2,2,2), plot (x,y2), title ('coseno')
>> subplot (2,2,3), plot (x,y3), title ('exponencial')
>> subplot (2,2,4), plot (x,y4), title ('-exponencial')
32
Manual de MATLAB Servicios Informáticos U.C.M.
Para volver al modo por defecto basta escribir: subplot (1,1,1).
Para dibujar polígonos podemos usar la función plot pero teniendo en cuenta que el último punto de
ambos vectores deben coincidir para que la gráfica quede cerrada. Pero si lo que queremos es que
quede coloreado todo el interior del polígono debemos usar mejor la función fill, tiene tres
argumentos, los dos vectores que forman los puntos y un tercer argumento para indicar el color.
>> x = [-2 0 2 0 -2]; y = [4 8 4 0 4];
>> plot (x,y)
>> x = [-2 0 2 0 -2]; y = [4 8 4 0 4];
>> fill (x,y,'r') % dibuja el polígono, 'r' indica el color rojo
3-D
Gráficos de línea:
También podemos crear gráficas en 3 dimensiones, se trata de extender la orden de plot (2-D) a plot3
(3-D) donde el formato será igual pero los datos estarán en tripletes:
33
Manual de MATLAB Servicios Informáticos U.C.M.
>> x = -720:720; y = sind (x); z = cosd (x);
>> plot3 (x,y,z)
Podemos hacer girar la gráfica usando de la barra de herramientas el botón o hacerla más grande o
más pequeña con . Al igual que ocurría con las gráficas en dos dimensiones podemos nombrar
los ejes o hacer modificaciones entrando en opciones con el botón .
Si queremos representar un polígono en 3 dimensiones lo haremos con la función fill3 de forma
similar a fill pero ahora con 4 argumentos, siendo el cuarto el que indica el color.
>> x = [-2 0 2 0 -2];
>> y = [4 8 4 0 4];
>> z = [3 5 10 5 3];
>> fill3 (x,y,z,'b') % dibuja en 3-D, 'b' indica el color azul
Superficie de malla:
La orden [X,Y]=meshgrid(x,y) crea una matriz X cuyas filas son copias del vector x y una matriz Y
cuyas columnas son copias del vector y. Para generar la gráfica de malla se usa la orden
mesh(X,Y,Z), mesh acepta un argumento opcional para controlar los colores. También puede tomar
una matriz simple como argumento: mesh(Z).
34
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplo:
>> x = -10:0.5:10; y = -10:0.5:10;
>> [X,Y] = meshgrid (x,y); % crea matrices para hacer la malla
>> Z = sin (sqrt (X .^2 + Y .^2)) ./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
>> mesh (X,Y,Z) % dibuja la gráfica
Hubiera dado igual si hubiéramos escrito:
>> [X,Y] = meshgrid (-10:0.5:10);
>> Z = sin (sqrt (X .^2 + Y .^ 2)) ./ sqrt (X .^ 2 + Y .^ 2 + 0.1);
>> mesh (X,Y,Z)
Gráfica de superficie:
Es similar a la gráfica de malla, pero aquí se rellenan los espacios entre líneas. La orden que usamos
es surf con los mismos argumentos que para mesh.
Ejemplo:
>> surf (X,Y,Z)
35
Manual de MATLAB Servicios Informáticos U.C.M.
Las gráficas de contorno en 2-D y 3-D se generan usando respectivamente las funciones contour y
contour3.
Ejemplo:
>> contour (X,Y,Z) % dibuja las líneas de contorno
La función pcolor transforma la altura a un conjunto de colores.
Ejemplo:
>> pcolor (X,Y,Z)
Manipulación de gráficos:
fija el ángulo de visión especificando el azimut y la elevación: >> view(az,el)
coloca su vista en un vector de coordenada cartesiana (x,y,z) en el espacio 3-D: >> view([x,y,z])
almacena en az y el los valores del azimut y de la elevación de la vista actual: >> [az,el]=view
añade etiquetas de altura a los gráficos de contorno: >> clabel(C,h)
añade una barra de color vertical mostrando las transformaciones: >> colorbar
36
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplos:
>> surf (X,Y,Z)
>> view (10,70)
>> colorbar % añade la barra de color a la figura actual
>> surf (X,Y,Z)
>> view ( [10,-12,2] )
37
Manual de MATLAB Servicios Informáticos U.C.M.
>> surf (X,Y,Z)
>> [az,el] = view
az =
-37.5000
el =
30
>> [C,h] = contour (X,Y,Z);
>> clabel (C,h)
Comprensión de los mapas de color:
Color Nombre corto Rojo/Verde/Azul
Negro k [0 0 0]
Blanco w [1 1 1]
Rojo r [1 0 0]
Verde g [0 1 0]
Azul b [0 0 1]
Amarillo y [1 1 0]
Magenta m [1 0 1]
38
Manual de MATLAB Servicios Informáticos U.C.M.
La sentencia colormap (M) instala al matriz M como el mapa de color a utilizar por la figura actual.
Función Colores
Jet
HSV
Hot
Cool
Spring
Summer
Autumn
Winter
Gray
Bone
Copper
Pink
Lines
Ejemplos:
>> surf (X,Y,Z)
>> colormap (pink)
39
Manual de MATLAB Servicios Informáticos U.C.M.
>> colormap (hot)
>> colormap (summer)
>> M = [0 0 0; 1 0 0; 0 1 0; 0 0 1; 1 1 0]; % creamos una matriz de colores
>> colormap (M)
40
Manual de MATLAB Servicios Informáticos U.C.M.
PROGRAMACIÓN DE MATLAB
Matlab es una aplicación que permite programar fácilmente.
SENTENCIA FOR
Un bloque for en cada iteración asigna a la variable la columna i-ésima de la expresión y ejecuta las
órdenes. En la práctica las expresiones suelen ser del tipo escalar:escalar en cuyo caso las columnas
son escalares.
for variable = expresión
<orden>
<orden>

<orden>
end
Ejemplo:
>> for x = 1:5
disp ('x toma el valor') % escribe por pantalla el texto que se indica entre las comillas
disp (x) % escribe el valor de la variable x
end
x toma el valor % es lo que devuelve por pantalla
1
x toma el valor
2
x toma el valor
3
x toma el valor
4
x toma el valor
5
SENTENCIA WHILE
Un bloque while ejecuta las órdenes mientras todos los elementos de la expresión sean verdaderos.
while <expresión>
<orden>
<orden>

<orden>
end
41
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplo:
>> a=3;
>> while a < 5
disp ('a es menor que 5 ya que vale')
disp (a)
a = a + 1;
end
a es menor que 5 ya que vale % es lo que devuelve por pantalla
3
a es menor que 5 ya que vale
4
SENTENCIA IF
Un bloque if puede escribirse de varias maneras distintas. Lo que hace es evaluar una expresión
lógica y si es cierta ejecuta las órdenes que encuentre antes del end.
if <expresión>
<órdenes evaluadas si la expresión es verdadera>
end
Puede que nos interese que en caso de no ejecutar dicha orden ejecute otra distinta. Esto se lo
indicaremos usando else dentro del bloque.
if <expresión>
<órdenes evaluadas si la expresión es verdadera>
else
<órdenes evaluadas si la expresión es falsa>
end
Si queremos dar una estructura mucho más completa, usaremos la más general donde sólo se evalúan
las órdenes asociadas con la primera expresión verdadera de todas. En cuanto la evalúe deja de leer el
resto y se dirige directamente al end.
if <expresión1>
<órdenes evaluadas si la expresión1 es verdadera>
elseif <expresión2>
<órdenes evaluadas si la expresión2 es verdadera>
elseif <expresión3>
<órdenes evaluadas si la expresión3 es verdadera>
elseif


else
<órdenes evaluadas si ninguna otra expresión es verdadera>
end
42
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplo:
>> b = 2;
>> if b == 0 % ponemos == porque no es una asignación sino una expresión lógica
disp ('b vale 0')
elseif b == 1
disp ('b vale 1')
elseif b == 2
disp ('b vale 2')
elseif b == 3
disp ('b vale 3')
else
disp ('b no vale ni 0 ni 1 ni 2 ni 3')
end
b vale 2 % es lo que devuelve por pantalla
SENTENCIA BREAK
Si queremos que en un momento dado termine la ejecución de un bucle for o un bucle while
usaremos break.
SENTENCIA CONTINUE
La sentencia continue hace que se pase inmediatamente a la siguiente iteración del bucle for o del
bucle while saltando todas las órdenes que hay entre el continue y el fin del bucle en la iteración
actual.
Ejemplo:
Podemos mezclar en un programa varias sentencias de este estilo. Aquí podemos ver un programa
que escribe por pantalla los primos del 1 al 100 usando las sentencias if, while y for.
disp('Estos son los números primos menores de 100')
disp(2)
for i=2:100
n=2;
while n <= sqrt(i)
if rem(i,n)==0
n=i;
else n=n+1;
end
end
if n~=i disp(i)
end
end
43
Manual de MATLAB Servicios Informáticos U.C.M.
FUNCIONES EN M-ARCHIVOS
Existen dos tipos de M-archivo, es decir, de archivos con extensión *.m. Un tipo son los ficheros de
comandos (es un archivo stript) y el otro son la funciones.
Un fichero de comandos contiene simplemente un conjunto de comandos que se ejecutan
sucesivamente cuando se teclea el nombre del fichero en la línea de comandos de Matlab o se incluye
dicho nombre en otro fichero *.m.
Las funciones permiten definir funciones análogas a las de Matlab, con su nombre, argumentos y
valores de salida. La primera línea que no sea comentario debe empezar por la palabra function,
seguida por los valores de salida (entre corchetes [ ] y separados por comas si hay más de uno), el
signo igual (=) y el nombre de la función seguido de los argumentos (entre paréntesis ( ) y separados
por comas):
function [a,b,c] = nombre_función (x,y,z)
En las líneas siguientes escribimos los argumentos de salida a partir de los de entrada. El nombre de
la función y el nombre del archivo deben ser idénticos y no empezar por cifra sino por letra.
Todas las variables dentro de una función se aíslan del espacio de trabajo de Matlab. Las únicas
conexiones entre las variables dentro de una función y el espacio de trabajo de Matlab son las
variables de entrada y salida.
El número de variables de entrada pasadas a una función está disponible dentro de la función en la
variable nargin y el número de variables de salida solicitadas cuando una función es llamada, está
disponible dentro de la función en la variable nargout.
Debemos tener siempre en cuenta que los argumentos pueden ser vectores, luego si queremos que las
operaciones se hagan elemento a elemento y no vectorialmente debemos usar el punto.
Ejemplo:
En un M-archivo guardamos lo siguiente:
function [suma,resta] = calculos (x,y) % la función se llama calculos
suma = x + y;
resta = x - y;
Ahora si queremos usarlo, debemos escribir por ejemplo en la ventana de comandos:
>> x = 1:10; y = 16:-2:-2;
>> [a,b] = calculos (x,y)
a=
17 16 15 14 13 12 11 10 9 8
b=
-15 -12 -9 -6 -3 0 3 6 9 12
44
Manual de MATLAB Servicios Informáticos U.C.M.
>> x = [1 5; 3 -2; 3 7; 4 -1; 0 2]; y = [16 -1; 0 4; 1 5; -1 0; -1 3];
>> [a,b] = calculos (x,y)
a=
17 4
3 2
4 12
3 -1
-1 5
b=
-15 6
3 -6
2 2
5 -1
1 -1
ANÁLISIS DE DATOS
Matlab ejecuta análisis estadístico sobre conjuntos de datos. Estos conjuntos de datos se almacenan
en matrices orientadas por columnas. Matlab incluye, entre otras, las siguientes funciones
estadísticas:
Función ¿Qué hace?
corrcoef (X) coeficientes de correlación
cov (X) matriz de covarianzas
cumprod (X) producto acumulativo de columnas
cumsum (X) suma acumulativa de columnas
diff (X) diferencias entre elementos adyacentes de X
hist (X) histograma o diagrama de barras
iqr (X) rango intercuartílico de la muestra
max (X) máximo de cada columna
mean (X) media de los valores de vectores y columnas
median (X) mediana de los valores de vectores y columnas
min (X) mínimo de cada columna
prod (X) producto de elementos en columnas
rand (n) números aleatorios distribuidos uniformemente
randn (n) números aleatorios distribuidos normalmente
range (X) rango de cada columna
sort (X) ordena columnas en orden ascendente
std (X) desviación estándar de la muestra
sum (X) suma de elementos en cada columna
tabulate (v) tabla de frecuencias del vector
var (X) varianza de la muestra
45
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplos:
>> X = [5 7 9 2 9; 3 1 7 5 1; 3 9 2 7 5; 1 5 5 1 8]
X=
5 7 9 2 9
3 1 7 5 1
3 9 2 7 5
1 5 5 1 8
>> cumprod (X) % matriz de productos acumulados
ans =
5 7 9 2 9
15 7 63 10 9
45 63 126 70 45
45 315 630 70 360
>> cumsum (X) % matriz de sumas acumuladas
ans =
5 7 9 2 9
8 8 16 7 10
11 17 18 14 15
12 22 23 15 23
>> mean (X) % media de cada columna
ans =
3.0000 5.5000 5.7500 3.7500 5.7500
>> median (X) % mediana de cada columna
ans =
3.0000 6.0000 6.0000 3.5000 6.5000
>> prod (X) % producto de todos los elementos de cada columna
ans =
45 315 630 70 360
>> sort (X) % ordena los valores de cada columna
ans =
1 1 2 1 1
3 5 5 2 5
3 7 7 5 8
5 9 9 7 9
>> sum (X) % suma de todos los elementos de cada columna
ans =
12 22 23 15 23
>> var (X) % varianza de los elementos de cada columna
ans =
2.6667 11.6667 8.9167 7.5833 12.9167
46
Manual de MATLAB Servicios Informáticos U.C.M.
>> max (X) % valor máximo de cada columna
ans =
5 9 9 7 9
>> min (X) % valor mínimo de cada columna
ans =
1 1 2 1 1
>> iqr (X) % rango intercuartílico de cada columna
ans =
2.0000 5.0000 4.5000 4.5000 5.5000
>> Y = [5 7 9 2 9 3 1 7 5 1 3 9 2 7 5 1 5 5 1 8];
>> tabulate (Y) % tabla de frecuencias generada a partir de una serie de valores
Value Count Percent
1 4 20.00%
2 2 10.00%
3 2 10.00%
4 0 0.00%
5 5 25.00%
6 0 0.00%
7 3 15.00%
8 1 5.00%
9 3 15.00%
>> range (X) % rango de cada columna (diferencia entre el máximo y el mínimo)
ans =
4 8 7 6 8
POLINOMIOS
RAÍCES
Un polinomio se representa por un vector fila con sus coeficientes en orden descendiente, no
debemos olvidar colocar los términos con coeficiente nulo.
Así por ejemplo si queremos indicar el polinomio 5x4 + 2x2 – x + 7 escribiríamos [5 0 2 -1 7].
Para encontrar las raíces de un polinomio p usaremos la función roots (p).
Si conocemos las raíces de un polinomio es posible construir el polinomio asociado mediante la
función poly (r).
Matlab trabaja con los polinomios como vectores fila y con las raíces como vectores columnas.
47
Manual de MATLAB Servicios Informáticos U.C.M.
Ejemplos:
>> p = [1 -9 13 9 -14]; % representa al polinomio x4-9x3+13x2-9x-14
>> roots (p) % calcula sus raíces
ans =
7.0000
-1.0000
2.0000
1.0000
>> poly (ans) % devuelve el polinomio generado por esas cuatro raíces
ans =
1.0000 -9.0000 13.0000 9.0000 -14.0000
OTRAS CARACTERÍSTICAS
Función ¿Qué es?
conv (p,q) multiplica los dos polinomios p y q
deconv (c,q) divide el polinomio c entre q
polyder (p) calcula la derivada del polinomio p
polyder (p,q) calcula la derivada del producto de los polinomios p y q
polyval (p,A) evalúa el polinomio p en todos los valores de la matriz A
Matlab no tiene incorporada una función para sumar polinomios.
Ejemplos:
>> p = [1 2 7];
>> q = [1 3 6]; % polinomios
>> c = conv (p,q) % producto de los polinomios p y q
c=
1 5 19 33 42
>> deconv (c,q) % cociente de dividir el polinomio c entre el polinomio q
ans =
1 2 7
>> polyder (p) % derivada del polinomio p
ans =
2 2
>> polyder (p,q) % derivada del producto de los polinomios p y q
ans =
4 15 38 33
48
Manual de MATLAB Servicios Informáticos U.C.M.
>> polyval (p, [0 1 5] ) % evalúa el polinomio en 0, 1 y 5, es decir, halla p(0), p(1) y p(5)
ans =
7 10 42
>> polyval (p, [0 1 2; -1 -2 -3; 4 0 7] ) % igual pero toma los valores de una matriz
ans =
7 10 15
6 7 10
31 7 70
ANÁLISIS NUMÉRICO
REPRESENTACIÓN GRÁFICA
Existe la función fplot que evalúa la función que se desea representar en la gráfica de salida. Como
entrada, necesita conocer el nombre de la función como una cadena de caracteres y el rango de
representación como un vector de dos elementos: fplot ('nombre', [ valor min, valor max] ).
Ejemplo:
>> fplot ('sin', [-3*pi,3*pi] )
49
Manual de MATLAB Servicios Informáticos U.C.M.
OTRAS CARACTERÍSTICAS
Función ¿Qué hace?
diff ('f') derivada de la función respecto a x
diff ('f',t) derivada parcial de la función respecto a t
diff ('f',n) derivada n-ésima de la función respecto a x
feval ('f',a) evalúa la función en a
fminbnd ('f',a,b) calcula el mínimo de una función de una variable
fzero ('f',a) busca el cero de una función unidimensional f más próximo al punto a
quad ('f',a,b) aproxima la integral definida (según la cuadratura de Simpson)
trapz (x,y) integral numérica trapezoidal de la función formada al emparejar los
puntos de los vectores x e y
(f función, n número natural, a y b valores numéricos, x e y vectores del mismo tamaño)
Matlab incorpora una serie de funciones para resolver ecuaciones diferenciales ordinarias. Si se trata
de un problema rígido deberíamos usar: ode15s, ode23s, ode23t u ode23tb, si por el contrario se trata
de un problema sin rigidez: ode113, ode 23 y ode45. Para saber más de estas funciones consultar la
ayuda de Matlab.
Ejemplos:
> diff ('sin (7*x) ') % derivada respecto a x
ans =
7*cos(7*x)
>> diff ('(exp (x) * cos (3*x*y))','y') % derivada parcial respecto a y
ans =
-3*exp(x)*sin(3*x*y)*x
>> diff ('(sin (x^2))',2) % segunda derivada respecto a x
ans =
-4*sin(x^2)*x^2+2*cos(x^2)
>> feval ('cos',pi) % evalúa el coseno en el valor pi
ans =
-1
>> feval ('cos', [0 pi/3 pi] ) % para evaluar en varios puntos debemos darlo como un vector
ans =
1.0000 0.5000 -1.0000
>> feval (@cos, [0 pi/3 pi] ) % es lo mismo que lo anterior, da igual comillas que el @
ans =
1.0000 0.5000 -1.0000
>> fminbnd (@sind,0,360) % valor del dominio donde la función toma el mínimo
ans =
270.0000
50
Manual de MATLAB Servicios Informáticos U.C.M.
>> fzero ('sind',100) % el valor más próximo a 100 donde la función seno vale cero
ans =
180
>> quad ('sin',0,pi) % integral definida del seno desde 0 hasta pi
ans =
2.0000
> x = 0:4; y = [0 2 2 1 6];
>> trapz (x,y)
ans =
8
CONVERTIR UN FICHERO (*.m) EN UN EJECUTABLE (*.exe)
Si tenemos un fichero *.m, lo primero que debemos hacer es asegurarnos de que sea una función,
para ello en la primera línea del fichero debe aparecer:
function nombre (el nombre de la función debe coincidir con el nombre del fichero)
Ahora debemos situarnos en el directorio donde tengamos el fichero que queremos transformar
usando el comando cd, por ejemplo:
>> cd 'C:\Documents and Settings\Escritorio\Prueba'
Lo que debemos escribir a continuación es el comando mcc seguido de –m y el nombre del fichero:
>> mcc -m nombre
Con esto nos aparecerá en el mismo directorio donde estamos un ejecutable con el mismo nombre.
También aparecerán una carpeta y varios archivos.
Ejemplo:
Creamos un fichero que va a ser una función que a su vez va a llamar a otras dos funciones que
también hemos creado nosotros:
Fichero algebra.m:
% algebra
function algebra
x = input ('Escribe un número: ');
y = input ('Escribe otro número: ');
disp ('La suma es...')
suma (x,y)
disp ('La resta es...')
resta (x,y)
pause %para que no se cierre la ventana automáticamente al ejecutarse
51
Manual de MATLAB Servicios Informáticos U.C.M.
Fichero suma.m:
% suma
function m = suma (tt,xx)
m = tt + xx;
Fichero resta.m:
% resta
function m = resta (tt,xx)
m = tt - xx;
Después de situarnos en el directorio correspondiente escribimos:
>> mcc -m álgebra
IMPORTAR Y EXPORTAR FICHEROS DE DATOS
Si tenemos un fichero de datos y queremos usarlo en Matlab podemos importarlo para evitarnos
copiar de nuevo todos los datos.
Para ello usaremos un botón que se encuentra en la ventana workspace. Vemos que al situar el
ratón sobre él aparece un letrero diciendo para lo que sirve (import data):
Al pinchar en él se abre una ventana. Debemos localizar el fichero que queremos importar y pinchar
en el botón donde pone Abrir. Aparecerá una nueva ventana similar a ésta:
(Aquí estamos importando un fichero de datos .xls de Excel con el nombre Libro1 pero al importarlo
lo renombra como Hoja1 ya que el fichero en cuestión tenía 3 hojas, pero sólo la Hoja1 tenía datos)
52
Manual de MATLAB Servicios Informáticos U.C.M.
Pinchamos en el botón Finish y ya tendremos el fichero de datos convertido en una matriz en Matlab.
Si queremos visualizarla sólo tenemos que llamarla ya que se almacenará con el mismo nombre.
Ejemplo:
Queremos importar un fichero de datos de Excel con dos hojas (la Hoja3 está vacía):
Al importar el fichero nos aparece la ventana siguiente (sólo aparecen dos matrices porque la Hoja3
está vacía):
Pinchamos en Finish y aceptamos. Si queremos ver cómo ha guardado los datos basta llamar a las
matrices con el nombre que hayan sido almacenadas. (Los espacios en blanco los ha guardado como
NaN).
>> Hoja1
Hoja1 =
10 6 -1
5 15 0
10 2 6
-8 8 4
>> Hoja2
Hoja2 =
-2 4 8
6 NaN 4
1 3 NaN
53
Manual de MATLAB Servicios Informáticos U.C.M.
Para exportar una matriz podemos convertirla en texto haciendo lo siguiente:
Primero escribimos:
>> diary my_data.out
Después escribimos bien la matriz (o bien la llamamos si ya estuviera almacenada en el workspace).
Es este caso creamos la matriz A:
>> A = [0 1;2 3;4 5;6 7;8 9]
A=
0 1
2 3
4 5
6 7
8 9
Escribimos:
>> diary off
Ahora para abrirlo buscamos el documento llamado my_data.out que se encuentra en:
C:\Archivos de programa\MATLAB\R2006b\work
Podemos abrirlo con cualquier editor de texto.
54
Manual de MATLAB Servicios Informáticos U.C.M.
EJERCICIOS PROPUESTOS
Calcula el resultado de sumar 15 y 6:
>> 15+6
ans =
21
Guarda en la variable x el resultado de sumar 15 y 6:
>> x=15+6
x=
21
Haz que aparezca por pantalla el valor almacenado en la variable x:
>> x
x=
21
Guarda en la variable y el resultado de multiplicar 12 y 2:
>> y=12*2
y=
24
Realiza la suma de las variables x e y:
>> x+y
ans =
45
Guarda en la variable z el resultado de restarle a la variable y la variable x:
>> z=y-x;
Haz que aparezca por pantalla el valor almacenado en la variable z:
>> z
z=
3
Calcula el coseno de π (tomando el ángulo en radianes):
>> cos(pi)
ans =
-1
Calcula el coseno de 180º (tomando el ángulo en grados sexagesimales):
>> cosd(180)
ans =
-1
Calcula la exponencial en 1 (es decir, el número e):
>> exp(1)
ans =
2.7183
55
Manual de MATLAB Servicios Informáticos U.C.M.
Calcula la raíz cuadrada de -16:
>> sqrt(-16)
ans =
0 + 4.0000i
Calcula el resultado de la división de 2 entre 3:
>> 2/3
ans =
0.6667
Cambia a formato con 15 decimales:
>> format long
Vuelve a calcular el resultado de la división de 2 entre 3:
>> 2/3
ans =
0.666666666666667
Cambia a formato con solo 4 decimales:
>> format short
Vuelve a calcular el resultado de la división de 2 entre 3:
>> 2/3
ans =
0.6667
Haz que aparezcan por pantalla las variables que estás utilizando:
>> who
Your variables are:
ans x y z
>> whos
Name Size Bytes Class Attributes
ans 1x1 8 double
x 1x1 8 double
y 1x1 8 double
z 1x1 8 double
Borra la variable z:
>> clear z
Vuelve a hacer que aparezcan por pantalla las variables que estás utilizando:
>> who
Your variables are:
ans x y
Crea el vector v = (1,2,3,4) de modo que no se vuelva a escribir en pantalla:
>> v=[1 2 3 4];
Crea el vector w = (5,6,7,8) y deja que lo vuelva a escribir en pantalla:
>> w=[5 6 7 8]
w=
5 6 7 8
56
Manual de MATLAB Servicios Informáticos U.C.M.
Calcula el vector traspuesto de v:
>> v'
ans =
1
2
3
4
Crea un vector llamado v2 donde sus elementos vayan desde el 2 al 17 creciendo de 3 en 3:
>> v2=2:3:17
v2 =
2 5 8 11 14 17
Crea un vector v3 donde sus elementos vayan desde el 2 al 20 y que en total tenga 10 elementos:
>> v3=linspace(2,20,10)
v3 =
2 4 6 8 10 12 14 16 18 20
Averigua cuál es el cuarto elemento del vector v3:
>> v3(4)
ans =
8
1 2 3 4 
 
Crea la matriz M=  5 6 7 8  :
 
 9 10 11 12 
>> M=[1 2 3 4;5 6 7 8;9 10 11 12]
M=
1 2 3 4
5 6 7 8
9 10 11 12
Calcula la traspuesta de la matriz M:
>> M'
ans =
1 5 9
2 6 10
3 7 11
4 8 12
Halla la fila 2 de la matriz M:
>> M(2,:)
ans =
5 6 7 8
Calcula el rango de M:
>> rank(M)
ans =
2
57
Manual de MATLAB Servicios Informáticos U.C.M.
Calcula la traza de la matriz M:
>> trace(M)
ans =
19
Crea la matriz identidad de tamaño 4:
>> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
Crea la matriz nula de tamaño 3x3:
>> zeros(3)
ans =
0 0 0
0 0 0
0 0 0
Crea la matriz cuadrada de unos de tamaño 2x2:
>> ones(2)
ans =
1 1
1 1
Averigua las dimensiones de la matriz M:
>> size(M)
ans =
3 4
Crea una matriz llamada M2 que tenga por diagonal el vector v y el resto sean todo ceros:
>> M2=diag(v)
M2 =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
Haz que aparezca por pantalla la matriz triangular inferior a partir de M:
>> tril(M)
ans =
1 0 0 0
5 6 0 0
9 10 11 0
Haz que aparezca por pantalla la matriz triangular superior a partir de M:
>> triu(M)
ans =
1 2 3 4
0 6 7 8
0 0 11 12
58
Manual de MATLAB Servicios Informáticos U.C.M.
Calcula una matriz que tenga por elementos todos los elementos de la matriz M elevados al
cuadrado:
>> M.^2
ans =
1 4 9 16
25 36 49 64
81 100 121 144
Elimina de la matriz M su tercera columna:
>> M(:,3)=[]
M=
1 2 4
5 6 8
9 10 12
Calcula el determinante de M:
>> det(M)
ans =
0
Guarda en p el polinomio x3 - x2 - 26x - 24:
>> p=[1 -1 -26 -24];
Calcula las raíces del polinomio p:
>> roots(p)
ans =
6.0000
-4.0000
-1.0000
Evalúa el polinomio p cuando x = 1:
>> polyval(p,1)
ans =
-50
Evalúa el polinomio p en todos los valores del vector w:
>> polyval(p,w)
ans =
-54 0 88 216
Crea un polinomio q que tenga por raíces los elementos del vector v:
>> q=poly(v)
q=
1 -10 35 -50 24
Calcula la multiplicación de los polinomios p y q:
>> conv(p,q)
ans =
1 -11 19 151 -596 436 576 -576
59
Manual de MATLAB Servicios Informáticos U.C.M.
Calcula la división del polinomio obtenido como solución entre el polinomio q:
>> deconv(ans,q)
ans =
1 -1 -26 -24
Escribe por pantalla el valor de los vectores v y w:
>> v
v=
1 2 3 4
>> w
w=
5 6 7 8
Calcula el producto de los vectores elemento a elemento:
>> v.*w
ans =
5 12 21 32
Calcula el producto escalar de los vectores v y w:
>> dot(v,w)
ans =
70
Calcula el producto del vector traspuesto de v con el vector w:
>> v'*w
ans =
5 6 7 8
10 12 14 16
15 18 21 24
20 24 28 32
Define el vector x = (-10,-9,-8,…,6,7,8) y el vector y que sea el cuadrado de cada elemento:
>> x=(-10:8); y=x.^2;
Ahora dibuja la gráfica formada por esos dos vectores:
>> plot(x,y)
Guarda en la variable a la palabra guacamole:
>> a='guacamole';
60
Manual de MATLAB Servicios Informáticos U.C.M.
Haz que aparezca en pantalla la representación ASCII del valor almacenado en la variable a:
>> abs(a)
ans =
103 117 97 99 97 109 111 108 101
Crea un pequeño programa que escriba por pantalla BUENOS DÍAS y a continuación los 15
primeros números pares (usando un for):
disp('BUENOS DÍAS')
for i=1:15
disp(2*i)
end
Calcula la derivada de la función f(x) = sin (2x) + tan (x2):
>> diff('sin(2*x)+tan(x^2)')
ans =
2*cos(2*x)+2*(1+tan(x^2)^2)*x
61
Manual de MATLAB Servicios Informáticos U.C.M.
COMANDOS QUE APARECEN EN ESTE MANUAL
abs disp hold on mesh rot90
all dot hold off meshgrid rose
angle double min round
ans i mod rref
any eig if
area else imag nan save
asin elseif inf nargin sec
asind end inv nargout semilogx
asinh eps invhilb norm semilogy
axis exist iqr normest setstr
exp iscell nthroot sign
bar expm ischar null sin
barh eye isempty num2cell sind
break isequal sinh
feval isfield ones size
calendar fieldnames isfinite orth sort
cat fill isfloat ode113 sqrt
ceil fill3 isinf ode15s sqrtm
cell find isinteger ode23 stairs
celldisp fix islogical ode23s std
cellplot fliplr isnan ode23t stem
clabel flipud isnumeric ode23tb struct
clc floor isprime ode45 subplot
clear fminbnd isreal pcolor sum
clock for isscalar pi surf
colorbar format bank isspace pie
colormap format hex isstruct pinv tabulate
complex format long plot tan
cond format long e j poly text
conj format long eng polyder title
continue format long g lcm polyval trace
contour format rat length prod trapz
contour3 format short linspace triu
conv format short e load qr tril
corrcoef formatshort eng log quad
cos format short g loglog quit var
cot format + logm view
cov fplot logspace rand
cross function log2 randn xlabel
csc funm log10 range xor
cumprod fzero lookfor rank
cumsum lu real ylabel
gcd realmax
date grid magic realmin while
deconv max rem who
det help mcc reshape whos
diag hilb mean rmfield
diff hist median roots zeros
62

Вам также может понравиться