Sie sind auf Seite 1von 107

COMPUTACION II

CAPITULO I

QU ES MATLAB?
El nombre mismo de MATLAB es una abreviatura de Matrix
Laboratory, laboratorio matricial. En un nivel fundamental, se
puede pensar que estos programas son sofisticadas
calculadoras con base en una computadora. Son capaces de
realizar las mismas funciones que una calculadora cientfica, y
muchas ms, incluso para la ms simple de sus aplicaciones
matemticas.
MATLAB no siempre es la mejor herramienta para usar en una
tarea de programacin. El programa destaca en clculos
numricos, especialmente en los relacionados con matrices y
grficas, puesto que MATLAB es ptimo para matrices, si un
problema se puede formular con una solucin matricial,
MATLAB lo ejecuta sustancialmente ms rpido que un
programa similar en un lenguaje de alto nivel.

CMO SE USA MATLAB EN LA


INDUSTRIA?
La habilidad para usar herramientas tales
como MATLAB se convirti rpidamente en
un requisito para muchos puestos de
ingeniera. MATLAB es particularmente
popular para aplicaciones de ingeniera
elctrica, aunque se usa muchsimo en
todos los campos de la ingeniera y
ciencias.
Ingeniera elctrica: aplicaciones de
procesamiento de seales.
Ingeniera
biomdica:
herramientas
para imgenes
Dinmica de fluidos: Los clculos que
describen
velocidades
de
fluidos
(rapideces y direcciones), comportamiento
de los gases

Resolucin de Problemas
Ingeniera y Ciencias

en

En las disciplinas de ingeniera, ciencias y programacin de


computadoras, es importante tener enfoque consistente para
resolver los problemas tcnicos. El enfoque que se plantea a
continuacin es til en cursos tan distintos como qumica, fsica,
termodinmica y diseo de ingeniera.
Plantear el problema: Si no se tiene una comprensin clara del
problema es imposible que se pueda resolver, se puede hacer un
dibujo.
Describir los valores de entrada(conocidos) y los salidas
(incgnitas)
Desarrollar un algoritmos: Identificar ecuaciones que relaciones
lo valore conocidos con la incgnitas, y realizar pruebas de
escritorio
Resolver el problema: solucin en Matlab
Probar la solucin: los resultados tienen sentido, coinciden los
clculos con las muestras, y es lo que se esperaba como resultado.

Ambiente de Matlab

En la parte central de la pantalla se encuentra la ventana


de comandos (Command Window), sta es la ventana
ms importante, ya que en ella se deben teclear las
instrucciones a ejecutar, apareciendo el resultado de
inmediato.
A la derecha, en la parte superior, aparece la ventana de
espacio de trabajo (Workspace) que guarda la informacin
de las variables utilizadas en la sesin de trabajo actual.
A la derecha, en la parte inferior, se encuentra la ventana
de historia de comandos (Command History) que guarda
todas las sentencias que se han ejecutado en la ventana
de comandos en las ltimas sesiones de trabajo.
Editor (aqu se escribirn nuestros programas).

Empezando a trabajar
Para comenzar a trabajar con Matlab, se teclear la orden que se
desee ejecutar en la ventana de comandos, despus del smbolo del
sistema >>, pulsando al final la tecla ENTER. Entonces el programa
ejecutar la orden guardando el resultado en la memoria RAM del
ordenador. Vase a continuacin un ejemplo en el que se pide a
Matlab que ejecute una suma sencilla:
>> 2+3
ans =

5
El resultado se guarda en la variable reservada ans, que
inmediatamente aparecer en la ventana workspace. sta se crea
automticamente cuando una expresin de la ventana de comandos
no se asigna a ninguna otra variable. Guarda la informacin de la
ltima respuesta que cumpla la condicin anterior.

Operaciones aritmticas
Los operadores aritmticos aplicables son los
siguientes:

Suma: +
Resta: Producto: *
Divisin derecha: /
Divisin izquierda: \
Potenciacin: ^

Ejemplos

