taller de introducciÓn a matlabsebastiandelafuente.ublog.cl/archivos/3016/clase_1_matlab.pdf ·...
Post on 26-Feb-2018
226 Views
Preview:
TRANSCRIPT
22‐10‐2009
1
TALLER DE INTRODUCCIÓN A MATLABA MATLAB
IntroducciónIntroducción
Será dictado por:
Sebastián De la FuenteCristian Herrera
Estudiantes de la Escuela en Obras CivilesEstudiantes de la Escuela en Obras Civiles
22‐10‐2009
2
IntroducciónIntroducciónTemario
Capítulo I:Capítulo I:
1. Introducción 1.1 Entorno de trabajo de matlab1.2 Uso de Help1.3 Preferencias y generalidades
2. Operaciones 2 1 O d i é i2.1 Operadores aritméticos2.2 Operadores matriciales 2.3 Comandos 2.4 Gráficos2.5 Funciones de librería
IntroducciónIntroducción3. Aplicaciones Matemáticas
3.1 Calculo
3.2 Algebra Lineal
3.3 Ecuaciones Diferenciales
4. Programación
4.1 Operadores lógicos
4.2 Lenguaje de programación.
4 3 Sentencia de programación 4.3 Sentencia de programación
4.3 Ficheros *.m
4.4 Referencia a funciones
4.5 Entrada y salida de datos
22‐10‐2009
3
IntroducciónIntroducciónCapítulo II:
5. Aplicaciones de ingeniería
5.1 Cálculo Numérico
5.2 Ingeniería Hidráulica
5.3 Ingeniería Estructural
Capítulo III:
6. Proyecto
6.1 Introducción y enfoques
6.2 Métodos
6.3 Presentaciones
IntroducciónIntroducción
Evaluaciones
Dos solemnes (50%)Primera: Aplicaciones en ciencias básicasSegunda: Programación
P (50%) Proyecto (50%) Realizar alguna aplicación de ingeniería en Matlab
22‐10‐2009
4
IntroducciónIntroducción
Objetivos
IntroducciónIntroducción ¿Qué es MATLAB?
Matlab es una de las muchas sofisticadas herramientas de computación
disponibles hoy en día.
Dentro de la gran competencia existente, Matlab se destaca por su manejo
de matrices, siendo mucho más eficiente que Mathcad, Maple y otros.
Claro! no es por nada que le debe su nombre a esta característica,
ya que MATLAB es la abreviación de Matrix Laboratoryy q y
Matlab es un excelente herramienta para programar rutinas de cálculo
numérico o resolver iteraciones, pero Ud. no querrá crear un programa de
procesamiento de palabras.
22‐10‐2009
5
IntroducciónIntroducciónAplicaciones de MATLAB en ingeniería
Ingeniería Eléctrica Ingeniería Eléctrica
Procesamiento de señales
Ingeniería Biomédica
Análisis de imágenes médicas
Dinámica de fluidos
Redes de flujo comportamiento de fluidosRedes de flujo, comportamiento de fluidos
Ingeniería estructural
Análisis estructural, análisis sísmico, diseño de elementos
Ingeniería Hidráulica
Periodo de retorno, riesgo, precipitaciones
Comenzando en MatlabComenzando en Matlab
¡Partamos!
Ambiente de Matlab
22‐10‐2009
6
Comenzando en MatlabComenzando en Matlab
Archivo
Ayuda
Historia de comandos
Área de trabajo Ventana de comandosDirectorio Actual
Comenzando en MatlabComenzando en Matlab
Opps y si no tengo la pantalla como laanterior?anterior?
22‐10‐2009
7
Comenzando en MatlabComenzando en MatlabVamos ahora a la carpeta donde trabajaremos
Buscar carpeta
Comenzando en MatlabComenzando en Matlab
Uso de variables
22‐10‐2009
8
Comenzando en MatlabComenzando en Matlab
¿Cuáles no puedo ocupar?
Comenzando en MatlabComenzando en Matlab
Matlab permite asignar valores a una función interna pero CUIDADO la variable función interna, pero CUIDADO, la variable como función dejará de existir.
22‐10‐2009
9
Comenzando en MatlabComenzando en Matlab
Comenzando en MatlabComenzando en Matlab
Si ya use una función como variable, puedo volveratrás?atrás?
…Obviamente
INGRESAR
>>clear sin
Este comando borra la variable sin
22‐10‐2009
10
Comenzando en MatlabComenzando en Matlab
Pero si quiero borrar todas la variables utilizadas?
INGRESAR>>clear
De esta manera todas las variables que hayacreado serán borradas
Comenzando en MatlabComenzando en Matlab
Operaciones Básicas
22‐10‐2009
11
Comenzando en MatlabComenzando en Matlab
Asignemos valores a variablesUsemos las operaciones básicasUsemos las operaciones básicas
Comenzando en MatlabComenzando en Matlab
¡Recordar!¡Recordar!
Matlab realiza las operaciones respetandoun orden.
Este orden es el común de las matemáticas
1. Realiza cálculos dentro de paréntesis ,desde el más interno hacia a fuera
2. A continuación realiza exponenciales3. Luego multiplica y divide de izquierda a
derecha4. Finalmente realiza las sumas y restas de
izquierda a derecha
22‐10‐2009
12
Comenzando en MatlabComenzando en MatlabCalculemos ahora el área y volumen de un cilindro1. Definamos las variables
I. RadioII. Altura
2. Definir variable superficie1. Superficie = 2*Pi*Radio^2 + 2*Pi*Radio*Altura
3. Definir variable volumen
TIP:Para borrar lo escrito anteriormente usar:>>clc
Comenzando en MatlabComenzando en Matlab
¡Interesante!
Si coloco ; después de una sentencia nome arroja un resultado
¿Dónde puedo ver las variables creadas?R: Workspace
22‐10‐2009
13
Comenzando en MatlabComenzando en Matlab
Formato de números
¿Cómo puedo hacer que matlab trabaje o muestre los números
de manera distinta?
Comenzando en MatlabComenzando en Matlab
OJO
No confundir e “constante matemática e=2.7183” con e de exponencial.
e representa potencias de 10!!
No importa cual sea el formato en que se presentenlos númeroslos números
MATLAB SIEMPRE MANTIENE SU PRECISIÓN ENEL CÁLCULO
22‐10‐2009
14
Comenzando en MatlabComenzando en Matlab
Formato long
Comenzando en MatlabComenzando en Matlab
Formato short
22‐10‐2009
15
Comenzando en MatlabComenzando en Matlab
Formato short e
Comenzando en MatlabComenzando en Matlab
Formato long e
22‐10‐2009
16
Comenzando en MatlabComenzando en Matlab
Formato bank
Comenzando en MatlabComenzando en Matlab
Formato +
22‐10‐2009
17
Comenzando en MatlabComenzando en Matlab
Formato rat
Comenzando en MatlabComenzando en Matlab
¿Cómo guardar las variables que he utilizado enmatlab al cerrar el programa?matlab al cerrar el programa?
Guardando variables
Recuperando variables
22‐10‐2009
18
Comenzando en MatlabComenzando en Matlab
Algunos comandos…
Comenzando en MatlabComenzando en Matlab
Algunos comandos…
22‐10‐2009
19
Comenzando en MatlabComenzando en Matlab
Matrices… ¿Cómo crearlas?
Comenzando en MatlabComenzando en Matlablogspace(a,b,n):genera “n” puntos entre n 10^a and 10^b.g p
Pruebe con
22‐10‐2009
20
Comenzando en MatlabComenzando en Matlab
¿Qué ocurre con esta función?
¡Interesante!
Si coloco ; después de una sentencia escomo si escribiera en otra línea
Comenzando en MatlabComenzando en Matlab
Operaciones básicas en Matrices
… Primero creemos una matriz de 3x3 pormedio del siguiente comando., y luegoRenombremos matriz, como M2
M1 i (3)>> M1=magic(3);>> M2=matriz;
22‐10‐2009
21
Comenzando en MatlabComenzando en Matlab
Operadores en matrices
.* *
./ /
.^ ^
+
-
Pruebe estas operaciones con las matricescreadas anteriormente
Comenzando en MatlabComenzando en Matlab>> M1.*M2
ans =
8 2 1812 25 4228 72 18
>> M1*M2
ans =
¡Interesante!
¿Cuál es la diferencia entre estos operadores?
ans
54 69 8472 87 10254 69 84
22‐10‐2009
22
Comenzando en MatlabComenzando en Matlab
Otras operaciones
Transpuesta ‘ Quitar una columna o fila por medio del comando
(:,1) quita todas las filas (:) de la columna (1)
Ejemplo:j p
Para la matriz creada anteriormente M1 quite laprimera columna y asígnela a la variable col1
Comenzando en MatlabComenzando en Matlab>> col1=M1(:,1)
l1¡Recuerde!
col1 =
8
3
4
Ahora asignemos la transpuesta de col1 a la variable tran_col1
¡
Operador dos puntos sirve para extraer datosde las matrices
>> trans_col1=col1'
trans_col1 =
8 3 4
22‐10‐2009
23
Comenzando en MatlabComenzando en Matlab… Por último
Realice lo siguiente:
>> trans_col1*M1
ans =
89 59 77
¿y si ocupase el comando .* , que ocurriría?
Comenzando en MatlabComenzando en Matlab>> col1=M1(:,1)
l1col1 =
8
3
4
Ahora asignemos la transpuesta de col1 a la variable tran_col1
>> trans_col1=col1'
trans_col1 =
8 3 4
22‐10‐2009
24
Comenzando en MatlabComenzando en Matlab
Usando Matrices
Comenzando en MatlabComenzando en Matlab
¿Cuál es el tamaño de la matriz M3?
>> tam=size(M3)
tam =
10 10
22‐10‐2009
25
Comenzando en MatlabComenzando en Matlab
Comando end
Si uno no sabe donde termina una matriz, puede saber su
tamaño a través del comando anterior.
Pero si quiero saber el valor de un elemento al final de una
Matriz, de una cierta fila o columna resulta más rapido utilizar
l i ilo siguiente:
Comenzando en MatlabComenzando en Matlab>> M3(1,end)
ans =
40
>> M3(end,end)
ans =
59
22‐10‐2009
26
Comenzando en MatlabComenzando en Matlab
Matrices Especiales
Comenzando en MatlabComenzando en Matlab
Matrices Especiales
22‐10‐2009
27
Comenzando en MatlabComenzando en Matlab
Matrices Especiales
Comenzando en MatlabComenzando en Matlab
Matrices Especiales
22‐10‐2009
28
Comenzando en MatlabComenzando en Matlab
Y si tengo alguna duda sobre Matlab o quierover si hace algo que necesitover si hace algo que necesito…
Uso de ¡¡¡¡¡¡Help!!!!!
F1
Comenzando en MatlabComenzando en Matlab
Uso de ¡¡¡¡¡¡Help!!!!!
22‐10‐2009
29
Comenzando en MatlabComenzando en Matlab
Búsquedaq
Temas
Comenzando en MatlabComenzando en Matlab
22‐10‐2009
30
Comenzando en MatlabComenzando en Matlab
Ahora busquemos algunas de las funciones dematricesmatrices ….
Comenzando en MatlabComenzando en Matlab
22‐10‐2009
31
Comenzando en MatlabComenzando en MatlabFunciones Internas
Funciones matemáticas comunes
Abs():Valor AbsolutoSqrt(): Raiz CuadradaNthroot(x,n): raíz enésima del numero xSign(x): regresa 1,0,-1Rem(x,y): calcula el residuo de x/yExp(x): e^xLog(x): logaritmo en base natural Ln(x)Log10(x): Logaritmo en base 10 Log10
Comenzando en MatlabComenzando en Matlab
Funciones Internas
Funciones de redondeo
22‐10‐2009
32
Comenzando en MatlabComenzando en Matlab
Funciones Internas
Funciones discretas
Comenzando en MatlabComenzando en Matlab
Funciones Internas
Funciones discretas
22‐10‐2009
33
Comenzando en MatlabComenzando en Matlab
Funciones Internas
Funciones trigonométricas
Comenzando en MatlabComenzando en Matlab
Funciones Internas
Funciones trigonométricas
22‐10‐2009
34
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Análisis de datos
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Análisis de datos
22‐10‐2009
35
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Análisis de datos
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Análisis de datos
[a,b]=min(x)
min(x,y)
22‐10‐2009
36
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Análisis de datos
Mean(x): Promedio por columnaMedian(x): MedianaSum(x) : Suma por columnaProd(x):Suma por columna
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Ordenamiento
Sort(x)
22‐10‐2009
37
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Ordenamiento
Sort(x, ‘descend’)
Comenzando en MatlabComenzando en Matlab
Funciones Internas: Ordenamiento
22‐10‐2009
38
Comenzando en MatlabComenzando en Matlab
Funciones Internas :Funciones trigonométricas
Comenzando en MatlabComenzando en Matlab
Funciones Internas :Funciones trigonométricas
22‐10‐2009
39
Comenzando en MatlabComenzando en Matlab
Pero …..y MATLAB con letras????
Comenzando en Comenzando en MatlabMatlab¿Cómo puedo resolver una ecuación lineal, cuadrático
o un sistema de ecuaciones?
Usando el Comandosolve como Se muestra
22‐10‐2009
40
Comenzando en Comenzando en MatlabMatlabSi quiero ver los resultados obtenidos en números decimales, se debe usar el comando,
double
Comenzando en Comenzando en MatlabMatlab
¿MATLAB es un programa solamente de carácter numérico?carácter numérico?
También es de carácter simbólicoTambién es de carácter simbólico,es decir, se puede derivar, integrar, evaluar,
sumar polinomios, etc.
22‐10‐2009
41
Comenzando en Comenzando en MatlabMatlabPara todo lo que sea simbólico se ocupa
sym o syms dependiendoy y p
Comenzando en Comenzando en MatlabMatlab
Obsevaciones:
sym es para valores numéricos y si se quiere transformar una variable a simbólica hay que guardarla sobre la misma.
Cuando sean muchas la variables que se quieren hacer simbolica entonces se usa syms
22‐10‐2009
42
Comenzando en Comenzando en MatlabMatlab
Es importante mencionar que para definir una función simbólica hay que definir cada una de sus variables simbólicas.
Comenzando en Comenzando en MatlabMatlabPara definir una función con variables simbólicassolo debemos usar syms, como se usoy ,anteriormente y hacer lo siguiente
22‐10‐2009
43
Comenzando en Comenzando en MatlabMatlabSi se quiere saber lasvariables simbólicas que tiene una función,hay que ocupar elcomandoFindsym(“nombre de la función”)
Comenzando en Comenzando en MatlabMatlabEs importante destacar que si la función f que tiene
guardadas variables simbólicas y la transfórmanos
en una variables simbólica ésta dejara de ser un
función
22‐10‐2009
44
Comenzando en Comenzando en MatlabMatlab¿Que pasa si quiero evaluar un función simbólica?
Hay que usar el comando subs(f,x,y)y q ( y)
Siendo
f: función simbólica
x: variables simbólica a reemplazar
y: número o variables por que la que reemplaza x
Comenzando en Comenzando en MatlabMatlab
22‐10‐2009
45
Comenzando en Comenzando en MatlabMatlabPara graficar una variable simbólica se usa el comando ezplot(f,x)p ( , )
Siendof: función simbólicax: intervalo donde se graficará f
Al ingresar
Comenzando en Comenzando en MatlabMatlabSe obtiene
22‐10‐2009
46
Comenzando en Comenzando en MatlabMatlab
Y si quiero volver a lenguaje numérico, ¿Como lo hago?¿Como lo hago?
Para eso existe al comando
Comenzando en Comenzando en MatlabMatlab
Ya …y…¿Como lo uso?Bueno usando la función f definida anteriormente eBueno usando la función f definida anteriormente e
Ingresamos lo siguiente en Matlab
OJOcon poner la función entre ‘ ‘ por que si no pasará p q pesto.
En este caso G depende de f de forma lineal y pasa por el origen.
22‐10‐2009
47
Comenzando en Comenzando en MatlabMatlab
¿Y si quiero pasar una función numérica Simbólica? numérica Simbólica? se usa
sym
Comenzando en Comenzando en MatlabMatlab
Propiedades de funciones simbólicas Limite =lim(f x a) Limite =lim(f,x,a)f: función simbólicax: variable que se evalúaa: valor al que tienen la variable “x” Derivara=diff(f,x,a)f: función simbólicax: variable que se evalúaa: grado de la integral
22‐10‐2009
48
Comenzando en Comenzando en MatlabMatlab
integrar=int(f,x,a,b)f: función simbólicaf: función simbólicax: variable que se evalúaa: limite superior de la integralb: limite inferior de la integral
En el limite si no se coloca un valor “a” , Matlab por defecto tiene el limite a cero (a=0)
Comenzando en MatlabComenzando en Matlab
FIN CLASE FIN CLASE 1
¡GRACIAS!¡
top related