Logo Studenta

01 MANUAL MATLAB 2015

¡Este material tiene más páginas!

Vista previa del material en texto

4
56
UNIVERSIDAD NACIONAL DEL CENTRO DEL PERÚ
FACULTAD DE INGENIERÍA QUÍMICA
TEXTO UNIVERSITARIO
lenguaje de programacion
 
m Sc HELMER LOPEZ GUTIERREZ
 
HUANCAYO – PERU
DEDICATORIA
El presente texto lo dedicamos a 
nuestros estudiantes, quienes son el 
motivo de nuestra existencia en la 
UNCP.
PRESENTACION
En los momentos actuales en que la información es muy importante para la toma de decisiones, el uso de las las herramientas de la informática se hace imperativamente necesaria, concientes de esa realidad en la Universidad nos mantenemos vigilantes de las nuevas tendencias de la informática.
El presente manual pretende ser una pequeña guía para iniciarse dentro del fabuloso mundo de la programación como herramienta para los diferentes trabajos de investigación y aplicación para la búsqueda de soluciones.
Este texto proporciona información para que el estudiante una base introductoria a la informática, algoritmos y diagramas de flujo, el programa MATLAB, como una poderosa herramienta de cálculo, simulación y modelado matemático, muy utilizada por estudiantes, ingenieros y científicos, en universidades, institutos de investigación e industrias, en todo el mundo, y muy fácil de usar.
MATLAB es un entorno de computación y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados cálculos matemáticos y la visualización gráfica de los mismos. 
El lenguaje flexible e interactivo de MATLAB permite a ingenieros y científicos expresar sus ideas técnicas con simplicidad. Los poderosos y amplios métodos de cómputo numérico y graficación permiten la prueba y exploración de ideas alternativas con facilidad, mientras que el ambiente de desarrollo integrado facilita producir resultados prácticos fácilmente.
INDICE
Presentación
Indice
Introducción
										 pág.
CAPITULO I
Introducción a la Computación							5
CAPITULO II
Algoritmos y Diagramas de Flujo							21
CAPITULO III
Operaciones Matemática con MATLAB						34
CAPITULO IV
Gráficas con MATLAB								55
CAPITULO V
Programación en Matlab								65
If … end										69
For … end 										70
While … end										72
Bibliografía										98
CAPITULO I
INTRODUCCION A LA COMPUTACIÓN
OBJETIVOS: Dar a conocer al estudiate la configuración de parte física y lógica de un sistema de computo y el entorno en el cual se va trabajar
CONTENIDOS: hardware y Software de un sistema de cómputo. 
COMPUTADORA U ORDENADOR
Existen numerosas definiciones de una computadora, entre ellas las siguientes:
1) Una computadora es un dispositivo capaz de realizar cálculos y tomar decisiones lógicas a velocidades hasta miles de millones de veces más rápidas que las alcanzables por los seres humanos. 
2) Un ordenador es una máquina capaz de aceptar datos a través de un medio de entrada, procesarlos automáticamente bajo el control de un programa previamente almacenado, y proporcionar la información resultante a través de un medio de salida.
3) Una computadora es cualquier dispositivo en el que la información se representa en forma numérica y que, mediante el recuento, comparación y manipulación de estos números (de acuerdo con un conjunto de instrucciones almacenadas en su memoria), puede realizar una multitud de tareas: Realizar complejos cálculos matemáticos, reproducir una melodía, etc.
4) Una computadora es un dispositivo electrónico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos.
COMPONENTES DE UNA COMPUTADORA
Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.
Hardware
Llamamos Hardware a la parte física de la computadora; corresponde a las partes que podamos percibir con el sentido del tacto. En español la traducción más cercana es la de “soporte físico”. El hardware que compone a una computadora es muy complejo, pues una pequeña pieza puede contener millones de transistores. 
 Software
Para que el ordenador trabaje se necesita que le suministren una serie de instrucciones que le indiquen qué es lo que queremos que haga. Estas órdenes se le suministran por medio de programas. El software está compuesto por todos aquellos programas necesarios para que el ordenador funcione apropiadamente. El software dirige de forma adecuada a los elementos físicos o hardware.
LAS PARTES DEL HARDWARE
El Hardware esta compuesto por cinco unidades o secciones básicas: Entrada, Salida, CPU, Memoria y Almacenamiento Secundario. Estas unidades se describen a continuación:
Unidades de Entrada y Salida
Es la parte del ordenador que le sirve para comunicarse con el exterior; es decir, para recibir y emitir información. A las unidades de entrada y salida se le conoce también como periféricos:
El monitor nos muestra la información.
 
El Teclado y el Mouse sirven para introducir los datos a la computadora.
El lector de CD-ROM sirve para leer la información almacenada en un CD.
Mediante la impresora se obtiene una versión en papel de la información procesada por la computadora.
Los parlantes sirven para escuchar los sonidos que emite la computadora a través de una tarjeta de sonido.
Unidad Central de Procesamiento (CPU)
La unidad central de proceso o CPU es la parte más importante de un ordenador. Esta unidad se encarga de realizar las tareas fundamentales y es por ello el elemento principal de un sistema computarizado. Si hacemos un símil entre un ordenador y el cuerpo humano, la CPU haría el papel del cerebro: atender las solicitudes, mandar y hacer controlar la ejecución.
Un microprocesador es un circuito integrado o chip que contiene a la CPU. Su tamaño es algo menor que el de una caja de cerillos.
La unidad central de procesamiento se divide en dos partes: una parte en la en la que se realizan las operaciones aritméticas y lógicas (unidad aritmético-lógica) y otra parte que controla todo los proceso de ejecución (unidad de control) en la computadora.
La unidad de control dirige todas las actividades del ordenador. Actúa como el corazón del sistema, enviando impulsos eléctricos (señales de control) para secuenciar (poner en orden) y sincronizar (establecer tiempos sucesivos de ejecución) el funcionamiento de los componentes restantes.
Unidad de Memoria
La Memoria Principal o Memoria Central es el dispositivo que sirve para almacenar los programas (instrucciones) que se quieran ejecutar (cuando haya que cargar el programa) y para almacenar los datos, los cálculos intermedios y los resultados (cuando el programa ya se esté ejecutando). Sólo los datos almacenados en la memoria son procesables por la CPU. Los datos que estén contenidos en algún dispositivo de almacenamiento externo deben ser previamente introducidos a la memoria, por medio de una unidad periférica. Dentro de la memoria principal, existen dos divisiones en función de las posibilidades de lectura/escritura o solamente lectura: RAM y ROM.
Memoria RAM (Random Access Memory)
Es la memoria destinada a contener los programas cambiantes del usuario y los datos que se vayan necesitando durante la ejecución de dichos programas. Es la memoria flexible y reutilizable. La memoria RAM se llama también memoria de usuario, por ser la memoria con la que trabaja el sistema para ejecutar los programas. Cuando se hace referencia a la capacidad de memoria de un ordenador se está hablando de la memoria RAM del sistema.
Memoria ROM (Read Only Memory) 
Memoria de solo lectura, llamada también memoria residente o permanente. Son memorias que sólo permiten la lectura y no pueden ser re-escritas. Su contenido viene grabado por el fabricante de la computadora y no puede ser cambiado. Debido a estascaracterísticas es que esta memoria se usa para almacenar información vital para el funcionamiento del sistema. La gestión del proceso de arranque, la verificación inicial del sistema, la carga del sistema operativo y diversas rutinas de control de dispositivos de entrada/salida suelen ser las tareas encargadas a los programas grabados en ROM. Los programas que constituyen la información vital de una computadora forman la llamada BIOS (Basic Input Output System).
Unidad de Almacenamiento Secundario
Esta es el almacén de largo plazo y de alta capacidad de la computadora. Los programas y datos que no están siendo utilizados por las otras unidades normalmente se colocan en dispositivos de almacenamiento secundario hasta que necesiten, posiblemente horas, días, meses o incluso años después. Ejemplo: Disco duro.
 
EL SOFTWARE
El ordenador, por sí mismo, no puede realizar ninguna función; es necesario que algo le dirija y organice. Este "algo" son las instrucciones que el programador escribe. Estas instrucciones, agrupadas en forma de programas que son depositados en la memoria del ordenador, forman lo que se denomina "software". El software es el nexo de unión entre el hardware y el hombre. 
Tal y como hemos definido el software, éste es un conjunto de programas. La pregunta ahora es: ¿Qué es un programa? Un programa es una secuencia de instrucciones que pueden ser interpretadas por un ordenador, obteniendo como fruto de esa interpretación un determinado resultado.
Podemos clasificar en software en dos grandes grupos: software de sistema (Sistema Operativo) y software de aplicación.
Software del Sistema o Sistema Operativo
 El sistema operativo es aquel conjunto de programas cuyo objeto es facilitar el uso eficiente de la computadora. Este conjunto de programas administra los recursos del sistema (hardware).