>> 2.4*6
14.4000
>> 2^3
8
>> -1^4
-1
>> (-1)^4
1
>> 3/4
0.7500
>> 3\4
1.3333
>> 2/3^2
0.2222 (la potencia tiene mayor prioridad)
>> 2/3*2
1.3333

Limpieza de texto de la ventana de


comandos
Para eliminar todo el texto escrito en la
ventana de comandos se utiliza el
comando clc. La ejecucin de esta orden
no afecta a las variables de la sesin de
trabajo (la ventana Workspace sigue
manteniendo las variables)
Para vaciar el Workspace es decir el
contenido de las variables utilizamos el
comando clear.

EJERCICIO ORDEN DE LAS OPERACIONES


Encontrar el rea de un cilindro circular recto

Si la altura del cilindro es 10 cm y el radio es de 5


cm; podemos determinar el rea:

Lo que es incorrecto:

Determinar:

TRABAJO EN CLASE 1

Para la resolver del problema


use la siguiente metodologa:

Establezca el problema
Describa las entradas y salidas
Desarrollo un ejemplo a mano
Desarrolle una solucin en
Matlab
Ponga a prueba la solucin.

TAREA N 1

INTRODUCCIN A VECTORES Y
MATRICES
Definicin de vectores desde teclado
Para definir un vector no hace falta establecer de antemano su tamao
(de hecho, ste cambia de forma dinmica cuando es preciso).
Simplemente, se disponen los valores de los elementos que van a
componer el vector entre corchetes, separados por espacios o una coma,
en el caso de vectores fila, o por el carcter punto y coma (;) , en el caso
de vectores columna.
Al teclear
>>b=[1 2 3 4 5]
o bien
>>b=[1,2,3,4,5]
se genera el vector fila b:

1 2 3 4 5,

que aparecer como tal en la ventana Workspace.

Mientras que:
>>c=[1;2;3]

genera el vector columna c:


6
2
9
Para acceder a las componentes de un vector se
utilizan unos enteros llamados ndices. Los ndices
correspondientes a los elementos de un vector
comienzan en uno.
>>c(3)
ans=9

Generacin rpida de
vectores.
Operador (:)
Se van a analizar a continuacin otras formas de generacin
de vectores que no necesitan de la escritura explcita de
todos sus elementos:
variable=[vin:vfin] Define el vector cuyos primer y ltimo
elemento son los especificados por vin y vfin, estando los
componentes intermedios separados por una unidad. Est
permitido no utilizar los corchetes o sustituirlos por
parntesis.
>>v=1:10
v=
1 2 3 4 5 6 7 8 9 10

variable=[vin:incr:vfin] Define el vector cuyos


primer y ltimo elemento son los especificados
por vin y vfin, estando los componentes
intermedios separados por incr. Est permitido
no utilizar los corchetes o sustituirlos por
parntesis.
>>v=1:2:10
v=
13579

Funcin linspace
variable=linspace (x1,x2,n) Genera un vector
con n valores igualmente espaciados entre x1 y
x2.
>> v=linspace(1,10,7)
v=
1.0000 2.5000 4.0000
8.5000 10.0000

5.5000

7.0000

OPERACIONES CON ARREGLOS

EJERCICIO

Despliegue de nmeros
Notacin cientfica: La Notacin cientfica expresa
un valor como un numero entre 1 y 10
multiplicado por una potencia de 10. En Matlab se
designan con una e entre el numero decimal y el
exponente.
>> a=6.022e23
No debe existir espacios en blanco entre el numero
decimal y el exponente.
>>6.022 e23

Formato de despliegue: Matlab usa en sus


clculos nmeros punto flotante , de cuantos
dgitos se usen depende de su clculo. Los enteros
se imprimen sin punto decimal, los valores con
fracciones decimales se imprimen en el formato
corto por defecto muestra 4 dgitos decimales.

MATLAB permite especificar otros formatos que


muestren dgitos significativos adicionales.
format long: Despliega en un formato decimal de 14
dgitos decimales.

format bank (formato banco): se despliega dos dgitos


