Matlab
Dr. Alfonso Alba Cadena fac@fc.uaslp.mx
Facultad de Ciencias UASLP
Introducci´n a las notas del curso o
• Estas notas est´n dise˜adas para ser una gu´ en un curso a n ıa b´sico de m´todos num´ricos. La metodolog´ sugerida es a e e ıa exponer cada uno de los m´todos en clase, resaltando sus e ventajas y desventajas, implementar algunos de los m´todos e y dejarotros como ejercicios, y utilizar los m´todos para e resolver problemas pr´cticos. a
1
Objetivos Generales
• Entender los m´todos num´ricos utilizados para la soluci´n e e o de ecuaciones, sistemas de ecuaciones, interpolaci´n, reo gresi´n lineal, diferenciaci´n e integraci´n. o o o
e • Ser capaces de implementar estos m´todos en un lenguaje de uso com´n como C/C++, o de uso espec´ uıfico como Matlab u Octave.
• Desarrollar una librer´ de m´todos num´ricos para su uso en ıa e e futuros cursos.
2
Contenido
1. Introducci´n a Octave o 2. Soluci´n de ecuaciones no lineales o 3. Sistemas de ecuaciones lineales 4. Interpolaci´n o 5. Regresi´n lineal por m´ o ınimos cuadrados 6. Integraci´n y diferenciaci´n num´ricas o o e
3
Bibliograf´ sugerida ıa
• ANALISIS NUMERICO.Richard L. Burden, J. Douglas Faires. Thompson Editores.
• METODOS NUMERICOS PARA INGENIEROS. Steven C. Chapra, Raymond P. Canale. Mc Graw Hill.
• COMO PROGRAMAR C++. Deitel y Deitel. Prentice Hall.
4
Unidad I Introducci´n a Octave o
5
GNU Octave...
• Es un lenguaje de alto nivel orientado al c´mputo num´rico o e • Trabaja nativamente con vectores y matrices • Es altamentecompatible con Matlab • Puede extenderse mediante funciones escritas en C/C++ • Es de distribuci´n gratuita o
Octave puede descargarse de http://www.octave.org
6
Operaciones con matrices y vectores
• En Octave se pueden definir matrices escribiendo sus elementos entre corchetes.
• La coma separa los elementos en columnas, y el punto y coma los separa en renglones.
Ejemplo: m = [1, 2, 3; 4,5, 6] asigna a la variable m la matriz 1 2 3 4 5 6 .
7
Acceso a los elementos de una matriz
Dada una matriz m se puede tener acceso a cualquier elemento, rengl´n, columna, o sub-matriz de m: o
• m(i,j) hace referencia a un elemento.
e o • m(i,:) hace referencia al i-´simo rengl´n.
• m(:,j) hace referencia a la j-´sima columna. e
• m(i1:i2, j1:j2) hace referencia a unasub-matriz.
8
Aritm´tica de matrices e
• Suma y resta: a + b, a - b
• Producto matricial: a * b
• Producto elemento por elemento: a .* b
• Transpuesta conjugada: a’
9
Matrices especiales
Las siguientes funciones de Octave devuelven matrices de utilidad general. • Identidad: eye(n, m) • Unos: ones(n, m) • Ceros: zeros(n, m) • Ruido uniforme: rand(n, m) • Ruido normal: randn(n, m) •Vector de n valores equiespaciados: linspace(base, limit, n) • Rango de ´ ındices: a:b (devuelve el vector [a, a+1, ..., b])
10
Ejercicios
Defina las siguientes matrices en Octave :
A=
1 2 −1 2 0 1
,
B= 2
−1 1
1 0 , C = 3 · I3×3. −2
Usando las matrices anteriores, calcule las siguientes expresiones:
a) A × B b) B × A − C c) A + λN , donde λ = 0.1 y N es ruidouniforme
11
Funciones
Una funci´n de Octave toma cero o mas par´metros (escritos o a entre par´ntesis), realiza alg´n procedimiento, y puede o no dee u volver alg´n resultado. u Ejemplos de funciones: > cos(1) ans = 0.54030 > ones(1, 5) ans = 1 1 1 1 1 > floor(mean([1, 2, 3, 4, 5])) ans = 3
12
Definici´n de funciones o
Uno puede escribir sus propias funciones de Octave usando lasiguiente sintaxis: function resultado = nombre (parametros) cuerpo de la funci´n o end Ejemplo: > function y = cuad(x) > y = x * x; > end > cuad(5) ans = 25
13
Librer´ de funciones ıas
Para poder utilizar una funci´n en el futuro, sin tener que eso cribirla nuevamente, es necesario guardarla en un archivo de texto con el mismo nombre que la funci´n y extensi´n .m o o
# Archivo: #...
Regístrate para leer el documento completo.