El sistema operativo se puede dividir en programas de control y programas de servicio. Los programas de control son los que van orientados a facilitar, automatizar y mejorar el rendimiento de los procesos en el ordenador (simultaneidad de operación de periféricos, tratamiento de errores, etc.); como ejemplo se tiene al administrador de tareas de windows. Los programas de servicio o de proceso son los que van orientados a proporcionar facilidades de comunicación con el usuario (Ejemplo: aplicaciones como el explorador de windows)
Software de Aplicación
El software de aplicación está constituido por aquello programas que hacen que el ordenador coopere con el usuario en la realización de tareas típicamente humanas, tales como gestionar una contabilidad, escribir un texto, hacer gráficos y diagramas, realizar cálculos repetitivos, etc. Algunos ejemplos de software de aplicación son: procesadores de texto (Word), hojas de cálculo (Excel), sistemas de bases de datos (Access), etc.
La diferencia principal entre los programas de aplicación y el sistema operativo estriba en que los del sistema operativo suponen una ayuda al usuario para relacionarse con el ordenador y hacer un uso más cómodo del mismo, mientras que los de aplicación son programas que cooperan con el usuario para la realización de tareas que anteriormente habían de ser llevadas a cabo únicamente por el hombre (sin ayuda de ordenador). Es en estos programas de aplicación donde se aprecia de forma más clara la ayuda que puede suponer un ordenador en las actividades humanas, ya que la máquina se convierte en un auxiliar del hombre, liberándole de las tareas repetitivas.
LENGUAJES
Lenguaje es el empleo de notaciones, señales y vocales (voz, palabras) para expresar ideas, comunicarse, y establecer relaciones entre los seres humanos. Un lenguaje no sólo consta de “palabras”, sino también de su pronunciación y los métodos para combinar las palabras en frases y oraciones; los lenguajes se forman mediante combinaciones de palabras definidas en un diccionario terminológico previamente establecido. Las combinaciones posibles deben respetar un conjunto de reglas sintácticas establecidas, a ello se le conoce con el nombre de Sintaxis. Además, las palabras deben tener determinado sentido, deben ser comprendidas por un grupo humano en un contexto dado, a ello se le denomina Semántica.
TIPOS DE LENGUAJES
Aunque existen muchas clasificaciones, en general se puede distinguir entre dos clases de lenguajes: los lenguajes naturales (ingles, alemán, español, etc.) y los lenguajes artificiales o formales (matemático, lógico, computacional, etc.). Tanto el lenguaje natural como el lenguaje artificial son humanos. El primero es natural porque se aprende (o adquiere) inconsciente e involuntariamente. Ningún bebé decide aprender o no la lengua que hablan sus padres, y ningún padre sienta a su hijo y le enseña las reglas sintácticas de su lengua. Las personas hablan y se entienden, pero generalmente no se cuestionan las reglas que utilizan al hablar. Por otra parte, los lenguajes artificiales sí se aprenden de manera voluntaria y conscientemente. Un ejemplo de lenguaje artificial son los lenguajes de programación utilizados para desarrollar programas informáticos. 
TIPOS DE LENGUAJES
Un Lenguaje de Programación es un conjunto de reglas, notaciones, símbolos y/o caracteres que permiten a un programador poder expresar el procesamiento de datos y sus estructuras en la computadora. Cada lenguaje posee sus propias sintaxis. También se puede decir que un programa es un conjunto de órdenes o instrucciones que resuelven un problema específico basado en un Lenguaje de Programación. 
Existen varias clasificaciones para los lenguajes de programación.
Clasificación de los Lenguajes de Programación
Los programadores escriben instrucciones en diversos lenguajes de programación. La computadora puede entender directamente algunos de ellos, pero otros requieren pasos de traducción intermedios. Hoy día se utilizan cientos de lenguajes de computadora.
Los Lenguajes de Programación pueden clasificarse de acuerdo con su uso en:
Lenguajes desarrollados para el cálculo numérico. Tales como FORTRAN, Mathematica y Matlab.
Lenguajes para sistemas. Como C, C++ y ensamblador.
Lenguajes para aplicaciones de Inteligencia Artificial. Tales como Prolog, y Lisp.
También se pueden clasificar de acuerdo con el tipo de instrucciones de que constan. En esta clasificación se tiene al lenguaje máquina, al lenguaje ensamblador y al lenguaje de alto nivel. Se presenta a continuación una descripción de cada uno de ellos.
Lenguaje máquina (Binario)
Una computadora sólo puede entender el lenguaje máquina. El  lenguaje de máquina ordena a la computadora realizar sus operaciones fundamentales una por una. Dicho lenguaje es difícil de usar para lar persona porque trabajar con números no es muy cómodo además de que estos números están en formato binario. 
Lenguajes de bajo nivel (ensamblador)
Para facilitar y agilizar su labor a los programadores, se buscaron nuevos lenguajes. Cuando abstraemos los opcodes y los sustituimos por una palabra que sea una clave de su significado, se tiene el concepto de Lenguaje Ensamblador. Así, el lenguaje ensamblador representa las acciones del ordenador mediante pequeñas abreviaturas de palabras en inglés. Podemos entonces definir al Lenguaje Ensamblador de la siguiente forma: 
Lenguaje Ensamblador consiste en asociar a los opcodes palabras clave que faciliten su uso por parte del programador
No obstante, el lenguaje ensamblador requiere de muchas instrucciones para realizar simples operaciones.
Lenguajes de alto nivel
Para acelerar aun más el proceso de programación se desarrollaron los lenguajes de alto nivel, en los que se puede escribir un sólo enunciado para realizar tareas sustanciales. Los lenguajes de alto nivel permiten a los programadores escribir instrucciones que asemejan al inglés cotidiano y contiene notaciones matemáticas de uso común. El concepto de lenguaje de alto nivel nació con el lenguaje FORTRAN (FORmula TRANslation) que, como su nombre indica, surgió comoun intento de traducir fórmulas matemáticas al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de FORTRAN, se han desarrollado innumerables lenguajes que siguen el mismo concepto: buscar la mayor abstracción posible y facilitar la vida al programador, aumentando la productividad.
EJEMPLOS DE TIPOS DE LENGUAJES
Lenguaje Máquina
100001010101010
100100101010100
100011100101110
Lenguaje de Nivel Bajo (Ensamblador)
LOAD R1, (B)
LOAD R2, (C)
ADD R1, R2
STORE (A), R1
Lenguaje de Alto Nivel 
A = B + C;
HISTORIA DE LOS LENGUAJES DE PROGRAMACION
Se presentan a continuación datos relevantes de algunos de los lenguajes de programación de mayor importancia histórica.
FORTRAN
FORTRAN es el más viejo de los lenguajes de alto nivel. Fue diseñado por IBM en 1950. El idioma se hizo tan popular en los 60´s que otros desarrolladores empezaron a producir sus propias versiones y esto llevó a una gran cantidad de dialectos (en 1963 había 40 compiladores de FORTRAN diferentes). En 1972 se creó FORTRAN66, como una forma de estandarizar la estructura del lenguaje. Luego, en 1980, se estableció una norma oficial para el lenguaje avalada por la Organización de Normas Internacionales (ISO). Tal versión es normalmente conocida como FORTRAN 77 (dado que el proyecto final se completó en 1977). En 1991 surge FORTRAN90, un desarrollo mayor del idioma pero que incluye todos los elementos de FORTRAN77 para facilitar la compatibilidad. Finalmente, en 1997, surge FORTRAN95 o High Performance Fortran (HPF). 
BASIC
BASIC es la abreviación de Beginners All-purpose Symbolic Instruction Code. Basic fue desarrollado en la Universidad de Dartmouth en 1964 bajo la dirección de J. Kemeny y T. Kurtz. Surgió como un idioma simple de aprender y fácil de traducir. En los 70´s, cuando se creó la computadora personal Altair, Bill Gates y Paul Allen implementaron su propia versión de Basic en dicha computadora. Con ello comenzó el futuro de BASIC y de la PC. En ese tiempo, Gates era estudiante de Harvard y Allen era un empleado de Honeywell. La versión BASIC de Gates ocupaba un total de 4KB de memoria incluyendo el código y los datos que se usaron para el código fuente. Luego Gates implementó BASIC en otras plataformas (Apple, Comodor y Atari) y fue a partir de entonces que la corporación de Microsoft empezó su reinado en el mundo de las PC. Más tarde en los 70’s, surgió el sistema operativo MS-DOS de Bill Gates que incluía un intérprete de BASIC. La versión distribuida con MS-DOS era GW-BASIC y podía ser ejecutada en cualquier máquina que pudiera ejecutar DOS.
C
El lenguaje C reúne características de programación tanto de los lenguajes ensambladores como de los lenguajes de alto nivel; este lenguaje posee gran poderío basado en sus operaciones a nivel de bits (propias de ensambladores) y la mayoría de los elementos de la programación estructurada de los lenguajes de alto nivel. Por ello es que C ha sido el lenguaje preferido para el desarrollo de software de sistemas y aplicaciones profesionales de la programación de computadoras. 
En 1970 Ken Thompson de los laboratorios Bell creó la primera versión del lenguaje, la cual podía ejecutarse en el sistema operativo UNIX; a este lenguaje se le llamó lenguaje B y tenía la desventaja de ser lento. En 1971 Dennis Ritchie, con base en el lenguaje B, desarrolló NB que luego cambió su nombre por C. Su diseño incluyó una sintaxis simplificada, la aritmética de direcciones de memoria (permite al programador manipular bits, bytes y direcciones de memoria) y el concepto de apuntador. Además, al ser diseñado para mejorar software de sistemas, se buscó que generase códigos eficientes y uno portabilidad total, es decir el que pudiese correr en cualquier máquina. Logrados los objetivos anteriores, C se convirtió en el lenguaje preferido de los programadores profesionales. 
C++
En 1980 Bjarne Stroustrup, también de los laboratorios Bell, adicionó al lenguaje C las características de la programación orientada a objetos (incluyendo la ventaja de una biblioteca de funciones orientada a objetos) y lo denominó C con clases. Para 1983 dicha denominación cambió a la de C++.
MATLAB
Cleve Moler escribió el MATLAB original en FORTRAN, durante varios años. Los algoritmos matriciales subyacentes fueron proporcionados por los muchos integrantes de los proyectos LINPACK y EISPACK. El MATLAB actual fue escrito en C por The Mathworks. La primera versión fue escrita por: 
Steve Bangert, que escribió el intérprete parser 
Steve Kleiman que implementó los gráficos 
John Little y Cleve Moler que escribieron las rutinas de análisis, la guía de usuario y la mayoría de los ficheros .m. 
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices") es un software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows y Apple Mac OS X.
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.
CODIGO ASCII
Existe una equivalencia en informática entre los números naturales entre 0 y 255 (posibles valores de un byte) y los caracteres, de forma que a cada número le corresponde una letra, símbolo o código. La equivalencia más utilizada es la tabla ASCII (American Standard Code for Information Interchange). Cada caracter (por ejemplo la letra A) tiene asignado un número por el ordenador de forma que podemos referenciarlo mediante dicho número. Por ejemplo, la letra A tiene por código de identificación el número 65, la B el 66, el 2 el 50, etc. Se proporciona aquí una copia de esta tabla para su referencia.
Para obtener un carácter a través del teclado, presione la tecla Alt y, simultáneamente (sin soltar la tecla), presione el número de código correspondiente.
	32
	
	
	77
	M
	
	122
	z
	
	167
	º
	
	212
	╘
	33
	!
	
	78
	N
	
	123
	{
	
	168
	¿
	
	213
	╒
	34
	“
	
	79
	O
	
	124
	|
	
	169
	¬
	
	214
	╓
	35
	#
	
	80
	P
	
	125
	}
	
	170
	¬
	
	215
	╫
	36
	$
	
	81
	Q
	
	126
	~
	
	171
	½
	
	216
	╪
	37
	%
	
	82
	R
	
	127
	-
	
	172
	¼
	
	217
	┘
	38
	&
	
	83
	S
	
	128
	Ç
	
	173
	¡
	
	218
	┌
	39
	'
	
	84
	T
	
	129
	ü
	
	174
	«
	
	219
	█
	40
	(
	
	85
	U
	
	130
	é
	
	175
	»
	
	220
	▄
	41
	)
	
	86
	V
	
	131
	â
	
	176
	░
	
	221
	▌
	42
	*
	
	87
	W
	
	132
	ä
	
	177
	▒
	
	222
	▐
	43
	+
	
	88
	X
	
	133
	à
	
	178
	▓
	
	223
	▄
	44
	,
	
	89
	Y
	
	134
	å
	
	179
	│
	
	224
	α
	45
	-
	
	90
	Z
	
	135
	ç
	
	180
	┤
	
	225
	ß
	46
	.
	
	91
	[
	
	136
	ê
	
	181
	╡
	
	226
	Γ
	47
	/
	
	92
	\
	
	137
	ë
	
	182
	╢
	
	227
	π
	48
	0
	
	93
	]
	
	138
	è
	
	183
	╖
	
	228
	Σ
	49
	1
	
	94
	^
	
	139
	ï
	
	184
	╕
	
	229
	σ
	50
	2
	
	95
	_
	
	140
	î
	
	185
	╣
	
	230
	μ
	51
	3
	
	96
	`
	
	141
	ì
	
	186
	║
	
	231
	τ
	52
	4
	
	97
	a
	
	142
	Ä
	
	187
	╗
	
	232
	Φ
	53
	5
	
	98
	b
	
	143
	Å
	
	188
	╝
	
	233
	θ
	54
	6
	
	99
	c
	
	144
	É
	
	189
	╜
	
	234Ω
	55
	7
	
	100
	d
	
	145
	æ
	
	190
	╛
	
	235
	δ
	56
	8
	
	101
	e
	
	146
	Æ
	
	191
	┐
	
	236
	∞
	57
	9
	
	102
	f
	
	147
	ô
	
	192
	└
	
	237
	Ǿ
	58
	:
	
	103
	g
	
	148
	ö
	
	193
	┴
	
	238
	ε
	59
	;
	
	104
	h
	
	149
	ò
	
	194
	┬
	
	239
	∩
	60
	<
	
	105
	i
	
	150
	û
	
	195
	├
	
	240
	≡
	61
	=
	
	106
	j
	
	151
	ù
	
	196
	─
	
	241
	±
	62
	>
	
	107
	k
	
	152
	ÿ
	
	197
	┼
	
	242
	≥
	63
	?
	
	108
	l
	
	153
	Ö
	
	198
	╞
	
	243
	≤
	64
	@
	
	109
	m
	
	154
	Ü
	
	199
	╟
	
	244
	⌠
	65
	A
	
	110
	n
	
	155
	¢
	
	200
	╚
	
	245
	⌡
	66
	B
	
	111
	o
	
	156
	£
	
	201
	╔
	
	246
	÷
	67
	C
	
	112
	p
	
	157
	¥
	
	202
	╩
	
	247
	≈
	68
	D
	
	113
	q
	
	158
	Pt
	
	203
	╦
	
	248
	°
	69
	E
	
	114
	r
	
	159
	ƒ
	
	204
	 ╠
	
	249
	·
	70
	F
	
	115
	s
	
	160
	á
	
	205
	═
	
	250
	·
	71
	G
	
	116
	t
	
	161
	í
	
	206
	╬
	
	251
	√
	72
	H
	
	117
	u
	
	162
	ó
	
	207
	╧
	
	252
	N
	73
	I
	
	118
	v
	
	163
	ú
	
	208
	╨
	
	253
	²
	74
	J
	
	119
	w
	
	164
	ñ
	
	209
	╤
	
	254
	■
	75
	K
	
	120
	x
	
	165
	Ñ
	
	210
	╥
	
	
	
	76
	L
	
	121
	y
	
	166
	ª
	
	211
	╙
	
	
	
Note que los códigos entre 0 y 31 son caracteres de control y se suelen llamar "no imprimibles", pues su equivalencia no es un caracter sino una determinada acción. Por ejemplo, el código 13 es equivalente a la pulsación de ENTER. Brevemente, los más interesantes son: 
	código
	equivale 
	código
	equivale 
	07
	beep (pitido del altavoz del PC) 
	27
	ESC (tecla escape)
	08
	Backspace
	28 
	cursor a la derecha
	09
	Tab (tabulación) 
	29
	cursor a la izquierda
	10
	line feed (avance de línea) 
	30
	cursor arriba
	13
	CR (retorno de carro)
	31
	cursor abajo
NOTA:
Los códigos ASCII a partir del 127 son definibles y dependen de cada máquina. Los representados aquí corresponden con los que son imprimibles desde HTML. En una IBM PC en MS-DOS, por ejemplo, estos códigos pueden ser distintos a los aquí representados.
EJERCICIOS PROPUESTOS
Destapar una computadora usada y describir sus partes principales.
Hacer un diagrama de árbol y describir los tipos de programas (software) que actualmente se vienen usando en el centro de computo de la F.I.Q.
Hacer una decripción de los periféricos de un equipo de computo.
Describa el Sistema Operativo instalado en las PC del centro de cómputo de la FIQ?
¿Que es Software libre?
¿El Hardware puede funcionar sin el Software?
Describa la utilidad de un Sistema Operatvo
¿En una PC puede instalarse 2 sistemas operativos?
Si en mi teclado no encuentro un símbolo, ¿como puedo obtenerlo?
 Decriba 2 unidades de almacenamiento secundario.
EVALUACIÓN
Cuales son las partes principales de una computadora?
Describa los principales lenguajes de programación
Hacer una decripción de los periféricos de un equipo de computo.
Describa el Sistema Operativo LINUX.
¿Describa el sistema operativo que tienen las computadoras del centro de computo dela FIQ.
¿En que tipo de memoria se almacenan cuando se realiza un trabajo en una computadora? Describa.
Describa la utilidad de los antivirus
¿Que diferencia existe entre un Sistema Operativo, un procesador de textos y un lenguaje de programación?
¿Cuál es la utilidad que tienen los códigos ASCCI?
¿Cuál es la unidad de almacenamiento que utiliza?
Bibliografía Referencial
Chapra, Steven Métodos Numéricos para Ingenieros. Editorial Mc. Graw Hill. México. 2004.
Nakamura, Shoichiro Analisis Numérico y Visualización con Matlab. Editorial Prentice may. México. 1997.
Morales Marchena, Herón. Métodos numéricos y Visualización Gráfica Editorial Megabit. Peru. 2005.
Perez, Cesar Matlab y sus Aplicaciones en las Ciencias y la Ingeniería Editores Prentice. España. 2002 .
Vasquez Paragulla, Julio “Diseño de Programación “ Edit. San Marcos – PERU . 2000.
KERLINGER, F. N. Y LEE, H. B. Investigación del Comportamiento: Métodos de Investigación en ciencias sociales. Mc Graw Hill Interamericana Editores. México. 2002.
CAPITULO II
ALGORITMOS Y DIAGRAMAS DE FLUJO
OBJETIVOS: Explicar los algoritmos y diagramas de flujo como parte de un proceso de programación para cualquier lenguaje de programación.
CONTENIDOS: Pasos para resolver un problema, algoritmos, digramas de flujos.
PASOS PARA LA SOLUCION DE PROBLEMAS
El proceso de resolución de un problema con una computadora conduce a la escritura de un programa y a su ejecución en la misma. Aunque el proceso de diseñar programas es esencialmente un proceso creativo, se pueden considerar también como una serie de fases o pasos comunes que generalmente deben seguir todos los programadores.
Las siguientes son las etapas que se deben cumplir para resolver con éxito un problema de programación:
Definición del problema 
Análisis del problema 
Selección de la mejor alternativa 
Crear Diagrama de Flujo
Codificación 
Compilación 
Pruebas
Documentación externa
Definición del Problema
Está dada por el enunciado del problema, el cual debe ser claro y completo. Es importante que conozcamos exactamente que se desea de la computadora; mientras que esto no se comprenda no tiene caso pasar a la siguiente etapa.
Análisis del Problema
Entendido el problema (que se desea obtener de la computadora), para resolverlo es preciso analizar: 
Los datos o resultados que se esperan. 
Los datos de entrada que se deben suministrar. 
El proceso al que se requiere someter dichos datos a fin de obtener los resultados esperados. 
Fórmulas, ecuaciones y otros recursos necesarios. 
Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora, y analizar que es necesario que me ordenen y en que secuencia para poder producir los resultados esperados.
Selección de la Mejor Alternativa 
Analizado el problema posiblemente tengamos varias formas de resolverlo; lo importante es determinar cual es la mejor alternativa. Esto es, la que produce los resultados esperados en el menor tiempo y al menor costo.
Crear Diagrama de Flujo
Una vez que sabemos como resolver el problema, pasamos a dibujar gráficamente la lógica de la alternativa seleccionada. Eso es precisamente un Diagrama de Flujo: la representación gráfica de una secuencia lógica de pasos a cumplir por la computadora para producir un resultado esperado. 
La experiencia nos ha demostrado que resulta muy útil trasladar esos pasos lógicos planteados en el diagrama a frases que indiquen lo mismo; es decir, hacer una codificación del programa pero utilizando instrucciones en Español, como si le estuviéramos hablando a la computadora. Esto es lo que se denomina Pseudocódigo. Cuando logremos habilidad para desarrollar programas, es posible que no sea necesario elaborar ni el diagrama de flujo ni el pseudocódigo del programa.
Codificación
Una vez que hayamos elaborado el diagrama, codificamos el programa en el lenguaje de programación seleccionado. Esto es, colocamos cada paso del diagrama en una instrucción o sentencia utilizando un lenguaje que la computadora reconoce. Este programa es el que se conoce como Código Fuente (Source Code).
Todos los lenguajes de programación proveen facilidades para incluir líneas de comentarios en los programas. Estos comentarios aclaran lo que se ordena a la computadora y facilitan la compresión del programa. Puesto que estos comentarios no se toman cuenta como instrucciones y aparecen en los listados del programa, resulta muy conveniente agregar abundantes comentarios a todo programa que codifiquemos. Esto es lo que se denomina Documentación Interna. 
Compilación
Utilizamos ahora un programa Compilador, el cual analiza todo el programa fuente y detectaerrores de sintaxis ocasionados por fallas en la codificación. Las fallas de lógica que pueda tener nuestro programa fuente no son detectadas por el compilador. Cuando no hay errores graves en la compilación, el compilador traduce cada instrucción del código fuente a instrucciones propias de la máquina (Lenguaje de Maquina), creando el Programa Objeto. Cuando hay errores, éstos se deben corregir sobre el mismo programa fuente. El paso de compilación se repite hasta eliminar todos los errores y obtener el programa ejecutable.
Pruebas
Cuando tenemos el programa ejecutable (en lenguaje de maquina) ordenamos al computador que lo ejecute, para lo cual suministramos datos de prueba. Los resultados obtenidos se analizan para identificar cualquiera de las siguientes situaciones: 
La lógica del programa esta bien, pero hay errores sencillos, los cuales se corrigen modificando algunas instrucciones o incluyendo unas nuevas; el proceso debemos repetirlo desde el paso 5. 
Hay errores muy graves ocasionados por fallas en la lógica, y lo más aconsejable es que regresemos al paso 2 para analizar nuevamente el problema y repetir todo el proceso. 
No hay errores y los resultados son los esperados. En este caso, el programa lo podemos guardar permanentemente para usarlo cuando necesitemos ejecutarlo nuevamente.
Documentación Externa
Cuando el programa ya se tiene listo para ejecutar, es conveniente que hagamos su documentación externa. Una buena documentación externa incluiría, por ejemplo: 
Enunciado del problema 
Narrativo con la descripción de la solución 
Descripción de las variables utilizadas en el programa, cada una con su respectiva función 
Resultados de la ejecución del programa
ALGORITMOS Y DIAGRAMAS DE FLUJO
Algoritmo
Un algoritmo es un conjunto de acciones que determinan la secuencia de los pasos a seguir para resolver un problema específico. Sus pasos deben estar definidos con precisión de forma que no existan ambigüedades que den origen a elegir una opción equivocada. Los algoritmos son finitos; es decir, su ejecución termina en un número determinado de pasos. La mayoría de los algoritmos de utilidad al programador poseen 3 partes principales:
Los algoritmos pueden representarse a través de un conjunto de palabras por medio de las cuales se puede representar la lógica de un programa. Este conjunto de palabras constituyen lo que se conoce como pseudocódigo. Además, los algoritmos se pueden representar gráficamente a través de un diagrama de flujo. Ambas herramientas se describen a continuación.
Diagramas de flujo
Un diagrama de flujo es una representación gráfica de un algoritmo o de una parte del mismo. La ventaja de utilizar un diagrama de flujo es que se le puede construir independientemente del lenguaje de programación, pues al momento de llevarlo a código se puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, óvalos, pequeños círculos, etc.; estos símbolos están conectados entre sí por flechas conocidas como líneas de flujo. A continuación se presentan estos símbolos y su significado.
Símbolos y su Significado
	Terminal. Representa el inicio y fin de un programa. 
	Proceso. Son acciones que el programa tiene que realizar 
	Decisión. Indica operaciones lógicas o de comparación.
	Entrada. Nos permite ingresar datos.
	Salida. Es usado para indicar salida de resultados 
		Selector múltiple. Representa una decisión con múltiples alternativas.
	Conector. Enlaza dos partes cualesquiera de un programa 
	Línea de flujo. Indica dirección de flujo del diagrama. Las flechas de flujo no deben cruzarse. Los diagramas se leen de arriba hacia abajo y de izquierda a derecha. 
	Conector fuera de página. Representa conexión entre partes del algoritmo representadas en páginas diferentes.
Pseudocódigo
A continuación se muestran algunos ejemplos de palabras utilizadas para construir algoritmos en pseudocódigo. 
 
	PALABRA
	UTILIZACIÓN
	ABRE
	Abre un archivo
	CASO
	Selección entre múltiples alternativas
	CIERRA
	Cierra un archivo
	ENTONCES 
	Complemento de la selección SI - ENTONCES
	ESCRIBE
	Visualiza un dato en pantalla
	FIN
	Finaliza un bloque de instrucciones
	HASTA
	Cierra la iteración HAZ – HASTA
	HAZ
	Inicia la iteración HAZ – HASTA
	INICIO
	Inicia un bloque de instrucciones
	LEER
	Leer un dato del teclado
	MIENTRAS 
	Inicia la iteración mientras 
	NO
	Niega la condición que le sigue
	O
	Disyunción lógica
	O - BIEN
	Complemento opcional de la selección SI - ENTONCES
	PARA
	Inicia un número fijo de iteraciones
	SI
	Inicia la selección SI-ENTONCES 
	USUAL
	Opcional en la instrucción CASO 
	Y
	Conjunción lógica
	{
	Inicio de comentario 
	}
	Fin de comentario 
	<=
	Asignación 
 
PROGRAMACION ESTRUCTURADA
La programación estructurada es un estilo con el cual el se busca que el programador elabore programas sencillos y fáciles de entender. Para ello, la programación estructurada hace uso de tres estructuras básicas de control. Éstas son: 
 Estructura Secuencial
 Estructura Selectiva
 Estructura Repetitiva (ó Iterativa)
La programación estructurada se basa un teorema fundamental, el cual afirma que cualquier programa, no importa el tipo de trabajo que ejecute, puede ser elaborado utilizando únicamente las tres estructuras básicas (secuencia, selección, iteración).
DEFINICION DE LAS TRES ESTRUCTURAS BASICAS
Estructura Secuencial 
Indica que las instrucciones de un programa se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa. Se representa gráficamente como una caja después de otra, ambas con una sola entrada y una única salida. 
Las cajas A y B pueden ser definidas para ejecutar desde una simple instrucción hasta un módulo o programa completo, siempre y cuando éstos también sean programas apropiados.
Estructura Selectiva 
También conocida como la estructura SI-VERDADERO-FALSO, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición; equivale a la instrucción IF de todos los lenguajes de programación y se representa gráficamente de la siguiente manera:
En el diagrama de flujo anterior, C es una condición que se evalúa; A es la acción que se ejecuta cuando la evaluación de esta condición resulta verdadera y B es la acción ejecutada cuando el resultado de la evaluación indica falso. La estructura también tiene una sola entrada y una sola salida; y las funciones A y B también pueden ser cualquier estructura básica o conjunto de estructuras.
Estructura Repetitiva (Iterativa) 
También llamada la estructura HACER-MIENTRAS-QUE, corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición. El diagrama de flujo para esta estructura es el siguiente:
Aquí el bloque A se ejecuta repetidamente mientras que la condición C se cumpla o sea cierta. También tiene una sola entrada y una sola salida; igualmente A puede ser cualquier estructura básica o conjunto de estructuras.
 
Ventajas de la Programación Estructurada 
Con la programación estructurada, elaborar programas de computadora sigue siendo una labor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas: 
Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación.
Se logra una reducción del esfuerzo en las pruebas. El seguimiento de las fallas o depuración (debugging) se facilita debido a la lógica más visible, de tal forma que los errores se pueden detectar y corregir más fácilmente. 
Se crean programas más sencillos y más rápidos. 
EJEMPLOS ILUSTRATIVOS
Estructura Secuencial
Calcularel área de un rectángulo a partir de su altura y su base
Estructura Selectiva
Convertir calificaciones numéricas (0 al 10) a calificaciones de “Aprobado” ó “Reprobado”, siendo 7.0 la calificación mínima aprobatoria.
Estructura Repetitiva (Iterativa)
Calcular el factorial de un número entero positivo
Realizar un diagrama de flujo para calcular las raíces de una ecuación de segundo grado.
EJERCICIOS PROPUESTOS
Realizar un diagrama de flujo que te permita convertir una cantidad dada en metros a pies y pulgadas.
Realizar un diagrama de flujo que te permita ingresar tres números y ordenarlos ascendentemente
Realizar un diagrama de flujo que te permita multiplicar entre sí todos los números enteros entre n (el menor) y m (incluyéndolos) si tales números están dados.
 Ingresar por teclado el Ph (entre 0 y 14) y determinar de que tipo de Ph se trata (ácido, básico o neutro).
 Realizar un diagrama de flujo para determinar si un número es primo o nó.
Realizar un diagrama de flujo para determinar si número es perfecto.
EVALUACIÓN
Dado la ecuación de un movil X=5t3 + 10t2 – 10t, hacer el diagrama de flujo para obtener el espacio recorrido, la velocidad y la aceleración para los 10 primeros segundos de su recorrido.
Realizar un diagrama de flujo para calcular el promedio aritmético de cuatro notas, si el promedio es menor que 10.5 imprimir el promedio y “desaprobado” , caso contrario imprimir el promedio y “aprobado”.
Realizar un digrama de flujo para determinar cuantos números múltiplos de M hay en los N primeros números naturales , talque M sea menor o igual que N. Ejemplo. Cuantos múltiplos de 3 hay en los primeros 20 números naturales.
Bibliografía
Chapra, Steven Métodos Numéricos para Ingenieros. Editorial Mc. Graw Hill. México. 2004.
Morales Marchena, Herón. Métodos numéricos y Visualización Gráfica Editorial Megabit. Peru. 2005.
Perez, Cesar Matlab y sus Aplicaciones en las Ciencias y la Ingeniería Editores Prentice. España. 2002 .
KERLINGER, F. N. Y LEE, H. B. Investigación del Comportamiento: Métodos de Investigación en ciencias sociales. Mc Graw Hill Interamericana Editores. México. 2002.
CAPITULO III
OPERACIONES MATEMÁTICAS CON MATLAB
OBJETIVOS: El participante manejará el Matlab para la obtención de soluciones puntuales de problemas matemáticos.
CONTENIDOS: Operaciones algebraicas, formatos de visualización, funciones matemáticas, números complejos, matrices y arreglos
Operaciones Algebraicas
De la misma forma que una calculadora Matlab realiza matemáticas simples. Considere el siguiente ejemplo sencillo:
>> 4*5+6*22+2*99
Ans= 430
Como otra posible alternativa el calculo, se puede resolver almacenando informaciones en variables de matlab
>> A= 4;
>> B=2;
>>SUMA=A + B
SUMA = 6
El punto y coma al final de la línea, le dice a matlab que evalué la línea pero que no nos diga la respuesta. 
>> N1=12;
>> N2=14;
>>promedio=(N1+N2)/2
promedio = 13
>>3^2-5-6/3*2
>>3^2-5-6/(3*2)
OPERADORES ARITMETICOS Y LOGICOS
	OPERADOR
	FUNCION QUE CUMPLE
	+
	Suma de escalares, vectores o matrices
	-
	Resta de escalares, vectores o matrices
	*
	Producto de escalares o matrices
	.*
	Producto de escalares o de vectores 
	/
	Cociente escalar o B/A=B*inv(A), donde A y B son matrices
	./
	A./B=[A(i,j)/B(i,j)], donde A y B son vectores [dim(A)=dim(B)]
	^
	Potencia de escalares o potencia escalar de matriz (Mp)
	. ^
	Potencia de vectores (A.^B)=[A(i,j)B(i,j)],donde A y B son vectores
	- =
	
 a -= b Establece la condición de a b.
	>
	 a > b Establece la condicion de a mayor que b
	<
	 a < b Establece la condicion de a menor que b
	>=
	 a >= b Establece la condicion de a mayor o igual que b
	<=
	 a <= b Establece la condicion de a menor o igual que b
	
	
 a b Establece la disyuncion de a o b
	==
	 A == b Establece la condicion de a igual a b
Las operaciones matemáticas simples entre escalares y vectores aplican el escalar todos los elementos del vector según la operación definida y las operaciones simples entre vectores se realizan elemento a elemento, hay que tener presente que los vectores han de ser de la misma longitud. 
>>X=[4,2,6]; Y=[2,5,3];
>>a=X+Y
>>b=X-Y
>>c=X.*Y
Comandos de Ayuda
Help: Para saber el significado de un comando digite help, seguido del comando del cual se desea obtener informacion.
>>help quit
>>help + % nos permite visualizar caracteres y operadores especialesdel matlab.
>>what % produce una lista de archivo.
>>who % produce una lista de las variables del espacio de trabajo actual.
>>doc help % permite visualizar el documento de ayuda.
FUNCIONES BASICAS
Variables
En Matlab como en cualquier leguaje de programacion se utilizan variables, bajo ciertas reglas:
No pueden comenzar con un numero, aunque si pueden tener numeros en su estructura.
La mayusculas y minusculas se diferencian en los nombres de las variables.
Los nombres no pueden utilizar operadores ni punto. No es valido usar / * - + . ; : 
Una variable puede tener hasta 31 caracteres.
>>V=5;
>>v=2;
>>producto=V*v
La variable V valdrá 5 mientras no se le cambie su valor mediante una nueva asignación, una vez declarada la variable podemos utilizarla en los cálculos.
>>r=5;
>>area=2*pi*r
area = 31.4159
>>clear r % borra simplemente la variable r de la memoria de trabajo 
>>clear r area % borra ambos r y area. 
>>clear % borra todas las variables usadas de la memoria.
>>clc % limpia la informacion de la pantalla de comandos
Matlab tiene variables especiales que son las siguientes:
	Variables
	Valor
	Ans
	Nombre por defecto de las variables usada por los resultados 
	Pi
	Razón de una circunferencia a su diámetro 
	Eps
	Número mas pequeño tal que, cuando se le suma 1, crea un numero en coma flotante en el computador mayor que 1
	Inf
	Infinito, p. e.,1/0
	NaN
	Magnitud no numérica (Not-a-Number), p.e.,0/0
	i y j
	
Imaginario i = j =
	realmin
	El número real positivo más pequeño que es utilizable 2-1022
	Realmax
	El número real positivo más grande que es utilizable (2-e) 2 1023
Formatos de visualización de números
Es posible modificar el formato numérico por defecto especificando un formato numérico diferente usando la opción numerical format en el menú option o escribiendo la orden apropiada en matlab.
	Orden de matlab
	Comentarios
	Format short
	Visualización por defecto con 4 cifras decimales
	Format short e
	4 decimales + la potencia de 10 necesaria
	Format long
	Ofrece el resultado con 16 cifras decimales
	Format long e 
	16 decimales + la potencia de 10 necesaria
	Format hex 
	Hexadecimal
	Format bank
	2 dígitos decimales
	Format +
	Positivo, negativo o cero
	Format rat
	Aproximación racional
	vpa´operaciones´ n
	Ofrece el resultado con n digitos decimales exactos
	digits(n)
	Ofrece los resultados con n digitos exactos
Es importante observar que matlab no cambia la representación interna de un número cuando se escogen diferentes formatos; solo se modifica la visualización del número.
>>pi
ans =
 3.1416
>>format long
>>pi
ans =
3.14159265358979
>>170/13
>>format long; 174/13
>>format long e; 174/13
>>format short e; 174/13
>>format hex; 174/13
>>format bank; 174/13
>>format hex; 174/13
>>vpa ¨74/13¨ 10 % muestra el resultado con 10 digitos decimales exactos
>>digits(20);vpa ¨74/13¨ % muestra el resultado con 20 dígitos decimales exactos
Comando de lectura y escritura
input .- Permite el ingreso de datos al programa a travez del teclado asignandole a una variable, esta ordenpuede usarse con un mensaje en la linea de comandos.
>> x = input (' ');
>> n = input ('ingrese un numero:');
>> N = input ('ingrese un nombre:', 's') % s indica que la entrada que se hara por teclado es una cadena
fprintf .- Permite la visualizacion de un valor numerico o el resultado de una expresion guardada por el usuario.
>> vol = 50;
>> fprintf (' el volumen de la esfera es : %12.0f \n', vol);
\n' indica que la impresión de la variable vol sera en la siguiente linea.
%12.0f formato de un numero entero.
%12.5f formato de un numero real con 5 decimales.
disp .- Permite la visualizar en pantalla un mensaje de texto o el valor de una matriz, pero sin imprimir su nombre. En realidad, disp siempre imprime vectores y/o matrices, las cadenas de caracteres se consideran un caso particular de vectores.
>> disp (' Esto es una prueba ' );
>> disp ( pi );
>> disp (' Programa terminado ' );
>> A = rand(4,4)
>> disp ( A )
Funciones Matemáticas
Una lista parcial de las funciones comunes que posee Matlab se muestra en la tabla que sigue. la mayoría de estas funciones se utilizan de la misma forma en que ustedes las escribe matemáticamente:
>>a=3;
>>b=4;
>>hipot=sqrt(a^2+b^2)
hipot = 5
>>x=sqrt(2)/2
 x = 0.7071
>> y=asin (x)
 y = 0.7854
>> y_deg=y*180/pi
 y_deg= 45.0000
Estas ordenes encuentran el ángulo donde la función seno tiene un valor de /2
Mientras que su calculadora puede trabajar en grados o radianes, MATLAB solo opera en radianes, donde 2π radianes es igual a 360 grados.
>> y=sqrt(3^2+4^2) % muestra que 3-4-5 son lados de un triángulo rectángulo 
>> y=rem(23,4) % nos muestra el resto de 23/4
>>x=2.6, y1=fix(x), y2=floor(x), y3=ceil(x), y4=round(x)
 x = 2.6000
 y1 = 2
 y2 = 2
 y3 = 3
 y4 = 3
	Funciones Trigonometricas
	sin(x)
	Seno de x
	asin(x)
	Arco seno de x
	abs(x)
	Valor absoluto o magnitud de un numero complejo 
	sinh(x)
	Seno hiperbolico de x
	asính(x)
	Arcoseno hiperbolico de x
	cos(x)
	Coseno de x
	acos(x)
	Arcocoseno de x
	cosh(x)
	Coseno hiperbólico de x
	acosh(x)
	Arco coseno hiperbólico de x
	tan(x)
	Tangente de x
	atan(x)
	Arcotangente de x
	tanh(x)
	Tangente hiperbolico de x
	atanh(x)
	Arcotangente hiperbolico de x
	cot(x)
	Cotangente de x
	sec(x)
	Secante de x
	csc(x)
	Cosecante de x
>> x=[1,2,3 ; 9,8,7];
>> sin(x)
ans =
 0.8415 0.9093 0.1411
 0.4121 0.9894 0.6570
los corchetes se utilizan para definir una variable con multiples valores
>> x=[0.8, 0.9, 0.1; 0.8, 0.9, 0.1; 0.4, 0.9, 0.6];
>> z=asin(x)
>> y=sech(x)
	Otras Funciones Matematicas
	Abs(x)
	Valor absoluto de x
	sqrt(x)
	Ruiz cuadrada de x
	real(x)
	Parte real de un numero complejo x
	imag(x)
	Parte imaginaria de un numero complejo x
	sign(x)
	Función signo: devuelve el signo del argumento ,
p.e.,sign(1.2)=1, sing(-23.4)=-1, sing(0)=0 
	exp(x)
	Exponencial ex
	log(x)
	Logaritmo natural de x
	log10(x)
	Logaritmo decimal de x
	log2(x)
	Logaritmo en base 2 de x
	min(x)
	Devuelve el valor minimo de un arreglo x
	max(x)
	Devuelve el valor maximo de un arreglo x
	sort(x)
	Ordena elementos del arreglo x ascendentemente
	Sum(x)
	Suma de todos los elementos de un arreglo x
	Num2str(x)
	Convierte en cadena el numero x
	Str2double(x)
	Convierte en numero real la cadena x
	ceil(x)
	Redondea hacia mas infinito
	conj(x)
	Complejo conjugado 
	angle(x)
	Angulo de un numero complejo
	Fix(x)
	Redondea hacia cero
	floor(x)
	Redondea hacia menos infinito
	rem(x,y)
	Restos después de la división: rem (x,y) da resto de x/y
	round(x)
	Redondea hacia el entero mas próximo 
>> x=[-1,5,-3, - 9];
>> abs(x)
>> x=3 + 2i;
>> imag(x)
>> real(x)
>> x=[2,1,7, 0];
>> sort(x)
>> sort([2,1,7, 0]')
Números complejos
Para ilustrar los números complejos, considere la ecuación cuadrática ax2 +bx+c=0.
Los valores de x donde esta ecuación es cierta, i.e.. las raíces de estas ecuaciones vienen dadas por:
x1,x2 = 
si a=1, b=5 y c=6, la solución se puede encontrar utilizando MATLAB como:
>>a=1; b=5; c=6;
>>x1 =(-b+sqrt(b^2-4*a*c))/(2*a)
x1 =
 -3
>>x2 =(-b-sqrt(b^2-4*a*c))/(2*a)
x2 =
 -2
>>a*x1 ^2+b*x1 +c %sustituir x1 para comprobar respuesta 
ans=
 0
>>a*x2 ^2+b*x2 +c %sustituir x2 para comprobar la respuesta 
ans=
 0
Las dos últimas órdenes se utilizaron para confirmar los resultados. En este caso el termino de la raíz cuadrada es positivo y las dos raíces son números reales. Sin embargo, si a=1, b=4, c=13 las soluciones son:
 x1= -2+3
 x2= -2-3
El término no se puede simplificar más y como resultado de esto se dice que las soluciones son complejas. Los términos -2 en x1 y x2 son las partes real de la solución. Los términos 3 y -3 son las partes imaginarias de la soluciones.
>>a=1; b=4; c=13;
>>x1 =(-b+sqrt(b^2-4*a*c))/(2*a)
x1 =
 -2.0000 + 3.0000i
>>x2 =(-b-sqrt(b^2-4*a*c))/(2*a)
x2 =
 -2.0000 - 3.0000i
>>a*x1 ^2+b*x1 +c %sustituir x1 para comprobar respuesta
ans=
 0
>>a*x2 ^2+b*x2 +c %sustituir x2 para comprobar respuesta
ans=
 0
En ingeniería normalmente se asocia la letra j en lugar de la i con , se puede emplear también esta para representar la parte imaginaria. Ejemplos de los números complejos son:
>>c1=1-2i
>>c1=1-2j % j también funciona
>>c2=3*(2-sqrt(-1)*3)
>>c3=sqrt(-2)
>>c4=6+sin(.5)*i
>>c5=6+sin(.5)*j
 >>c6= (c1+c2)/c3 % de los datos anteriores
c6=
 -7.7782 -4.9497i
>>check_it_out=i^2 %¡sqrt(-1) al cuadrado debe ser -1!
Check_it_out=
 -1.0000 + 0.0000i
>>check_it_out=real(check_it_out) %muestra la parte real 
check_it_out=
 -1
En general, operaciones sobre números complejos conduce a números complejos. Así pues, incluso aunque i2 = -1 es estrictamente real, MATLAB mantiene la parte imaginaria igual a cero. Tal como se muestra en la, la función real, MATLAB extrae la parte real de un número complejo.
Funciones Reales
	Función
	Descripción
	eval(f)
	Evalúa una función en los valores de x.
	fplot(f, [a,b] )
	Grafica la función en el intervalo [a,b]
	fzero(f, a )
	Calcula la raiz de la función f, partiendo del valor a.
	trapz(x,f)
	Calcula el areá de la región plana limitada por f en el intervalo [a,b], donde a es el primer valor de x y b el último valor de x, x debe ser una variable con múltiples valores ordenados en orden creciente.
>>funcion= '3*x.^2-5';
>>x=[1 2 4];
>>eval(funcion)
ans = -2 7 43 
>>fplot(funcion,[0,4]); % grafica la función
>>z=fzero(funcion,2) % calcula la raiz partiendo de 2
ans = 1.2910
>> x=[0 0.2 0.4 0.6 0.8 1] % tambien puede ser x=[0:0.1:1] 
>> funcion= x.^2
>> area=trapz(x,funcion)
area = 0.3400
>> funcion= 'x.^2'
>>fplot(funcion,[0,1]); % grafica la función
MATRICES Y ARREGLOS
Arreglo.- Es un conjunto de números, ordenados en filas y columnas.
>> x = [1,4,5,8; 5,0,0,2; 0,1,-7,3] % crea un arreglo de 3 filas por 4 columnas
x =
 1 4 5 8
 5 0 0 2
 0 1 -7 3
>> x = [1,2,10,3] % crea un arreglo unidimensional
>> x (3) % nos devuelve el elemento ubicado en la tercera posición.
>> x = [1; 8; 3; 4] % crea un arreglo en una columna.
>> x = 1 : 0.5: 4 % crea un arreglo de una razon constante.
>> x(8) = 6 % adiciona un elemento a la matriz x en la octava posición.
Arreglos Bidimensionales
>> x = [1,4,5,8; 5,0,0,2; 0,1,-7,3] % crea un arreglo de 3 filas por 4 columnas
>> x(2,3) % visualiza el elmento de la segunda fila y tercera columna.
>> x(1,:) % visualiza todos los elementos de la primera fila.
>> x(:,3) % visualiza todos los elementos de la tercera columna.
Operadores Aritmeticos de Arreglos
Adiciónde Arreglos.- Realiza la suma de los elementos de los arreglos de acuerdo a su posición.
>> a = [1,4; 5,2] 
>> b = [2,1; 3,4] 
>> c = a + b 
c= 3 5
 8 6
>> b = a +2 % suma 2 unidades a cada elemento del arreglo.
 
Sustracción de Arreglos 
>> a = [1,4; 5,2] 
>> b = [2,1; 3,4] 
>> d = a - b 
Multiplicación de Arreglos
>> a = [1,4; 5,2; 3,7] 
>> b = [2,1; 3,4; 2,6] 
>> e = a .* b 
Multiplicación de un Arreglos por un número
>> a = [1,4; 5,2; 3,7] 
>> f = -2 * a 
División de Arreglos.- realiza el cociente de cada elemento de los arreglos de acuerdo a su posición.
>> a = [1,4; 5,2; 3,7] 
>> b = [2,1; 3,4; 2,6] 
>> g = a . / b 
Matriz.- Es un arreglo rectangular de números reales o complejos ordenados en filas y columnas.
Producto de Matrices
>> F=[3 -2 7; 6 5 4; 0 4 9] % matriz de orden 3x3
F =
 3 -2 7
 6 5 4
 0 4 9
>> G=[1 7; 0 4; 2 9] % matriz de orden 3x2
G =
 1 7
 0 4
 2 9
>> H=F*G
H =
 17 76
 14 98
 18 97
3(1)-2(0)+7(2)=17		6(1)+5(0)+4(2)=14		0(1)+4(0)+9(2)=18
3(7)-2(4)+7(9)=76		6(7)+5(4)+4(9)=98		0(7)+4(4)+9(9)= 97
otro ejemplo
>> A=[2 3 1; 1 -1 1; 0 2 2]
>> B=[1 2 1; -1 2 -1; 2 0 2]
>> C=A*B
C =
 1 10 1
 4 0 4
 2 4 2
Transpuesta de una Matriz .- La matriz transpuesta se obtiene intercambiando filas por columnas.
>> A=[1 -3 0 -2; 3 -12 -2 -6; -2 10 2 5; -1 6 1 3]
A =
 1 -3 0 -2
 3 -12 -2 -6
 -2 10 2 5
 -1 6 1 3
>> Y=A'
Y =
 1 3 -2 -1
 -3 -12 10 6
 0 -2 2 1
 -2 -6 5 3
>> I=[1 0 0; 0 1 0; 0 0 1] % matriz identidad de tercer orden
Inversa de Matrices
>> B=[22 -6 -26 17; -17 5 20 -13; -1 0 2 -1; 4 -1 -5 3]
B =
 22 -6 -26 17
 -17 5 20 -13
 -1 0 2 -1
 4 -1 -5 3
>> Y=inv(B)
Y =
 1.0000 2.0000 3.0000 4.0000
 2.0000 3.0000 1.0000 2.0000
 1.0000 1.0000 1.0000 -1.0000
 1.0000 0 -2.0000 -6.0000
Determinante de una Matriz
>> a=[4 -3; 1 2]; 
>> d=det(a)
d = 11
>> A=[3 -1 0 2; -1 -2 3 4; 7 4 4 0; 1 0 0 5]; 
>> D=det(A)
D = -401
>> a=[28 25 38; 42 38 65; 56 47 83]
>> det(a)
ans = 770
>> a=[1/2 1/2 1 1/2; -1/2 1/2 0 1/2; 2/3 1/3 1/3 0; 1/3 1 1/3 0]
>> det(a)
ans = 0.1667
Rango de un Matriz: .- El rango de una matriz es igual al número de filas no nulas que quedan en la última iteración de las sucesivas transformaciones elementales que se hacen con la matriz.
>> C=[0 -2 4;1 4 -5;3 1 7;0 1 -2;2 3 0]
>> Z=rank(C)
Z = 2
Matrices especiales:
eye(m): Genera una matriz identidad de orden m x m.
>> A=eye(3)
A =
 1 0 0
 0 1 0
 0 0 1
zeros(m,n): Genera una matriz m x n.
>> B=zeros(3,2)
B =
 0 0
 0 0
 0 0
ones(m,n): Genera una matriz de unos de orden m x n.
>> A=ones(2,3)
A =
 1 1 1
 1 1 1
magic(n): Genera una matriz cuya suma de los elementos de sus filas, columnas y diagonales da como resultado un mismo valor.
>> A=magic(3)
A =
 8 1 6
 3 5 7
 4 9 2
>> A=magic(4)
A =
 16 2 3 13
 5 11 10 8
 9 7 6 12
 4 14 15 1
Funciones en Matrices :
diag(A).- Devuelve los elementos de la diagonal de una matriz cuadrada.
>> A=[1 -3 0;3 -2 -6;10 2 5]
A =
 1 -3 0
 3 -2 -6
 10 2 5
>> B=diag(A)
B =
 1
 -2
 5 
sum(A).- Devuelve la suma obtenida en cada una de las columnas de la matriz A. 
>> A=[1 -3 0;3 -2 -6;10 2 5]
A =
 1 -3 0
 3 -2 -6
 10 2 5
>> H=sum(A)
H =
 14 -3 -1
rand(n).- Genera una matriz de orden n x n en forma aleatoria, donde sus cuyos elementos son uniformemente distribuidos en el intervalo (0,1).
>> Y=rand(3)
Y =
 0.0196 0.8318 0.4289
 0.6813 0.5028 0.3046
 0.3795 0.7095 0.1897
rref(A).- Devuelve en forma canónica la matriz A.
>> A=[1 -3 0;3 -2 -6]
A =
 1 -3 0
 3 -2 -6
>> S=rref(A)
S =
 1.0000 0 -2.5714
 0 1.0000 -0.8571
find(A).- Devuelve los índices de los elementos de la matriz A que no son cero, enumerándolos en forma vertical.
>> A=[12 -31 0;13 0 -16]
A =
 12 -31 0
 13 0 -16
>> G=find(A)
G =
 1
 2
 3
 6
cross(u,v).- Calcula el producto vectorial entre dos vectores u y v de R3.
>> u=[2 -5 1]
>> v=[3 1 -4]
>> cross(u,v)
ans = 19 11 17
eig(A).- Calcula los valores y vectores propios de la matriz A.
>> A=[1 2; 3 4]
>> [V, D]= eig(A)
V =
 -0.8246 -0.4160
 0.5658 -0.9094
D =
 -0.3723 0
 0 5.3723
Donde V es una matriz que contiene a los vectores propios ordenados en columnas y D es una matriz diagonal que contiene los valores propios.
length(u).-Calcula la dimensión del vector u.
>> u=[13 -5 1]
>> length(u)
ans = 3
size(A).- Calcula la dimensión de la matriz A.
>> A=[4 1 3;-5 2 1]
>> size(A)
ans = 2 3
>> D=[3;1;0;15;8]
>> size(D)
ans = 5 1
GRAFICA DE UNA MATRIZ:
>> b=[3 4 5 6 8 6 5 6 7]
>> plot(b)
>> grid on
>> title('Grafico de una matriz')
Concatenacion de Matrices: Es un proceso para generar un matriz nueva uniendo uno o mas matrices con el operador [ ].
>> A=[1 2 -5; 2 1 7]
>> B=[3 9; 0 1]
>> C=[A,B] % concatena horizontalmente las matrices D y E
C =
 1 2 -5 3 9
 2 1 7 0 1
>> D=[6 -1 5;0 1 12]
>> E=[3 2 2; 6 1 7; 5 2 -8]
>> F=[D; E] % concatena verticalmente las matrices D y E
F =
 6 -1 5
 0 1 12
 3 2 2
 6 1 7
 5 2 -8
Funciones de concatenación de matrices:
horzcat.- Concatena matrices horizontales.
>> A=[8 1 6;3 5 7];;
>> B=[4 13 2 1;6 7 0 11];
>> horzcat(A,B)
ans =
 8 1 6 4 13 2 1
 3 5 7 6 7 0 11
vercat.- Concatena matrices verticalmente.
>> A=[8 1 6;3 5 7;4 9 2];
>> B=[4 13 1;6 0 11];
>> C=vertcat(A,B)
C =
 8 1 6
 3 5 7
 4 9 2
 4 13 1
 6 0 11
EJEMPLOS ILUSTRATIVOS
Presentación de la matriz de Hilbert de orden 2 con cinco dígitos decimales.
>> vpa(hilb(2),5) 
ans = 
[ 1., .50000]
[ .50000, .33333]
Definimos una matriz simbolia y calculamos su determinante.
>> syms a x 
>> A=[cos(a*x),sin(a*x);-sin(a*x),cos(a*x)]
A =
[ cos(a*x), sin(a*x)]
[ -sin(a*x), cos(a*x)]
>> det(A)
ans =
cos(a*x)^2+sin(a*x)^2
 Calculamos la inversa de la matriz anterior.
>> inv(A)
ans = 
[ cos(a*x)/(cos(a*x)^2+sin(a*x)^2), -sin(a*x)/(cos(a*x)^2+sin(a*x)^2)]
[ sin(a*x)/(cos(a*x)^2+sin(a*x)^2), cos(a*x)/(cos(a*x)^2+sin(a*x)^2)]
Resolvemos la ecuación x4+1=0 y presentamos el resultado en escritura matemática habitual.
>> solve('x^4+1=0')
ans = 
 1/2*2^(1/2)+1/2*i*2^(1/2)
 -1/2*2^(1/2)+1/2*i*2^(1/2)
 1/2*2^(1/2)-1/2*i*2^(1/2)
 -1/2*2^(1/2)-1/2*i*2^(1/2)
>> pretty(solve('x^4+1=0'))
 
 [ 1/2 1/2 ]
 [ 1/2 2 + 1/2 i 2 ]
 [ ]
 [ 1/2 1/2 ]
 [- 1/2 2 + 1/2 i 2 ]
 [ ]
 [ 1/2 1/2 ]
 [ 1/2 2 - 1/2 i 2 ]
 [ ]
 [ 1/2 1/2 ]
 [- 1/2 2- 1/2 i 2 ]
Calcular mediante los métodos aproximados de Simpson y lobato la integral siguiente
Para la solución mediante el método de Simpson tenemos:
>> quad(inline('2+ sin(2*sqrt(x))'),1,6)
ans = 8.1835
Para la solución mediante el método de lobato tenemos:
>> quadl (inline('2+ sin (2*sqrt (x))'),1,6)
ans = 8.1835
Calcular el área comprendida bajo la curva normal (0,1) entre los limites -1.96 y 1.96
Se trata de calcular el valor de la integral 
El cálculo se realiza mediante matlab utilizando el método aproximado de lobato como sigue:
>> quadl(inline('exp(-x.^2/2)/sqrt(2*pi)'),-1.96,1.96)
ans = 0.9500
Calcular el volumen del hemisferio definido en [-1,1] x[-1,1] por la función f(x,y)=
>> dblquad(inline('sqrt(max(1-(x.^2+y.^2),0))'),-1,1,-1,1)
ans =
 2.0944
El cálculo también pudo haberse hecho asi:
>> dblquad(inline('sqrt(1-(x.^2+y.^2)).*(x.^2+y.^2<=1)'),-1,1,-1,1)
ans =
 2.0944
Evaluar la integral doble siguiente:
>> dblquad(inline('1./(x+y).^2'),3,4,1,2)
ans = 0.0408
Calcular los límites de las funciones siguientes:
>> syms x a
>> limit((x-1)/(x^(1/2)-1),x,1) 
ans = 2
>> limit((x-(x+2)^(1/2))/((4*x+1)^(1/2)-3),2) 
ans = 9/8
Calculamos la derivada de la function log(sen(2x)).
>> pretty(diff('log(sin(2*x))','x'))
 cos(2 x)
 2 --------
 sin(2 x)
>> pretty(simple(diff('log(sin(2*x))','x')))
 2
 --------
 tan(2 x)
EJERCICIOS PROPUESTOS
Resuelva el sistema:	
2x + 3y = 4
5x – 2y = 6
Resuelva la ecuación cúbica 5x3 + 2x2 - 3x + 1 = 0;
Obtenga la solución de la ecuación diferencial ordinaria: y´-x-y = 0, y(0)=1 
Integre la función f(x) = x sen(x) 
Con cuantos decimales muestra el resultado el comando :
	>> format long
Con cuanto decimals se muestra el resultado?
	>> vpa(sqrt(2), 100)
Cual es el resultado de lo sigiente?
>> 2/0
Indique el tipo de variable en cada caso:
>> x=3				
>> x='mensaje'		
>> syms x			
>> x=[2 7 4]			
>> x=2+3i			
Indique que realiza cada uno de estos comandos:
>> clear a b c			
>> clc				
>> pwd			
Indique el tipo de variable en cada caso:
>> save prueba
>> load prueba	
>> delete prueba.m
	>> quit	
EVALUACION
Indique le tipo de matriz:	
>> a=ones(5)
Indique le tipo de matriz:	
>> a=eye(5)
Indique lo que genera cada comando:
>> x=rand
b=rand(4,5)	
Que nos muestra los siguientes comsndos?
>> a=[3, 2; 1, 4];
>> b=[8, 6; 5, 7];
	 >> c=a'
Que evalúa los siguientes comandos?	
>> a=[2, -3, 0, 5]		
>> y=polyval(a,4)
Que realiza los siguientes comandos?	
>> x=[1 2 4 5 7];	
>> y=[5 3 6 7 4];
		>> a=polyfit(x,y,2);
Que realiza el siguiente comando?	
>> u=diff(f)
Que realiza el siguiente comando?
	>> v=int(f)
Que realiza el siguiente comando?	
>> r=int(f, 0, 2)
Dar un ejemplo de aplicación con cada uno de los siguientes comandos?	
>>input
>>disp
Bibliografia Referencial
Nakamura, Shoichiro Analisis Numérico y Visualización con Matlab. Editorial Prentice may. México. 1997.
Morales Marchena, Herón. Métodos numéricos y Visualización Gráfica Editorial Megabit. Peru. 2005.
Perez, Cesar Matlab y sus Aplicaciones en las Ciencias y la Ingeniería Editores Prentice. España. 2002 .
CAPITULO IV
GRAFICAS CON MATLAB
OBJETIVOS: El participante aprenderá a hacer gráficos con el Matlab 
CONTENIDOS: Graficos en el plano, graficos bidimensioanles y gráficos tridimensionales.
Matlab ofrece una gama amplia de opciones a la hora de realizar representaciones gráficas. Permite realizar gráficos de curvas planas y superficies, posibilitando la agrupación y superposición.
Gráficos en el Plano
	Comandos
	Descripción
	 plot(x,y)
	Grafica el conjunto de puntos (x,y) en un sistema cartesiano
	 bar(x,y)
	Grafico de barras vertical, donde y representa la frecuencia y x define los espacios en el eje x.
	barh(x,y)
	Grafico de barras horizontal.
	stem(x,y)
	Grafico de bastones verticales.
	stairs(x,y)
	Grafica una curva escalonada.
	polar(x,y)
	Dibuja una curva en coordenadas polares. y=y(x)
	pie(x)
	Realiza el grafico de sectores relativo al vector x.
	rose(x)
	Dibuja el histograma angular relativo al vector x.
Los gráficos son una poderosa forma visual de interpretar datos. Realizar la gráfica de una función seno durante un período, por ejemplo:
y = sin(x) para 0<=x<=2pi.
En primer lugar, creamos 30 puntos entre 0 y 2pi.
 >> x = linspace(0,2*pi,30) ; % crea 30 puntos entre 0 y 2pi.
 >> y = sin(x); % calcula el seno de los puntos en x.
 >> plot(x,y) % la orden plot genera una grafica :
Se pueden graficar al mismo tiempo muchas curvas suministrando parejas adicionales de argumentos a plot.
 >> x = linspace(0,2*pi,30) ;
 >> y = sin(x); 
 >> z = cos(x) ; 
 >> plot(x,y,x,z)
El siguiente ejemplo ilustra la identidad trigonométrica 2sin(a)cos(a) = sin2(a). La gráfica de 2sin(a)cos(a) se representa utilizando líneas i trazos.
>> plot(x,y,'r*')
>> grid % para colocar una rejilla en los puntos marcados sobre los ejes
>> xlabel(‘Variable Independiente x’) % para colocar una etiqueta sobre el eje x 
>> ylabel ( ‘ Variable dependiente’) % para colocar una etiqueta sobre el eje y 
>> title (‘ 2sin(x)cos(x) = sin(2x) ‘) % para colocar un titulo sobre la grafica actual
Estilo de líneas, marcadores y colores
Con MATLAB se puede especificar los colores y los estilos de línea que necesita dando un argumento adicional a plot después de cada pareja de arrays de datos. El argumento opcional adicional es una cadena de caracteres formada por 1, 2 ó 3 caracteres de la tabla siguiente:
	Símbolo Color
	Símbolo Estilo de línea
	 y amarillo
 m magenta
 c turquesa
 r rojo
 g verde 
 b azul
 w blanco
 k negro
	. punto
o círculo
x marca - x
+ más
* estrella
* línea sólida
: línea punteada
-. línea punto-raya
-- línea de trazos
>> plot(x,y,'bo',x,z,'r--',x,y,'k*',x,z,'c.')
Para añadir una etiqueta identificando
la curva del seno en la localización (2.5,0.7):
>> text (2.5,0.7,’sin(x)’)
>> x=-1 :0.1 :5;
>> y=sin(x.^2);
>> plot(x,y)
>> grid on
>> title('grafico de y=sin(x.^2)')
	
histograma de una curva en forma de campana de datos gausianos:
>> x=-3 :0.2 :3;
>> y=exp(-x.^2);
>> bar(x,y)
>> grid on
>> title('grafico de Barras')
>> x=-2.9:0.2:2.9; % especifica los elementos a usar
>> y=randn(5000,1); % crea 5000 puntos aleatorios
>> hist(y,x) % dibuja el histograma
>> title('Histograma de Datos Gausianos')
>> x=-3 :0.2 :3;
>> y=cos(-x.^3)-2*x+1;
>> barh(x,y);
>> grid on
>> title('grafico Barras Horizontal')
>> x=0 :0.2 :10;
>> y=sin(x);
>> stairs(x,y);
>> grid on
>> title('grafico tipo stairs')
gráficos en coordenadas polares utilizando la orden polar (t, r), donde t es el vector de ángulos en radianes, r es el radio vector
>> t=0 : .01 : 2*pi;
>> r=sin(2*t).*cos(2*t);
>> polar(t,r)
>> title('Coordenadas Polares de: sin(2t)cos(2t)’)
>> y=randn(50,1); % crea algún dato aleatorio
>> stem(y,':') % dibuja una gráfica stem con línea punteada
>> title('Grafico Stern de datos aleatorios')
Una gráfica puede incluir barras de error en los puntos. errorbar (x, y, e) representa. la gráfica del vector x frente alvector y con barras de error especificadas por el vector e. Todos los vectores deben tener la misma longitud. Para cada punto (xi,yi), se dibuja una barra de error una distancia ei por encima y ei por debajo del punto.
>> x=0:0.1:2; % crea un vector
>> y=erf(x); % y es la función error de x
>> e=rand(size(x) )/10; % genera valores de error aleatorios
>> errorbar(x,y,e) % crea la gráfica
>> title('Errorbar Plat')
Se pueden representar datos complejos usando compass y feather. Compass (z) dibuja una gráfica que visualiza el ángulo y la magnitud de los elementos complejos de z como flechas que emanan del origen. Feather (z) representa los mismos datos usando flechas que emanan de puntos igualmente espaciados sobre una línea horizontal.
compass (x,y) y feather (x,y)	son equivalentes a compass (x+i*y) y feather (x+i*y).
>> z=eig(randn(20,20));
>> compass (z)
>> title('Compass Plot of the Eigenvalues of a Random Matrix')
>> feather (z)
>> title (’Feacther Plot of Eigenvalues of a Random Matrix’)
 
La orden subplot (m, n, p) subdivide la ventana de la figura actual en una matriz mxn de las áreas de representación gráfica y escoge como activa el área p-ésima. Las subgráficas se numeran de izquierda a derecha a lo largo de la lila superior, luego la segunda fila, etc. por ejemplo:
% ejemplo de Grafico en multiples ejes
>> x=linspace(0,2*pi,30); 
>> y=cos(x);
>> z=sin(x);
>> a=y.*z+58;
>> f=tan(x);
>> g=z+a+f;
>> u=y.*z.*a;
>> subplot(3,2,1), plot(x,y,'r-'), title( 'Grafico No 1' );
>> subplot(3,2,2), plot(x,z,'mo'), title( 'Grafico No 2' );
>> subplot(3,2,3), plot(x,a,'g*'), title( 'Grafico No 3' );
>> subplot(3,2,4), plot(x,f,'b+'), title( 'Grafico No 4' );
>> subplot(3,2,5), plot(x,g,'k--'), title( 'Grafico No 5' );
>> subplot(3,2,6), plot(x,u,'c:'), title( 'Grafico No 6' ); 
Gráfica de Superficies
Plot3(x,y,z) : Realiza una grafica de un conjunto de puntos x,y,z en un sistema de 3 dimensiones.
El ejemplo siguiente genera una grafica 3-D con una rejilla.
>> x = linspace(0,2*pi,30) ; % crea 30 puntos entre 0 y 2pi.
>> y = sin(x); % calcula el seno de los puntos en x.
>> z = cos(x) ; 
>> plot3(y,z,x), grid
>> t = -8:0.2:8 ; % crea puntos entre -8 y 8.
>> x = t; 
>> y = 3-t ; 
>> z=cos(t);
>> plot3(x,y,z), grid
mesh(x,y,z) : Grafica una superficie explicita z=f(x,y) con los arreglos x, y e z.
>> [x,y] = meshgrid(-2:0.2:2);
>> z = x.*exp(-x.^2-y.^2)
>> mesh(x,y,z)
>> title('Z=X.*exp(-x. ^2 – y.^2)');
 
cylinder('f') : Grafica una superficie de revolución generada por la rotación de la función f=f(t) en el intervalo definido para t.
explicita z=f(x,y) con los arreglos x, y e z.
>> t = 0:0.2:7 ;
>> cylinder(2+sin(t));
>> title(' 2 + sin( t )');
>> xlabel('eje x') ; ylabel('eje y') ; zlabel('eje z') 
EJERCICIOS PROPUESTOS
Realizar el siguiente gráfico.
function y=prueba(x)
y = 1./((x-.3).^2+.01)+1./...
((x-.9).^2+.04)-6; 
	
>> x=-1:0.1:2;
>> plot(x,prueba(x))
Realizar el siguiente gráfico con los datos que Ud. sugiera.
Ingrese los datos para realizar el siguiente gráfico.
EVALUACION
Realizar el grafico en coordenadas polares de la siguiente ecuación: 
Gráfica la circunferencia con centro en el origen:
Grafica la siguiente hipérbola con eje focal en el eje x:
Gráfica la siguiente parábola con el eje focal en x: 
 
Gráfica la elipse con el eje focal x:
Gráfica la siguiente función:
Gráfica la siguiente función:
			f(z) = z2
Gráfica los resultados de unas elecciones con 5 participantes en un gráfico tipo pastel.
Realiza con los datos anteriores un diagrama de sectores 3D.
Realizar un gráfico para generar un histograma con 1000 números aleatorios siguiendo la normal N(0; 1)
Bibliografía Referencial
Perez, Cesar Matlab y sus Aplicaciones en las Ciencias y la Ingeniería Editores Prentice. España. 2002 .
Nakamura, Shoichiro Analisis Numérico y Visualización con Matlab. Editorial Prentice may. México. 1997.
Morales Marchena, Herón. Métodos numéricos y Visualización Gráfica Editorial Megabit. Peru. 2005.
CAPITULO V
PROGRAMACION EN MATLAB
OBJETIVOS: El participante aprenderá a hacer programas en el Matlab
CONTENIDOS: Estructuras de control secuencial, bucles, bifurcaciones, sentencia if … end, for … end, while … end, case … end, 
PROGRAMACIÓN INFORMÁTICA
Programación informática, acción de programar, es decir, de establecer una serie de instrucciones para que el ordenador o computadora ejecute una tarea.
Previamente hay que realizar una serie de trabajos que tienen por objeto la definición de la tarea, el análisis de la información que se quiere obtener (información de salida) y de los datos que se precisan para ello (información de entrada), y el establecimiento del algoritmo, o procedimiento de cálculo, que va a permitir transformar una información en otra. Para esta labor de análisis, el programador utiliza una serie de herramientas, entre las que destacan los diagramas de flujo y las tablas de decisión.
Resuelto del problema desde el punto de vista lógico, se utiliza un lenguaje de programación para codificar la secuencia de instrucciones que el ordenador debe ejecutar para realizar la tarea.
Escrito el programa, hay que verificarlo, es decir, someterlo a pruebas que determinen si puede realizar la tarea prevista, lo que se consigue simulando situaciones que se puedan comprobar; a esto se le denomina depuración. Una vez verificado, el programa se debe optimizar, con el fin de utilizar los recursos del sistema del modo más eficiente.
PROGRAMACIÓN EN MATLAB
MATLAB es una aplicación que se puede programar muy fácilmente. De todas formas, como lenguaje de programación pronto verá que no tiene tantas posibilidades como otros lenguajes (ni tan complicadas...). Se comenzará viendo las bifurcaciones y bucles, y la lectura y escritura interactiva de variables, que son los elementos básicos de cualquier programa de una cierta complejidad, previo a ingresar a esta este capitulo se considera que ya se cuenta con los conocimientos básicos del matlab.
Bifurcaciones y bucles
MATLAB posee un lenguaje de programación que –como cualquier otro lenguaje – dispone de sentencias para realizar bifurcaciones y bucles.
Las bifurcaciones permiten realizar una u otra operación según se cumpla o no una determinada condición. 
La Figura muestra tres posibles formas de bifurcación.
Los bucles permiten repetir las mismas o análogas operaciones sobre datos distintos. el Matlab utiliza la palabra end para finalizar el bucle. 
La Figura muestra dos posibles formas de bucle, con el control situado al principio o al final del mismo. Si el control está situado al comienzo del bucle es posible que las sentencias no se ejecuten ninguna vez, por no haberse cumplido la condición cuando se llega al bucle por primera vez.
Sin embargo, si la condición está al final del bucle las sentencias se ejecutarán por lo menos una vez, aunque la condición no se cumpla. Muchos lenguajes de programación disponen de bucles con control al principio (for y while en C/C++/Java) y al final (do… while en C/C++/Java). 
En MATLAB no hay bucles con control al final del bucle, es decir, no existe la construcción análoga a do... while.
Las bifurcaciones y bucles no sólo son útiles en la preparación de programas o de ficheros *.m. También se aplican con frecuencia en el uso interactivo de MATLAB, como se verá más adelante en algunos ejemplos.
FUNCIÓN INPUT
La función input permite imprimir un mensaje en la línea de comandos de MATLAB y recuperar como valor de retorno

Otros materiales

Materiales relacionados