decimales.
format short: Regresa el formato a 4 dgitos
decimales.
format short e: despliega los nmeros en notacin
cientfica con cuatro dgitos decimales.
format long e: despliega los nmeros en notacin
cientfica con 14 dgitos decimales.

format +: los nicos caracteres que se imprimen


son los signos mas y menos.

format rat: despliega nmeros como nmeros


racionales (fracciones)

Ejemplo:

COMO GUARDAR EL TRABAJO


Como guardar variables

Para guardar el contenido de la ventana del rea de


trabajo se utiliza por defecto un archivo binario
llamado archivo MAT (solo se guardan las variables
no la lista de comandos).
save <file name>
Para restaurar el area de trabajo escrinimos:
load <file name>
Tambin se puede almacenar matrices individuales
o listas de matrices en el directorio actual
save<filename><variable_list>

Archivos m-script
MATLAB contiene un poderoso lenguaje de
programacin, en el que se puede crear y guardar
cdigo en archivos llamados archivos-m.
Home NewScript

Para guardar un archivo-m este se almacena en le


directorio actual, ser necesario nombrar el archivo
con un nombre vlido:
Un nombre que empiece con una letra
Solo puede contener nmeros, letras y el guion bajo
No se permite espacios en blanco

Para ejecutar un script creado en la ventana de


edicin puede hacerse desde del icono Run o
escribiendo el nombre del archivo en la ventana
de comandos o con el comando run

Usar archivos m script le permite trabajar en un


proyecto y guardar la lista de comandos para uso
futuro. Es buena idea insertar comentarios para
describir ciertas instrucciones para ellos usamos
el signo de porcentaje %. MATLAB no ejecuta
cdigo alguna en una lnea comentada.

TRABAJO EN CLASE 2

TAREA N2

Manipulacin de matrices
MATLAB
Definicin de matrices desde teclado
Al igual que en vectores, para definir una matriz no hace falta
establecer de antemano su tamao. MATLAB determinan el nmero
de filas y de columnas en funcin del nmero de elementos que se
introducen. Las matrices se definen por filas, estando los elementos
de una misma fila separados por blancos o comas, mientras que las
filas estn separadas por caracteres punto y coma (;).
Por ejemplo, el siguiente comando define una matriz A de
dimensin (3x3):
>> A=[1 2 3; 4 5 6; 7 8 9]
La respuesta del programa es:
A=
123
456
789

Al igual que en el caso de vectores, se puede


generar los elementos de las filas sin tener
que escribirlos uno a uno. Ejemplo:
>> A=[1:5;5:-1:1;linspace(0,11,5)]
A=
1.0000
2.0000
3.0000
5.0000
5.0000
4.0000
3.0000
1.0000
0
2.7500
5.5000
11.0000

4.0000
2.0000
8.2500

MATLAB tambin le permite definir una matriz en


trminos de otra matriz que ya se haya definido.
Por ejemplo, los enunciados

Para acceder a las componentes de una matriz se


utilizan unos enteros llamados ndices. Estos se
enumeran de columna en columna cuando utilizamos un
solo ndice.
>>c(5 6 7; 1 8 3; 5 4 2)
>>c(4)
ans
6
O podemos hacerlo nombrando la fila y la columna
>>c(3,1)
ans
5

Se pueden cambiar los valores en una matriz, o


incluir valores adicionales, con un nmero ndice
para especificar un elemento particular. Este
proceso se llama indexacin en un arreglo.

Uso del operador dos puntos


El operador dos puntos es un operador muy
poderoso para definir nuevas matrices y modificar
las existentes.

El operador dos puntos tambin se puede usar


para extraer datos de las matrices, una
caracterstica que es muy til en anlisis de datos.

todas las filas en la columna 1.

todas las filas en la columna 4.


fila 1, todas las columnas.
filas 2 a 3, todas las columnas.
filas 2 a 3 en las columnas 4 a 5.

transforma la matriz en una larga column

R=M([1,3], fila 1 y 3 columna 3


3)

