Documente Academic
Documente Profesional
Documente Cultură
Solucin de problemas
de ingeniera con MATLABO
Solucin de problemas
de ingeniera con MATLAB~
Segunda edicin
Delores M. Etter
Department
of ElectricalandComputer
Engineering
Universityof Colorado,
Boulder
Traduccin
Revisin tcnica
PRENTICE
I
9 P
0-13-397688-2
Prlogo
Ustedtiene
ensusmanos, lector,
un texto
interesante
y peculiar. Interesant
querepresenta
un nuevo enfoque
deun aspectoprimordial
delaeducacin
enin-
Y peculiar,
geniera. porquecombinatemasde loquetradicionalmente
sontres
o
cuatro
cursosdistintos formar
para un solo
curso introductorio.
nuevoEste
curso,
dirigido a estudiantes
deprimerosegundo
o aodecarreras
eningeniera
y ciencias,
abarca:
Matemticas elementales
aplicadas.
Mtodos numricos
bsicos.
Programacin
decomputadoras.
Metodologa
paralaresolucin
deproblemas.
Fcil
deaprender
y usar.
Potente,
flexible
y extensible.
Exacto, robusto y rpido.
.
Prefacio
Losingenieros
y cientficos se devalen
lacomputadora para resolver diversos pro-
blemas,
desdelaevaluacin deunafuncin sencilla
hasta laresolucin deunsistema
deecuaciones.
MATLABse ha convertidoenelentorno de computacin tcnica prefe-
rido de
muchos ingenierosy cientficos
porque esun sistema interactivo quenic
cmputo numrico, cmputo simblico y visualizacin cientfica.
incluye
En vista
delaalta probabilidad
de que uningeniero recin graduado se encuen-
treen sutrabajo elconentorno
decomputacin MATLAB, constituye
ste unabuena
opcinpara introducir lacomputacin
a estudiante
al de ingeniera. Estelibro
es
apropiadocomo textointroductorio ingeniera
para o como texto complementario
un cursoavanzado, ademsdequeresulta til como referencia profesi
Porotra parte, el contenido deles presente
unaintroduccin
librolaresolu-
a
cindeproblemas deingeniera
quepersigue los siguientesobjetivos:
temas especiales que son muy tiles para resolver problemas de ingeniera ms espe-
cializados: y
Es posible abarcar los captulos 1 al 9 en un curso de un semestre para una
presentacin completa de las capacidades de MATLAB. Si se desea una introduccin
ms breve a MATLAB, sugerimos estudiar los captulos 1 a 3 junto con temas selectos
de los captulos 5 a 8. Tambin hemos escrito otro libro, Infroducfion fo M A T L A B ~ O Y
Engineers and Scienfisfs(Prentice Hall, 1996, 0-13-519703-l), diseado especialmente
para ofrecer una introduccin breve (de tres a seis semanas) a las capacidades de
MATLAB. LOScaptulos sobre procesamiento de seales y sistemas de control (inclui-
dos en la Parte 111)son captulos especializados que requieren conocimientos adicio-
nales, y se incluyen con el fin de proporcionar material de referencia para cursos
avanzados.
El es una parte
importante de este texto. En el captulo 1 se presenta un
usando una computadora, que consisten en lo si-
guiente:
En una de las secciones nuevasde esta edicin se aborda la Internet, el correo elec-
trnico, los tableros electrnicos de noticias y la World Wide Web. Selistan varios
sitios de Web quecontienen informacin relacionada con estetexto y conMATLAB.
EJERCICIOS Y PROBLEMAS
Apndice
A Resumendefunciones
deMATLAB
Soluciones completas
a losproblemas
Practique!
ndice
Contenido
El entorno MATIAB
Gran desafio: Funcionamiento de vehculos
xvi CONTENIDO
Opciones desalida
Formato deexhibicin
Exhibicin detexto y valores
Salidas conformato
Grficas xy sencillas
Archivos de datos
2.3 Operaciones conescalares y arreglos
Operaciones con escalares
Operaciones conarreglos
Precedencia deoperaciones aritmticas
Limitaciones encomputacin
2.4 Capacidades degraficacin adicionales
Grficas lineales y logaritmicas
Grficas mltiples
Estilodelneas y marcas
Escala delosejes
Subgrficas
2.5 Resolucin aplicada de problemas:
Motor turbohe7ice avanzado
Resumendelcaptulo, Trminos clave,
Resumen
deMATLAB, Notasdeestilo, Notasdedepuracin,
Problemas
3 Funciones de MATLAB
Gran desafio: Reconocimiento del habla
Funciones matemticas
Funciones matemticas comunes
Funciones trigonomtricas e hiperblicas
Funciones
denmeros complejos
Coordenadas y polares
rectangulares
FrmuladeEuler
Grficas polares
Funciones polinmicas
Evaluacin
depolinomios
Operaciones
depolinomios
Races
depolinomios
Funciones
dedosvariables
Evaluacin
defunciones
Grficas tridimensionales
Grficas
decontorno
Funciones
deanlisis
dedatos
Anlisis
simple
CONTENIDO xvii
Mximo y mnimo
Sumasy productos
Media y mediana
Ordenamientode valores
Varianzay desviacin estndar
Histogramas
3.3 Instruccionesde seleccin y funciones de seleccin
Instruccinif sencilla
Operadoresrelacionalesy lgicos
Instruccionesif anidadas
Clusulaseise y elseif
Funciones lgicas
3.4
4
4.1 Operacionescon matrices
Transposicin
Productopunto
Multiplicacinde matrices
Potencias de matrices
Polinomios de matrices
Determinantes
Vectores
propiosy valorespropios
Descomposiciones
Factorizacin
triangular
Factorizacin
QR
Descomposicin valor
de singular
Resumen del captulo, Trminos
clave,Resumen
deMATLAB,Notasdeestilo,Notasdedepuracin,
Problemas
Parte 11 Tcnicas numricas
5 Soluciones de sistemas de ecuaciones lineales
Gran desafo: Funcionamientode vehculos
5.1 Interpretacin grfica 150
5.2 Soluciones empleando operaciones
dematrices 154
Divisindematrices 155
Inversindematrices 156
5.3 Resolucin aplicada de problemas:
Anlisis de circuitos elctricos 157
Resumendel captulo,
Trminos
clave,ResumendeMATLAB,
Notasdeestilo,Notasde depuracin,
Problemas 160
ode
9
xx CONTENIDO
1 0 Procesamiento de seales
Gran desafio: Comprensincomputarizadadel habla
10.1Anlisis del dominiode frecuencias
10.2Anlisis de filtros
Funcionesde transferencia analgicas
Funcionesde transferencia digitales
Expansiones de fraccionesparciales
10.3 Implementacin de filtros digitales
10.4Diseode filtros digitales
Diseode filtros IIR usando prototipos analgicos
Diseodirectode filtros IIR
Diseodirectode filtros FIR
10.5Resolucin aplicada de problemas:
Filtros de separacinde canales
Resumendel captulo,Trminosclave,Resumen
de MATLAB, Notas de estilo,Notasde depuracin,
Problemas
1 1 Sistemas de control
Gran desafo: Funcionamientode vehculos
11.1Modeladode sistemas
Funcionesde transferencia
Modelosde espaciode estados
Sistemasde tiempo discreto
11.2 Conversinde modelos
11.3Funcionesde diseoy anlisis
Grficasde Bode
Grficasde Nyquist
Grficasde lugargeomtricode las races
Respuesta a un escaln
11.4Resolucin aplicada de problemas:
Control de espejosde direccin por rayo lser
Resumendel captulo,Trminosclave,Resumen
de MATLAB, Notasde estilo,Notasde depuracin,
Problemas
Apndice A Resumen de funciones de MATLAB
Soluciones completas a los problemas Practique!
ndice
Captulo
1 Resolucin
deproblemas
deingeniera
2
Captulo Elentorno MATLAB
Captulo Funciones
deMATLAB
Captulo
4 lgebra
lineal
y matrices
XXI
XXI.
microprocesador,
alunizaje
6 CAP. 1 RESOLUCINDE PROBLEMASDE INCENIERA
MATERIALES
COMPUESTOS AVANZADOS Cortesa de
Mike Valeri.
SEC. 1.1 LA INGENIER~AEN EL SIGLO XXI 7
EXPLORACI~N
CAT INGENIER~A
GENTICA
sionales de un objeto usando rayos X que se generan desde diferentes ngulos alre-
dedor del objeto. Cada rayo X mide una densidad desde su ngulo, y algoritmos
computarizados muy complejos combinan la informacin de todos los rayos X para
reconstruir una imagen clara del interior del objeto.Las exploraciones CAT se usan
rutinariamente paraidentificar tumores, cogulos sanguneos y anomalas en el cere-
bro. El ejrcito de Estados Unidos est desarrollando un explorador CAT ligero y
robusto que se puede transportar aestaciones mdicas en zonas de combate.
Ingeniera La ingeniera gentica, el trabajo de genetistas e ingenieros, ha dado origen a
gentica muchos productos nuevos que van desde la insulina hasta hormonas parael crecimien-
to y vegetales resistentes a infecciones. Un producto de ingeniera gentica se crea
insertando un gen que produce una sustancia valiosa de un organismo en otro or-
ganismo que se multiplica, multiplicando al mismo tiempo el gen ajeno. El primer pro-
ducto comercial de ingeniera gentica fue la insulina humana, que apareci con el
nombre comercial de Humulin. Los trabajos actuales incluyen investigacionesde mi-
crobios alterados genticamente para limpiar desechostxicos y degradarpesticidas.
Lseres Los lseres son ondas de luz que tienen la misma frecuencia y viajan en un haz
angosto que puede dirigirse y enfocarse. Se usan lseresde CO, para taladrar agujeros
en materiales que van desde cermicas hasta materiales compuestos.Los lseres tam-
bin se usan en procedimientos mdicos para soldarel desprendimiento de la retina
ocular, sellar lesionesen vasos sanguneos, vaporizar tumores cerebrales y realizar
ciruga delicada del odo interno.Las imgenes tridimensionales llamadas hologramas
tambin se generan con lser.
Fibras pticas Las comunicaciones de fibra ptica, utilizan esta fibra compuesta de hilos de vi-
drio transparentems delgados que un cabello humano. Una fibra ptica puede trans-
portar ms informacin que las ondas de radio o las ondas elctricasen los alambres
telefnicos de cobre, y no produce ondas electromagnticas que pueden causar inter-
ferencia en las lneas de comunicacin. Los cables transocenicosde fibra ptica pro-
veen canales de comunicacin entre los continentes. La fibra ptica tambin se usa en
instrumentos mdicos que permiten a los cirujanosintroducir luz en el cuerpo huma-
no para realizar exmenes y ciruga con lser.
8 CAP. 1 R E S O L U C I ~ N
DE PROBLEMASDE INGENIERA
externa
I I
I I
I CPU I
1 _ _ - - - _ _ _ _ _ _ _ _ _ _ _ _ 1
Figura 1.1
que se especifican con un conjunto de instrucciones llamado El de
computadora se refiere al equipo, como el teclado, el ratn, la terminal, el disco duro
y la impresora. El de computadora se refiere a los programas que describen
los pasos que queremos que la computadora realice.
EQUIPO DE CMPUTO
Todas las computadoras tienen una organizacin interna comn, como se aprecia en
la figura 1.1. El controla todas las dems partes; acepta valores de entra-
da (de un dispositivo como el teclado) y las almacena en la El procesador
tambin interpreta las instrucciones de los programas de computadora. Si queremos
sumar dos valores, el procesador recuperar los valores de la memoria y los enviar
a la o ALU. La ALU realizar la suma, y el procesador
almacenar despus el resultado en la memoria. La unidad de procesamiento y la
ALU utilizan memoria interna compuesta por memoria slo de lectura (ROM) y
memoria de acceso aleatorio (RAM)en su procesamiento; la mayor parte de los datos
se almacenan en memoria externa o memoria secundaria usando unidades de disco
duro o de disco flexible que se conectan al procesador. El procesador y la ALU juntos
Unidad central reciben el nombre de o CPU. Un es una
de Proceso CPU contenida en un solo chip de circuitos integrados que contiene millones de com-
ponentes en un rea ms pequea que un sello de correo.
Por lo regular le indicamos a la computadora que imprima los valores calcu-
lados en la pantalla de la terminal o en papel usando una impresora. Las impresoras
de matriz de puntos usan una matriz (o retcula) de agujas para producir la figura de
un carcter en papel, en tanto que las impresoras de lser usan un rayo de luz para
transferir imgenes al papel. La computadora tambin puede escribir informacin en
disquetes, que la almacenan magnticamente. La reproduccin en papel de la infor-
macin se denomina y la reproduccin magntica de la informacin
se denomina
Hay computadoras de todos los tamaos, formas y estilos. (Vea las fotografas
de la figura 1.2.)Las computadoras personales (PC) son pequeas, de bajo costo, y se
usan comnmente en oficinas, hogares y laboratorios. Las PC tambin se conocen
,For ejemplo, pueden
SEC. 1.2 SISTEMASDE C ~ M P U T O 13
declcu-
los matemticos,
Lenguajes de computadora.
lenguaje de mquina
binario,
lenguaje ensamblador
sintaxis
generaciones.
4GL,
Fortran
Basic
Pascal
Ada
18 CAP. 1 RESOLUCI~NDE PROBLEMAS DE INGENIERA
del siglo XIX. C es un lenguaje de propsito general que evolucion a partir de dos
lenguajes, BCPL y B, desarrolladosen los Be11 Laboratories a finales de la dcada de
1960. En 1972, Dennis Ritchie desarroll e implement el primer compilador de C en
una computadora DEC PDP-11 en los Be11 Laboratories. El lenguaje se populariz
mucho para el desarrollo de sistemas porque era independiente del hardware. A
causa de su popularidad tanto en la industria como en los crculos acadmicos, se
hizo evidente que se necesitaba una definicin estndar. En 1983 se cre un comit
del American National Standards Institute (ANSI) para crear una definicin inde-
pendiente de la mquina y sin ambigedades de C. En 1989 se aprob el estndar
ANSI. C++ es una evolucin del lenguaje C desarrolladaen 10s Be11 Laboratories de
AT&T a principios de la dcada de 1980 por Bjarne Stroustrup. Las extensiones del
lenguaje C proporcionaron nuevos operadores y funciones que apoyan un nuevo
paradigma llamado diseo y programacin orientados aobjetos.
Ejecucin de un programa de computadora. Un programa escritoen un lenguaje
de alto nivel como C debe traducirse alenguaje de mquina antes de que la compu-
tadora pueda ejecutar las instrucciones. Se usa un programa especial llamado
Com~ilador compilador para llevar a cabo dicha traduccin. As, para poder escribir y ejecutar
programas en C en una computadora, el software de esta ltima debe incluir un
compilador de C.
Si el compilador detecta errores(conocidos como bugs [bichos])durante la com-
pilacin, imprime los mensajes de error correspondientes. Debemos corregir las ins-
trucciones del programa y luego realizar otra vez elpaso de compilacin. Los errores
identificados durante esta etapa se llaman errores de compilacin o errores de tiem-
po de compilacin. Por ejemplo, si queremos dividir el valor almacenado en una
variable llamada suma entre 3, la expresin correcta en C es suma/3; si escribimos
incorrectamente esa expresin usando la diagonal invertida, como en suma\ 3, ob-
tendremos un error de compilacin. El proceso de compilar, corregir instrucciones(o
depuracin) y recompilar a menudo debe repetirse varias veces antes de que el pro-
grama se compile sin errores de compilacin. Si ya no hay errores de compilacin, el
compilador genera un programa en lenguaje de mquina que ejecuta los pasos espe-
cificados en el programa original en C. Llamamos a este programa original programa
fuente, y la versin en lenguaje de mquina se denomina programa objeto. As, el
programa fuente y el programa objeto especificanlos mismos pasos, pero el programa
fuente se especifica en un lenguaje de alto nivel, y el programa objeto se especifica en
lenguaje de mquina.
Una vez que el programa se ha compilado correctamente, se requieren pasos
Ejecucin adicionales para prepararel programa parasu ejecucin. Esta preparacin implica
vincular otras instrucciones en lenguaje de mquina con el programa objeto y luego
cargar el programa en la memoria. Despus de esta virculacinlcarga, la computadora
ejecuta los pasos del programa. En esta etapa podran identificarse nuevos errores,
llamados errores de ejecucin, errores de tiempo de ejecucin o errores de lgica;
stos tambin son bugs del programa. Los errores de ejecucin con frecuencia hacen
que se detenga la ejecucin del programa. Por ejemplo, las instrucciones del progra-
ma podran intentar realizar una divisin entre cero, lo que genera un error de ejecu-
cin. Algunos erroresde ejecucin no hacen que el programa deje de ejecutarse, pero
s que se produzcan resultados incorrectos. Estos tipos de errores pueden deberse a
equivocaciones del programador al determinar los pasos correctos de las soluciones
SEC.1.2 SISTEMASDE C ~ M P U T O
Compilacinlvinculacinlejecucin
,\
cie de
\t.
diagrama d
3. EJEMPLO A MANO
Tiempo (minutos) Temperatura (grados F)
+ +
algoritmo:
tiempo temps
Elpaso final
deriuestro
procesoderesolucin
deproblemas es probar
la solucin.
Primero
debemos probar
lasolucin
con los
datosdel ejemplo
a mano porque
ya
calculamos
lasolucin antes.
Alejecutarse las instrucciones
anteriores,
lacomputadora
exhibe
lasiguiente
salida:
promedio =
116.6667
Tambin se genera
unagrfica
delospuntos
dedatos.
Elpromediocoincide
con el
delejemplo
a mano,asqueahorapodemossustituir
esosdatos
porlos
delexperimento
datos defsica,
dandoelsiguiente programa:
% Calcular la temperatura media (o promedio)
% y graficar los datos de temperatura.
/o
Cuandoseejecutan
estos comandos,
lacomputadora
exhibe
lasiguiente salida:
promedio =
128.1818
La grfica 1.5
delafigura tambin aparece
enlapantalla.
Mediciones de temperatura
7 7 7 - 7 7 7 - 7 - - T -
Tiempo, mlnutos
Figura 1 .5Tempernturns
rccolecta~iac
cil t l texpertm~rrto
i defszcn.
SEC. 1.4 RECOLECCIN DE DATOS PARA LA PREDICCIN DEL CLIMA 25
Los pasos que demostramos en este ejemplo se usan para desarrollar los pro-
gramas de las secciones de "Resolucin aplicada de problemas" de los siguientes
captulos.
En cada uno de los captulos que siguen incluiremos secciones de "Resolucin aplicada
de problemas" que usan las nuevas instrucciones MATLAB presentadas en el captulo
para resolver un problema relacionado con el gran desafo .presentado en la intro-
duccin al captulo. Aunque ya mostramos un programa MATLAB, todava no tene-
mos los conocimientos necesarios para crear un programa nuevo relacionado con la
prediccin del clima (el gran desafo que presentamos en la introduccin a este cap-
tulo), pero podemos comentar los tipos de datos meteorolgicos que se recaban y los
anlisis preliminares que acompaan a la bsqueda de una solucin.
El primer paso para tratar de desarrollar una ecuacin o un modelo para prede-
cir el clima es estudiar la historia climtica anterior. Por fortuna, varias dependencias
nacionales estn interesadas en recabar y almacenar informacin meteorolgica. La
NOAA (National Oceanic and Atmospheric Administration) es una organizacin
orientada hacia la investigacin que estudia los ocanos y la atmsfera; adems, financia
investigaciones ambientales sobre anlisis de datos, modelado y trabajos experimen-
tales relacionados con los cambios globales. El National Environmental Satellite, Data
and Information Service recaba y distribuye informacin relativa al clima. El National
Centro Climatic Data Center recaba y compila informacin climatolgica de las oficinas del
Nacional National Weather Service en todo Estados Unidos. Estas oficinas tambin interactan
de Datos con los pronosticadores del clima estatales y locales para proporcionar al pblico en
el Clima
general informacin meteorolgica actualizada.
El National Climatic Data Center de Carolina del Norte se encarga de mantener
datos climatolgicos de oficinas del National Weather Service. Estos datos estn dis-
ponibles en muchas formas, incluidos datos de climatologa locales por mes, por es-
tado y para el mundo. El centro tambin mantiene datos climatolgicos histricos a
partir de 1931. La figura 1.6 muestra un resumen mensual de datos de climatologa
locales recabados por la oficina del National Weather Service del Aeropuerto Inter-
nacional Stapleton en Denver, Colorado, para el mes de enero de 1991. El resumen
contiene 23 elementos de informacin meteorolgica dferentes recabados para cada
da, incluidos temperaturas mximas y mnimas, cantidad de precipitacin pluvial,
rfagas de viento mximas y minutos de insolacin. Estos datos se analizan para
generar la informacin resumida mensual que aprece en la parte inferior del forma-
to, y que incluye temperatura media, precipitacin total de lluvia, precipitacin total
de nieve y el nmero de das que estuvieron parcialmente nublados.
Para analizar los datos de un mes, podramos graficar primero algunos de los
diferentes elementos de informacin para ver si observamos tendencias visibles en
los datos. Por ejemplo, deberemos poder observar si la temperatura mxima se man-
tiene ms o menos constante, aumenta, disminuye o flucta alrededor de un punto
comn. La figura 1.7 es una grfica de las temperaturas mximas para enero de 1991.
Podemos ver que la temperatura tiene algunas fluctuaciones o variaciones amplias, pero
no hay un aumento o una disminucin constante. Tambin podramos analizar datos
de temperatura para un ao del mismo modo; la figura 1.8 contiene las temperaturas
26 CAP. 1 RESOLUCINDE PROBLEMASDE INGENIERA
JAN 1 9 9 1
OENVCR. CO
N A I ' L WEA SER 01C
10210 s a l l n R O ~ O
SIAPLCIOH I Y I E R N A ~ ~ O N A LAP
MllWL MllOUL
DEEffllC C N V I R W E N I N SAIELLIIC. D I I R CLllVlllC MI1 CCNIER DlRtClOR
n A l l o N A L t L l n A l l t OAIA CENIER
E
,g 2 0 -
-
I 1 I I I
1o
I
O 5 10 15 20 25 30 35
Da del mes
Figura 1.7Temperaturas mximas para enero de
o
O 50 1 O0 150 200 250 300 350 400
Da del ao
Figura 1.8 Temperaturas mximas para
28 CAP. 1 R E S O L U C I ~ N
DE PROBLEMASDE INGENIERA
o I 1 I I 1
O 5 1O 15 20 25 30 35
Da del mes
mximasy mediaspara enerode 1991.
Figura 1.9 Temperaturas
TRMINOS
CLAVE
algoritmo Internet
bug lenguajeensamblador
cargador/ vinculador lenguajede alto nivel
ciclo de vida del software lenguajedemquina
compilador mantenimientode software
computadora memoria
computadora personal (PC) metodologapararesolverproblemas
correo electrnico microprocesador
depurar procesador
diagramadeE / S procesadorde textos
ejecucin programa
ensamblador programa fuente
entornointeractivo programaobjeto
error de compilacin prototipo de software
error de lgica red
grandesdesafos sistemaoperativo
hardware software
herramientaparaadministrar unidadde aritmticay lgica (ALU)
basesde datos unidadcentraldeproceso (CPU)
hoja de clculo World WideWeb
Alunizaje Materialescompuestos
Satlitesde aplicacin Jumbojets
Microprocesadores Lseres
CAD/ CAM ptica de fibras
ExploracionesCAT Productosdeingenieragentica
30
A.
RESUMEN DEL CAPTULO 31
2.4 Capacidades
degraficacin adicionales
Resumendelcaptulo, Trminos
clave,Resumen
deMATLAB,
Notasdeestilo,Notasdedepuracin,
Problemas
"Laboratorio de matri-
ces".
VENTANA DE MATLAB
quit exit.
+ MATLAB,
SEC.2.2 ESCALARES, VECTORESY MATRICES 35
ipractique!
Conteste las
siguientespreguntasacercade esta matriz:
1. QutamaotieneG?
2. D las referenciasde subndicesde todaslas posicionesque c,,..,,.,~n el
valor 0.5.
Si hay demasiados nmeros en una fila de una matriz para que quepan en una
lnea, podemos continuar la instruccin en la siguiente lnea, pero se requiereuna coma
Puntos y tres puntos (puntos suspensivos) al final de la lnea para indicarque la fila debe
sus~ensivos continuar. Por ejemplo, si queremos definir un vector de fila F con 10 valores, pode-
mos usar cualquiera de las siguientes instrucciones:
38 CAP. 2 EL ENTORNO MATLAB
B = [l.S, 3.11;
S = 13.0 Bl;
Estoscomandos
equivalenlo
a siguiente:
Tambin
podemos modificar los
valores
deunamatrizo agregar valores adicionales
usando
unareferencia
a unlugarespecfico.
As, el siguiente
comando,
Operador Operador de dos puntos. El operador de dos puntos esunoperador muy potente
dedospuntos paracrear matrices
nuevas.Por ejemplo, puedeusarse dicho operador paracrear
vectores partir
a deunamatriz.Siseusaunsignodedospuntos enunareferencia de
matrizenlugardeun subndice especfico,el signodedos puntos representa a toda
la fila o columna.
Por ejemplo,despus dedefinirunamatrizc, los siguientes
coman-
dosalmacenan la primeracolumnadec enel vectordecolumna X, la segunda
colum-
na dec enel vector columna y, y la tercera columnadec enel vector columna z:
El operador
dedos puntostambin puedeservirparagenerar matrices nuevas.
Si
se usaunsignodedos puntos para separar enteros,
dos el operadordedospuntosgene-
rar todoslos enteros entre dos
los enteros
especificados. Por ejemplo, la siguie
notacingeneraunvectorllamadoH quecontiene los nmeros del1 al 8.
El incremento
tambinpuedeser negativo, comomuestra
se enel siguiente
ejemplo,
quegeneralosnmeros 10,9,8,...
O enel vectordefila llamadovalores:
valores= 1 0 : - 1 : O ;
Submatriz El operadordedospuntostambinpuedeservirparaseleccionar
unasubmatriz
deotramatriz. Por ejemplo,
suponga quese definic enMATLAB comola siguiente
matriz:
\JPJb es
C"
Si ejecutamos los
siguientes
comandos,
cgartial-1= C(:,2:3); (aib, C:J)
cgartial-2 = C(3:4,1:2);
habremos definido
lassiguientes
matrices:
r 0 01
matriz
operador de transponer.
x y.
x i Y x (2
y (2
SEC. 2.2 ESCALARES, VECTORESY MATRICES 41
pi Representan
ir j Representa el valor
inf Representainfinito, que normalmente ocurre al dividirentrecero. Se
imprimirun mensajede advertenciacuandose calculeeste valor;si se
exhibe una matrizque contiene estevalor, el valor aparecercomo m.
NaN Representa No-es-un-nmero y suele ocurrircuandouna expresin
no est definida, comola divisin de cero entrecero.
ciock Representala hora actualen un vector de fila de seis elementos que
contiene ao,mes, da, hora,minutoy segundos.
date Representala fecha actualen formatode cadena de caracteres, como
20-jun-96.
A = zeros(3);
B = zeros(3.2);
C = [1 2 3; 4 2 51;
D = zeros (size(C));
ones
zeros
ones zeros.
B =
eye.
eye a zeros ones.
SEC.2.2 ESCALARES, VECTORESY MATRICES 43
OPCIONES DE SALIDA
Sielvalor
detempes78,lasalida
ser
lasiguiente:
78
grados F
Observe
quelosdoscomandos
disp se introdujeron
la misma
en lnea
paraquese
ejecutaran
juntos.
Salidas
conformato.Elcomandofprintf nospermite
tenertodava
ms con-
trol sobre
las salidas elque
quetenemoscon elcomandodisp. Ademsdeexhibir
tanto
texto
comovaloresdematrices,
podemos especificar
elformato que seal usar
exhibir
los y tambin saltos
valores, delnea.
La formageneral
deeste comando
esla
siguiente:
La salida
correspondiente
es:
Simodificamos
elcomandoas:
lasalida
ser:
La temperatura es
78.000000 grados F
Losespecificadores
deformato%f, %e y %g tambin
puedencontener informa
cin
paraespecificar
nmero
el deposiciones decimales y elnmero
quese exhibirn
deposiciones
quesedestinarn
alvalor correspondiente.
Considere
este
comando:
46 EL
temp se
La temperatura es 7 8 . 0 grados F
fprintf
xy xy
xy
se y.
piot, x Y
Sa&+&~&~m+&&&&~-t&.
pause (n) ,
print
ARCHIVOS DE DATOS
archivo de datos.
48 CAP. 2 EL ENTORNO MATLAB
Figura
save data-1 x y;
guarda las matrices y y en u n archivo llamado data-i .mat. Para recuperar estas
matrices en un programa MATLAB, usamos el comando:
load data-1;
Un archivo ASCII que vaya a ser utilizado por un programa MATLAB deber
contener slo informacin numrica, y cadafila del archivo deber contener el mis-
mo nmero de valores de datos. El archivo puede generarseusando un procesador
de textos o un editor; tambin puede generarse ejecutandoun programa escrito en
un lenguaje para computadora,como C, o mediante un programaMATLAB usando la
siguiente forma del comando save:
Este comandohace que cada filade la matrizz se escribaen una lnea individualdel
archivo dedatos. No se agrega la extensin .mat a los archivosASCII.
COI/@& N99tp*-
p m & e i d a t ~F3.a~d&&de&d~&&y&&
23
. Operaciones con escalares y arreglos
Las operaciones aritmticasentre dos escalares semuestranen la tabla 2.2. Las ex-
presiones que contienen escalaresy operaciones escalares sepuedenevaluary alma-
cenar en una variable especificada, comoen la siguiente instruccin,que especifica
que los valores de a y b se sumen y la suma se almaceneen x:
suma a+b
resta a-b
multiplicacin axb
divisin
exponenciacin ab aAb
debealmacenar
otra vezencuenta. Portanto,
lainstruccin equivale a es
decuenta se incremente
queel valor en1.
Esimportantetener presente
queunavariable puede
slo almacenar
unvalor a
lavez. Por ejemplo, quese ejecutaran las siguientesMATLAB
suponga instruc
una tras otra:
tiempo = 0.0;
tiempo = 5.0;
Cuandose ejecutalaprimera
instruccin 0.0enlavariable
sealmacena el valor tiem-
y es
po, sustituido 5.0cuando
por el valor se ejecuta
lasiguienteinstruccin.
Siseintroduce expresin
una sinespecificar
unavariable paraalmacenarel
resultado, resultado
el o respuesta se almacenar
automticamente en una
variable
llamadaans. Cadavezque sealmaceneun nuevovalorenans, seperder valor
el
anterior.
Elemento
a Lasoperaciones elementopor elemento.
dearreglos se ejecutan Porejemplo,
supon-
elemento gaque esun vector
defila
concincoelementosy B esun vectordefila
concinco
elementos. forma
Una degenerarun nuevovector defilac cuyos valores
seanlos
productos
delos valores correspondientes
de y deB esla siguiente:
Estos
comandos son
enesencia
comandos
escalares
porque cada
unomultiplica
un solo valor
porotroy almacena
el producto
enun tercer valor.indicar
Paraque
queremosrealizar
unamultiplicacin elemento porentre
elemento
dosmatrices de
mismo tamao,
usamosun asterisco
precedido un
por
punto.
As,
lascinco
instruc-
ciones anteriores
puedensersustituidas
lasiguiente:
por
SEC. 2.3 OPERACIONES CON ESCALARES Y ARREGLOS 51
suma a+b
resta a-b
multiplicacin a.*b
divisin a./b
exponenciacin a.Ab
c contendrlos siguientesvalores:
La exponenciacin
dearreglos tambin es una operacin elemento por e
to.Por ejemplo,
considere
las siguientes
instrucciones:
c y D sonlossiguientes:
Losvectores
quegeneraunvectorconlossiguientes
valores:
Estevectortambinpodrahaberse calculado
conla instruccin:
Losvaloresdeestas
matrices
son:
SEC.2.3 OPERACIONES CON ESCALARES Y ARREGLOS 53
TABLA 2.4Precedencia
de operaciones
aritmticas
Precedencia Operacin
parntesis,
primerolosms internos
2 exponenciacin
deizquierdaa derecha
3 y divisin,izquierda
multiplicacin de a derecha
4 suma y resta,
deizquierda
a derecha
-
pendiente= -
-
Resistencia
de un circuitoenparalelo:
I
resistencia=
-+-+-
4. Prdidade presin porfriccin en untubo:
prdida=f . p--.-
d 2
D los valorescontenidos en
el vector c despusde ejecutarse las
siguientes ins-
trucciones,donde y B contienen los valores
indicados.Verifique susrespuestas
usandoMATLAB.
m.
desbordamiento
negativoexponente
de
divisin
entre
cero
M.
xy.
x y.
x
x, x y
A
escala logartmica
56 CAP. EL MATLAB
MATLAB
x
x y.
Y.
se grficas.
se
MATLAB
Mltiples funciones
=
= - +
= + -
...
( ) ,
Si la funcin no tiene un vector aparte, comoen las columnasde se
graficarnusando los subndices de fila como valoresx.
MATLAB fija automticamentela escala de los ejes ajustndolaa los valores de datos.
Sin embargo,podemos supeditaresas escalas con el comando Hay variasfor-
mas de este comando:
Mantienela escala del eje actualparagrficas subsecuentes. Una
segundaejecucin del comandoregresa el sistemaal escalado
automtico.
Especifica la escaladel eje usandolos valores de escala que estn
en el vector el cual debe contener -,
%&
t c o / , d P@&M~C~ L~&Jd F / e / / & & &-
& d / d ec a z ~ ~ cm &A-
FP&J+. El comando precede alcomando correspondiente.
subventanas.
n,
n
2.3
%
%
-
=
aba-
nicosin ductos unducted fan)
60 CAP. 2 EI. ENTORNO M A I IAL%
rutascortasporqueno son tan rpidosni tan potentes como los motoresde aspasa
reaccinqueseempleanen losavionesde pasajeroscle mayor tamao.El motor UDF
aprovecha avances significativos en la tecnologacle hklices que se probaroncuida-
dosL~niente en tnelesde viento y quehan angostadola brechade rendimiento entre
los motores turbohlice y los de aspasa reaccicn.Nuevosmateriales,formasde as-
pas ymayores velocidades de rotacicnpermiten a los avionescon motoresUDF vo-
lar casi con la misma rapidezque los provistosde motoresde aspasa reaccin,con
mayor eficiencia de combustible.Adems,el UDF es considerablemente mssilen-
ciosoqueel motor turbohlice convencional.
Duranteu n vuelo de pruebade un avin con motor UDF, el piloto de prueba
ajustcel nivel de potencia delmotor en 40,000newtons,lo clue hacequeel avicn de
20,000 kg alcanceuna velocidad de crucero de 180 m / s (metros porsegundo).A
continuacin,las gargantasdel motor se ajustana un nivel de potencia de 60,000
newtonsy el avin comienzaa acelerar.Al aumentarla velocidaddel avicn,el arras-
tre aerodininiicoaumentaen proporcincon el cuaciradod ela velocidad respecto al
aire.Despuesde cierto tiempo,el avi611alcanzauna nuevavelocidadde crucerocn la
que el empuje de los motores UDF es equilibrado porel arrastre.Las ecuaciones
empleadas para estimar la velocidad y aceleracin delavin desdeel momentoen
quese reajustan las gargantashastaqueel avicn alcanzasu nuevavelocidadde cru-
cero (aproximadamente 120S despus)sonlas siguientes:
velocidad= 0.00001tiempo" 0.00488tiempo2
+ 0.75795tiempo + 181.3566
aceleracin= 3 -0.000062velocidad2
Escribaun programaM A ILAII quepida al usuario introducirun tiempo inicial y
un tiempo final (ambos ensegundos) quedefinanun intervalodetiempoparael cual
deseamosgraficar la velocidad y la aceleracin delavin. Supongaque el tiempo
cero representael punto en el que se aumentcel nivel de potencia.El tiempo final
deberser 120segundoso menos.
Dado que el progrania est generarido una grtica para un intervalo de tieiiipo
especficc), supoiidremos que el intervalo esde 0 a 5 segundos. Luego calcu1,iino~
unos cuantos valores con una calculadora para poderlos comparar coi1 10s valores
d e las curvas generadas por el progrania.
La generncicn de las curvas con los valores cie velocidad y aceleraci<nrequiere los
siguientes pasos:
Puesto que el intervalo d e tiempo depende de los valores de entrada, puede ser
muy pequeo o muy grande. Por tanto, en lugar d e calcular valores de velocidad
y aceleracicii en los puntos especificados, calc~ilaremos100 puntos dentro del iii-
tervalo especificado.
subplot(2,l,l),plot(time,velocity),title'Velocidad'), ...
5. PRUEBA
Primero
probamos
elprograma
usando
losdatos
delejemplo
a mano. Esto genera
lasiguiente
interaccin:
La grfica
generada por elprograma muestra
se enlafigura En vista
2.5. deque
los valores calculados coinciden
elejemploamano,
con podemosprobar progra-
el
ma conotros valores
detiempo.Silos
valores
no hubieran concordado
con el ejem-
plo,habramos tenido
quedeterminar si el
errorestuvo
en el ejemplo
o en el
programa. 2.6semuestran
En lafigura las
grficas
generadas para
elintervalo
de
tiempodeO a 120segundos.Observe
quelaaceleracin
se acerca
a cero conforme
lavelocidadacerca
se a lanuevavelocidad de crucero.
Velocidad
186- m I I I I I I I
, 185-
u
-
.
2
S?
184-
183- -
+-
l l I l I I I 1 l
181
O 0.5 1 1.5 2 2.5 3 3.5 4.5
Aceleracin
1 I l I l I I I I I
.
m
a,
09-
0.85l I I I I I I I I I 1
O 0.5 1 1.5 2 2.5 3 3.5 4.5 5
Tiempo,
Figura 2.5 y 5
Velocidad
Aceleracin
Tiempo, S
Figura
2.6K~locidnd dc n
Este resumen de MATLABlista todos los smbolos especiales, comandos y funciones que
definimos en este captulo. Tambin incluimos una descripcin breve de cada uno.
CARACTERES ESPECIALES
forma matrices
forma subndices
separa subndices o elementos de matrices
separa comandos o filas de matrices
indica comentarios
genera matrices
suma de escalares y arreglos
resta de escalares y arreglos
multiplicacin de escalares
multiplicacin de arreglos
divisin de escalares
divisin de arreglos
exponenciacin de escalares
exponenciacin de arreglos
transponer
COMANDOS Y FUNCIONES
genera
un aborto local
despeja
lapantalla decomandos
despeja
elespacio detrabajo
borra
una figura
representalahora actual
representalafecha actual
ejecuta
demostraciones
exhibe matrizo texto
representalaprecisin depunto flotante
terminaMATLAB
genera
una matriz identidad
establece
formato deslo signosy menosms
establece
formato deformacompacta
establece
formato decimal largo
establece
formato exponencial largo
establece
formato deforma nocompacta
establece
formato decimal corto
establece
formato exponencial corto
imprime informacin formateada
inserta retcula
una enunagrfica
invoca el recurso
deayuda
representael valor
representaelvalor
acepta
entradas tecladodel
representael valor
carga matrices
deun archivo
genera
unagrfica log-log 1
representa
elvalor No-es-un-nmero
genera
una matriz deunos
detiene temporalmente unprograma
representael valor7~:
genera
unagrfica xy lineal
imprime laventana degrficos
MATLAB
termina
guardavariables enun archivo
genera unagrfica log-lineal
genera
unagrfica lineal-log
determinalas dimensiones defilasy columnas
divide
laventana degrficos ensubventanas
agrega
un ttulo agrfica una
lista las variables
enmemoria
lista las variables
y sustamaos enmemoria
agrega
unaleyenda deeje x a una grfica
agrega
unaleyenda deeje y a una grfica
genera
unamatriz deceros
66 CAP. 2 EL ENTORNO MATLAB
1. Hasta que se sienta cmodo asignando valores a una matriz, omita el signo de
punto y coma despus de una definicin de matriz a fin de que se exhiban los
nmeros.
2. No use los nombres i o j para variables en un programa que maneje nmeros
complejos.
3. Pruebe una expresin complicada con valores sencillos para asegurarse de que
entiende cmo se evala.
4. Agregue parntesis extra, si es necesario, para asegurarse de que los clculos se
efecten en el orden deseado.
5. Recuerde que el logaritmo de un valor negativo o de cero no existe.
7.
8.
3.1 Funciones
matemticas
3.2 Funciones
deanlisis
de datos
3.4
3.5 Funciones
escritasel
por
usuario
3.6 Funciones
degeneracin
denmeros
aleatorios
3.7 Funciones
para manipular
matrices
/ 3.8 Ciclos
!t Resumendelcapitulo, Trminos
clave,
ResumendeMATLAB,
[ Notas
deestilo,
Notas
dedepuracin,
Problemas
Lasoperaciones y dividir
desumar, restar, multiplicar
sonlas bsicas
entre que
las usan
los ingenie-
rosy cientficos.
Sin embargo,
tambin
necesitamos realizar
otras
operaciones
rutinarias,
como calcu-
lar
larazcuadradadeunvalor, obtener
latangente
deun nguloo generar
unnmeroaleatorio. Po
ello,
aqu presentaremos funciones
variaspararealizar
clculos,
trabajar y
convalores complejos
generarnmeros aleatorios.
Tambin y funciones
estudiaremos instrucciones quenos permiten anali
o modificar valores dentro
selectos
deunamatriz.AunqueMATLABcontiene varios de cientos
fun-
ciones,habrocasiones
en quequerremos usar
unafuncin en MATLAB;por
queno est incluida
tanto,mostraremos los apasos
seguir para escribir
unafuncin
definida el por
usuario.
70 CAP. 3 FUNCIONES DE MATLAB
3.1 Funcionesmatemticas
Estas instrucciones son vlidas si anguio es un escalaro una matriz; si anguio es una
matriz, la funcin se aplicar elemento por elementoa los valores de la matriz.
Ahora que hemos visto un ejemplo del uso de una funcin, resumiremos las
Funcin reglas que lo rigen. Una funcin es una referencia que representa una matriz.Los
argumentos o parmetrosde una matriz se colocan entre parntesisdespus del nom-
bre de la funcin. Una funcin puede tener cero, uno o muchos argumentos, depen-
diendo de su definicin. Por ejemplo, pi es una funcin que no tiene argumentos;
cuando usamos la referencia de funcin pi, el valor de n: sustituye automticamente
la referencia a la funcin. Si una funcin contiene ms de un argumento, es muy
importante dar los argumentos en el orden correcto. Algunas funciones tambin re-
quieren que los argumentosestn en unidades especficas. Por ejemplo, las funciones
trigonomtricas suponen que los argumentos estn en radianes.En MATLAB, algunas
funciones usan el nmero de argumentos para determinarel resultado de la funcin.
Adems, los nombres de funciones deben estar en minsculas.
No podemos colocar una referencia de funcin a la izquierda de un signo de
igual porque representaun valor y no una variable.Las funciones pueden aparecera
la izquierda de un signo de igual y en expresiones. Las referencias de funcin tam-
bin pueden formar parte del argumentode otra referenciade funcin. Por ejemplo,
la siguiente instruccin calcula el logaritmo del valor absoluto de x:
Si se usa una funcin para calcular el argumento de otra funcin, hay que
asegurarsede que el argumento de cada funcin est encerradoen su propio juego de
parntesis.Este anidamiento de funciones tambin se llama composicin de funciones.
SEC. FUNCIONES MATEMATICAS 71
Las funciones matemticas comunes incluyen funciones para calcular el valor abso-
luto de un valor o la raz cuadrada de un valor o para redondear un valor. He aqu
una lista de estas funciones junto con descripciones breves.
1. round (-2.6
3. f loor (-2.6)
5. sign(-2.6)
7. floor(ceil(lO.8))
9. abs(-5:5)
72 CAP. 3 FUNCIONES DE MATLAB
He aqu una
lista
delas
funciones trigonomtricas
condescripciones breve
Lasdemsfunciones trigonomtricas
puedencalcularse
usando las siguie
ecuaciones:
1 1
sec(x)
= =-
csc(x) =-
cot(x)
cos(x) sen(x) tan(x)
arccsc
(x) - paraI x 1 2 1
= arcsen
arccot
(x)= arccos
-
(&)
vi2 2 a x
2.
E
3.
2vi2
8
Jv
4.
0.8333 -2
27cx2
41. y 41.~1
6.
sinh(x) X,
74 CAP. 3 FUNCIONES DE MATLAB
COB~(X) Calcula
elcoseno hiperblico
deX, que es
igual
a:
ex + e-X
2
tanh(x) Calculatangente
la hiperblica
deX, que es
igual
a:
senh
-. x
coshx
asinh(x) Calcula
el seno
hiperblico
inverso
deX, que es
igual
a:
+
in(x m).
acosh ( x ) Calcula el coseno hiperblico
inverso
deX, que es
igual
a:
+
ln(x parax mayor igual
o que1.
atanh(x) Calculatangente
la hiperblica
inversa
deX, que es
igual
a:
ln I X
para 161.
1-x
cosh x
x=-
coth se* parax + 0
1
sechx = -
coshx
1
cschx = -
senhx
x = 1ntd
acoth paraI x l 1
x-1
1 + G 2
acsch
x = ln- -
1x1 )
Escriba MATLABparacalcularsiguientes
expresiones los valores. (Suponga
quex
y quesu valor est
esun escalar en elintervalo
de valores
correcto
paralos
clculos.)
1. cothx 2. secx
3. cscx 4. acoth x
5. asechx 6. acsc x
SEC.3.1 FUNCIONESMATEMATICAS 75
-
C2
m ( m a g n i t uodvalorabsoluto
d e c,)
a,- ib,(conjugado d e c,)
s u p o n g aquec,= a,+ ib,y c,= a,+ ib,.)
eje imaginario
eje real
Figura Planocomplejo.
a = r cos 8, b = r sen 8
ib. Entonces,
seax elvalor imaginario
Ahora, porlaEc.(3.3)tenemos:
Porltimo,
sustituimos
sumas delas
lasinfinitas (3.1)y (3.2)enlaEc.(3.5)para
Ecs.
obtener:
elb cosb + i senb. (3.6)
Frmula La Ec.(3.6)esuna frmula
muy importante llamada frmula
Euler.
Esta
de
frmula
de Euler seusacon frecuencia,
as
comoestasdosfrmulas adicionales
quesepueden deducir
deella:
-
sene=-
2i (3.7)
donde,
As,
podemos representar
unnmerocomplejo (a + ib) o
yaseaenformarectangular
enforma exponencial (reie).
78 CAP. 3 FUNCIONESDE MATLAB
theta 0:2*pi/100:2*pi;
r theta/(2*pi);
polar(theta,r),title('Grfica polar')
Observe que, en la forma general,la suma del subndice del coeficiente y el exponen-
te de la variable da el grado del polinomio.
Los polinomios ocurren con frecuencia en aplicacionesde ciencias e ingeniera
porque suelen ser buenos modelos para representar sistemasfsicos. En esta seccin
veremos la evaluacin de polinomios y los clculos con polinomios. Si a usted le
interesa modelar un conjunto de datos empleando un modelo polinmico, consulte
el captulo 6, donde hablamos de ajuste de curvas.
= - + -
X.
SEC.3.1 FUNCIONESMATEMATICAS 81
LasinstruccionesMATLAB
pararealizar estasumason:
Los valores que estn en son [3,4, -9, 13, -1, 1.5, -10.5, 15, -51, que representan el
siguiente polinomio:
Como esperbamos, el vector de coeficientes del cociente es [3, -5, 6, -21, que
representa el polinomio cociente 3x3 5x2 6x 2, y el vector del residuo contiene
ceros.
Varias aplicaciones de ingeniera requieren expresar el cociente de dos polino-
mios como una suma de fracciones polinmicas. En el captulo 10 veremos tcnicas
para la expansin de fracciones parciales de un cociente de dos polinomios.
Grafique cada una de las siguientes funciones en el intervalo [0,4]. Use funciones
MATLAB con vectores de coeficientes de polinomios para evaluar las expresiones.
SEC. 3.1 FUNCIONESMATEMATICAS 83
Races donde lasraces son los valoresde x paralos quey = O. Entre losejemplosde aplica-
ciones en las quenecesitamos obtenerlas racesde ecuacionesincluyenel diseo del
sistema de controlparaun brazorobtico,el diseo de resortesy amortiguadores
paraautomviles,el anlisisde la respuestade un m0tor.yel anlisisde la estabili-
dad deun filtrodigital.
Si la funcinf(x) es un polinomiode gradoN, entoncesJx)tieneexactamenteN
races.Esas N races pueden contenerraces mltiples o races complejas, como se
mostrar enlos siguientesejemplos.Si suponemos quelos coeficientes(a, a,, . . .) del
polinomio son valores reales, todas lasraces complejassiempre ocurrirn en pares
conjugadoscomplejos.
Si un polinomio se factorizaobteniendotrminos lineales, es fcil identificar
las races del polinomio igualandocada trminoa O. Por ejemplo,considerela si-
guienteecuacin:
3.3
3
1 3
1 1 2
1 y
f,(x) = ( x - 3)(x + l ) ( x - 1 )
=x3-3x2-x+3
f2(x)= ( x - 2)3
=X3-6x2+121c-8
f,(x) = ( x + 4 ) ( x- 2)2
=x3-12x+16
f,(x) = ( x + 2)(x- (2+i))(x- (2- i))
=X3-2x2-3~+10
3.4
x.
50 7 'O0 7
Polinomios cbicos.
3.1
ecuacin
cuadrtica
3
MATLAB
(a)
a.
+ 2-
(r)
3
86 CAP. 3 FUNCIONES DE MATLAB
El vector de fila a es igual a 11, -3, -1,3], como esperbamos, porque sta es una de
las funciones de ejemplo que ya vimos en esta seccin.
Determine las races reales de los siguientes polinomios. Luego grafique cada po-
linomio en un intervalo apropiado afin de verificar que cruza el eje x en las posi-
ciones de las races reales.
Evaluacin funciones.
de Recuerde que la evaluacin de una funcin de una
variable, comof(x), implica calcularun vector de valoresx, y luego calcularun vector
correspondientede valores de la funcin como se ilustra con las siguientes instruc-
ciones:
=
= - +
Retcula Para evaluar una funcin f(x,y) de dos variables, primero definimos una retcula
bidimensional bidimensional en el planoxy. A continuacin evaluamos la funcin en los puntos de
la retcula para determinar puntosen la superficie tridimensional. Este proceso se
ilustra en la figura 3.5 que muestra una retcula subyacente de valores xy con los
correspondientesvalores de z que representanlos valores de la funcin.
Definimos una retcula bidimensional en el plano xy en MATLAB usando dos
matrices. Una matriz contiene las coordenadasx de todos los puntos de la retcula, y
la otra contiene las coordenadas y de todos los puntos de la retcula. Por ejemplo,
SEC. 3.1 FUNCIONES
As, el punto de la esquina superior izquierda de la retcula tiene coordenadas (-2, -1)
y el punto de la esquina inferior derecha de la retcula tiene coordenadas (2,2).
La funcin meshgrid genera las dos matrices que definen la retcula subyacente
para una funcin bidimensional.
X-gridl,
y-grid
Z.
x y,
X-gris y-grid.
mesh(xgts,ygts,z)
Z.
xsts y ~ t s
surf (xsts, ~ g t s , z)
Z.
xgts ysts
SEC.3.1 FUNCIONES MATEMATICAS 89
Lasinstrucciones
que generaron
las
grficas 3.6 y 3.7sonstas:
delas figuras
Observe
quelosargumentos x-grid Y y-grid podran
haber
sido
sustituidos porx y y.
Una vez
quesienta quehaadquirido solturalos usando
comandosmesh y surf,
utilice
lafuncin
help para conocer las opciones adicionales
deestos comandos y
tambin las funciones
view (para especificarelpunto de y coiormap (para espe-
vista)
cificar
las escalas
decolor).
2).
contour mesh:
contour(x,y,z)
Z. x y
\,$'
$ $
contour (x, y, 2.v)
z. x Y
meshc ( x ~ t s , y ~ t s , Z)
Z.
xsts ysts
-,
x, y, x-grid, y-grid y z
Grficade contorno
2
- -
l$$j>-
>.
o
-1
-2 -1.5 -1 -0.5 xO 0.5 1 1.5 2
Figura3.8
SEC.3.2 FUNCIONESDE ANALISIS DE DATOS
-1 -2
Y
Figura
MATLABcontiene
variasfunciones
quefacilitanla evaluaciny anlisis
dedatos.
Pri-
meropresentaremos
variasfunciones
deanlisis sencillas,
y luego veremosfuncio-
Mtricas nesquecalculan
medidas ms complejas,
o mtricas, relacionadasconun conjunto
dedatos.
ANLISIS SIMPLE
Lossiguientes grupos
defunciones
seutilizanconfrecuencia
para evaluar
un con-
juntodedatosrecabados
deunexperimento.
max min
max(x) x. x
[y,kI = max(x) x
X.
rnax(x,y) x y.
x y.
min(x) x. x
[y,k] = min(x) x
x.
min(x,~) x y.
x Y.
sum(x) X. x
proa ( x ) x. x
cumsum( x ) i" x
x. x
x
x.
cumprod ( x ) x
x. x
x
x.
p
93
(3.11)
N
Ex, x, x, x,.
k=l
mediana
mean ( x )
x. x
median ( x ) X. x
sort ( x ) x
x
MATLAB W, x Y
1. max(w) 2. min(y)
3. min(w,x) 4. mean(y)
5. median(w) 6. cumprod ( y )
7. sort 2*w+x) 8. sort(y)
94 CAP. 3 FUNCIONESDE MATLAB
Dosmedidas estadsticas
importantes para unconjunto dedatos son su varianzay su
desviacin estndar.Antesdedarlas definiciones matemticas, resulta til adquirir
un entendimiento intuitivo de estos valores. Considere los valoresde los vectores
y quese grafican en la figura3.10.Si tratramos de trazarunalnea
rectaa travsdeestos valores,
la lnea serahorizontaly estara aproximadamente en
3.0enambas grficas. Portanto,supondramos que ambos vectores tienen aproxima-
damente el mismo valormediode3.0.Sin embargo, esevidentequelosdatosdelos
dosvectores tienencaractersticasdistintivas.Losdatosde varan ms res-
pecto ala media, o sedesvan ms dela media.As, lasmedidas devarianzay des-
viacinparalos valores de sern mayores queparalosde Portanto,
Varianza entendemos intuitivamente quelavarianza (o desviacin) tiene
quever conqutan-
tovaranlos valores respecto la media.
a Cuantomayor sea la varianza, msamplia-
mente fluctuarn los valores respectoal valor medio.
Matemticamente, la varianzas? deun conjuntodevaloresde datos (que su-
pondremos estnalmacenados enunvectorx ) sepuedecalcularusando la siguiente
ecuacin, dondeo esel smbolo griego sigma:
-
6
Sucesiones aleatorias.
SEC. 3.2 FUNCIONESDE ANALISIS DE DATOS 95
MATLAB
incluye una funcin paracalcularla desviacin estndar
Calculala desviacin estndarpara los valores contenidos
en Si es una matriz, sedevuelve un vector de fila que
contiene la desviacin estndarde cada columna.
Para calcularla varianza, simplemente eleve
al cuadradola desviacinestndar.
HISTOGRAMAS
Histograma de data-1
Histograma de data-2
150 I I I I I I I I I
seleccin
if-
if:
if g < 50
count= count+ 1;
disp(g
;)
end
g count
g g
count g
g
SEC.3.3 INSTRUCCIONES DE S E L E C C I ~ NY FUNCIONES DE S E L E C C I ~ N 97
Histogramascon25 intervalos.
La forma general
delainstruccin
if sencilla
eslasiguiente:
if expresin lgica
instrucciones
end
c
C=
>
>=
--
-=
matriz
operadores
lgicos
1,
&,
& c
TABLA 3.3Operadoreslgicos
O ~ e r a d o lgico
r Smbolo