Para encontrar el valor en la


fila 2, columna 3
El valor en la fila 2, columna
3 de la matriz M es el
elemento nmero 8.
end para identificar la fila o
columna final en una matriz

MATRICES ESPECIALES
Matriz de ceros: A veces es til crear una matriz
de ceros. Cuando se usa la funcin zeros con un
solo argumento escalar de entrada, se genera una
matriz cuadrada:

Matrices mgicas
MATLAB incluye una funcin matricial llamada
magic que genera una matriz con propiedades
inusuales. Parece no haber algn uso prctico
para las matrices mgicas, excepto que son
divertidas. En una matriz mgica, la suma de
todas las columnas es la misma, al igual que la
suma de todas las filas.

TRABAJO EN CLASE N3

TAREA N3

FUNCIONES INTERNAS DE
MATLAB
La gran mayora de los clculos de ingeniera requieren
funciones matemticas muy complicadas, incluidos
logaritmos, funciones trigonomtricas y funciones de
anlisis estadstico. MATLAB tiene una extensa librera de
funciones internas que le permiten realizar dichos clculos.
Uso Funciones Internas
Se puede considerar que todas las funciones por lo
general tienen tres componentes: nombre, entrada
(argumento) y salida.
Los argumentos de la funcin pueden ser escalares o
matrices.

Nombre de la funcin: sqrt


Argumento o entrada : puede ser un escalar o una
matriz
Salida: es un valor o valores calculados
>>x=9
>>b=sqrt(x)
b=3
>>x=[4,9,16]
>>b=sqrt(x)
b=[2,3,4]

Algunas funciones requieren varias entradas como la funcin


residuo rem , que requiere el dividendo o divisor
rem(x,y)
>>rem(10,3)
>>ans=1
La funcin size es una funcin que regresa dos salidas.
Determina el numero de filas y el numero de columnas
>>d=[1 2 3; 4 5 6; 7 8 9]
>>f=size(d)
>>f=
3

Tambin se puede asignar nombres de variables a casa una de


las respuestas al representar al lado izquierdo del enunciado de
asignacin como una matriz
>>[x,y]=size(d)
x=3
y=3

Funciones Matemticas
comunes
Clculos comunes

Funciones de redondeo

Matemticas discretas
MATLAB incluye funciones para factorizar nmeros,
encontrar denominadores y mltiplos comunes,
calcular factoriales y explorar nmeros primos.
Todas estas funciones requieren escalares enteros
como entrada. Las matemticas discretas son las
matemticas de nmeros enteros

FUNCIONES TRIGONOMTRICAS

FUNCIONES DE ANLISIS DE
DATOS

Media y mediana

Sumas y productos

NMEROS ALEATORIOS

Fecha y Hora
clock devuelve un vector fila de seis elementos que
representan el ao, el mes, el da, la hora, los minutos y
los segundos, segn el reloj interno del computador. Los
cinco primeros son valores enteros, pero la cifra
correspondiente a los segundos contiene informacin hasta
las milsimas de segundo.
now devuelve un nmero (serial date number) que
contiene toda la informacin de la fecha y hora actual. Se
utiliza como argumento de otras funciones.
date devuelve la fecha actual como cadena de caracteres
(por ejemplo: 24-Aug-1999).
calendar() devuelve una matriz 6x7 con el calendario del mes
actual, o del mes y ao que se especifique como argumento.

TAREA FUNCIONES
INTERNAS

GRAFICACIN
La graficacin se la utiliza para hacer que la
informacin se entienda mas fcilmente, se las
utiliza para una rpida verificacin y determinar si
una solucin de computadora produce los
resultados esperados.
Grficas Bidimensionales
Un conjunto de pares ordenados se usa para
identificar puntos sobre una grafica bidimensional
luego los puntos se conectan con lneas rectas. A la
variable independiente se le da el nombre de x y se
grafica en el eje de las x y la variable dependiente
se recibe el nombre de y se la grafica en el eje y.

Grfica bsica
Definir los vectores de valores x y valores de y.
Ejemplo:
Se puede almacenar los valores de tiempo en un
vector llamado x (o cualquier nombre) y los valores
de distancia en un vector llamado y:

Para graficar estos puntos utilizamos el comando


plot con argumentos x,y
>>plot (x,y)

Ttulos, etiquetas y retculas


Para el titulo utilizamos el comando:
>>title(Mensaje deTitulo de la Ventana)
Para etiquetar los ejes x y y usamos el comando:
>>xlabel (Tiempo, seg)
>>ylabel (Distancia,pies)
Para aadir una reticula (grilla o cuadricula) a la grafica:
>>grid on
Introduce texto con ayuda del ratn: el cursor cambia de
forma y se espera un clic para introducir el texto en esa
posicin
>>gtext('texto')

PLOT(X,Y) grafica el vector Y versus el vector X. si


X o Y es una matriz, entonces el vector es
graficado versus las filas o columnas de la matriz,
lo que se alinea.
x=[1 2 3 4];
y=[2 4 8 16;1 2 3 4];
plot(x,y)
y=[1 2 3 4];
x=[2 4 8 16;1 2 3 4];
plot(x,y)
PLOT(Y) grafica las
columnas de Y versus
su ndice.
y=[1 2 4 8]; plot(y)

Creacin de grficas mltiples


El comando figure le permite abrir una nueva
ventana de figura. Cada vez que se solicite una
grafica se desplegara una nueva ventana.
El comando hold congela la grafica de modo que
se puede recubrir una grafica adicional.

Otra forma de crear una grfica con mltiples


lneas es solicitar ambas lneas en un solo plot.

Si plot se llama con dos argumentos, uno un vector


y el otro una matriz.

Lnea, color y estilo de marca

x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
plot(x,y,'--rs','LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor','g',...
'MarkerSize',10)

Escalamiento de ejes y
anotaciones graficas

Ejemplo:
Queremos dibujar ahora la grfica de la funcin y
= xex2.
>>x=-3:.01:3;
>>y=x.*exp(-x.^2);
>>plot(x,y)
>>grid on
>>plot(x,y,r*)

SUBGRAFICAS
El comando subplot le permite subdividir la
ventana de graficacin en una retcula de m
filas y n columnas.
subplot(m,n,p)
p identifica la porcin de la ventana donde se
dibujara la siguiente grafica.
>>subplot(2,2,1)

Ejemplo:

TRABAJO EN CLASE 1/4

Uso de Subgrficas
En el primer problema se cre cuatro grficas. Combnelas en
una figura con cuatro subventanas, con la funcin subplot de
Matlab.

OTROS TIPOS DE GRAFICAS


BIDIMENSIONALES
Graficas Polares: Permite graficas en coordenadas
polares. Un punto de la curva en polares
polar(theta,r)
theta ngulo en radianes; ngulo que forma el
vector de posicin del punto con el eje horizontal,
medido en sentido positivo
r distancia radial distancia al origen

Ejemplo:

Ejemplo:
Para dibujar la grfica de r = 24cos()

>>tetha=linspace(-pi,pi,100);
>>r=2-4*cos(tetha);
>>polar(tetha,r)

Grficas logartmicas
Para la mayora de las grficas que se generan, los ejes x y y
se dividen en intervalos igualmente espaciados; dichas
grficas se llaman grficas lineales o rectangulares. Sin
embargo, en ocasiones es posible que se quiera usar una
escala logartmica en uno o ambos ejes. Las grficas
logartmicas (a la base 10)
tambin son tiles para
representar datos que varan exponencialmente.
El logaritmo de un nmero negativo o de cero no existen. Si
sus datos
incluyen estos valores, MATLAB emitir un mensaje de
advertencia y no se graficarn los puntos en cuestin. Sin
embargo, generar una grfica con base en los puntos
restantes.

Ejemplo: Grfica de y = 5x2 con los cuatro


enfoques de escalamiento,

Graficas de Funcin
La funcin fplot le permite graficar una funcin sin
definir arreglos de valores x y y correspondientes.

MATLAB calcula automticamente el espaciamiento


de los valores x para crear una curva suave.
Note que el primer argumento en la funcin fplot es
una cadena que contiene la funcin y el segundo
argumento es un arreglo

TRABAJO 1/5 OTROS TIPOS DE


GRAFICAS Y DE FUNCION

CONSULTA
GRAFICAS DE BARRAS Y DE PASTEL

GRAFICAS TRIDIMENSIONALES
Matlab ofrece una serie
de
comandos
para
graficas
tridimensionales:
Grafica
Lineal
Tridimensional
La funcin plot3 acepta
datos en 3 dimensiones es
decir se debe proporcionar
vectores en x, y ,z. Estos
datos se grafican en una
espacio
de
tres
dimensiones y se conectan
con lneas rectas.

Ejemplo

Ejemplo:

>> a = 10; b = 1.0; c = 0.3;


>> t = linspace(0, 2*pi, 200);
>> x = b*cos(t);
>> y = b*sin(t);
>> z = c*cos(a*t);
>> plot3(x, y, z, 'k')
>>comet3(x, y,z)

Superficies tridimensionales
Matlab contiene un conjunto de funciones grficas 3D para
crear superficies, contornos, y variaciones, as como
especializaciones de esas formas bsicas.
Una superficie se define por la expresin Matlab z=f(x,y)
donde x e y son las coordenadas en el plano xy y z es la altura
resultante.
Los puntos de la rejilla se definen mediante dos matrices. La
matriz X guarda las abscisas de los puntos y la matriz Y las
ordendas de dichos puntos. La funcin meshgrid de MATLAB
crea la matriz X y la matriz Y.
Se calculan los valores de z=f(x,y) para cada unos de los
puntos de la rejilla.
Surf dibuja una superficie compuesta de parches de
colores que dependen de la magnitud z

Ejemplo
z=x2-y2 para el dominio -2x3, -2y3

x=-2:3;
>> y=-2:3;
>> [X,Y]=meshgrid(x,y);
Z=X.^2-Y.^2;
mesh(X,Y,Z);
xlabel('X')
ylabel('Y')
zlabel('Z')

TRABAJO EN CLASE 1/6

Entradas y salidas controladas


por el usuario
Matlab ofrece funciones internas para permitir el
usuario ingrese valores.
La funcin input: despliega una cadena de texto en
la ventana de comando y luego que el usuario
proporcione la entrada solicitada.
z=input (Ingrese una valor);
Para ingresar una matriz usamos los corchetes [ ]
Para ingresar una cadena usamos O ESPECIFICAR
QUE ES UNA CADENA

Opciones de Salida
Matlab ofrece otros dos enfoques para desplegar
los resultados.
Funcin de despliegue (display)
La funcin display o disp se usa para desplegar los
contenidos de una matriz sin imprimir su nombre.
disp(x)
disp('los valores de la matriz son:');

Salida formateada
La funcin fprintf (funcin impresa formateada):
se utiliza para especificar el formato a usar al
desplegar los valores, y saltar de linea.
Formato
fprintf(format-string, var,.)

Ejemplo:
X=5;
fprintf(Hay %f elementos en el vector,x);
% es una marcador de posicin que se ubica en
donde se va a insertar el valor de la variable.
f se utiliza para le formateo el cual le indica a
Matlab desplegar el valor de la variable en un
formato de punto fijo por defecto. ( el formato por
defecto es 6 lugares despus del punto decimal)

Tipos de formatos

Comandos de formato especial

Trabajo en clase 1/7


1. Use el comando disp para crear un titulo para
una tabla que convierte de centmetros a
Kilmetros.
2. Use el comando disp para crear encabezados
de columna para su tabla.
3 Cree un vector cent desde 0 hasta 15000 de
100
Calcule los correspondientes valores en Kilom
Agrupe el vector cent y el vector Kilom en una
matriz
Use el comando fprintf para enviar sus tabla a
la ventana
de comandos

Das könnte Ihnen auch gefallen