programación numérica
on Num´
erica
Dr. Alfonso Alba Cadena
fac@fc.uaslp.mx
Facultad de Ciencias
UASLP
Introducci´
on a las notas del curso
• Estas notas est´
an dise˜
nadas para ser una gu´ıa en un curso
b´
asico de m´
etodos num´
ericos. La metodolog´ıa sugerida es
exponer cada uno de los m´
etodos en clase, resaltando sus
ventajas y desventajas, implementar algunos de los m´etodos
y dejar otros como ejercicios, y utilizar los m´
etodos para
resolver problemas pr´
acticos.
1
Objetivos Generales
• Entender los m´
etodos num´
ericos utilizados para la soluci´
on
de ecuaciones, sistemas de ecuaciones, interpolaci´
on, regresi´
on lineal, diferenciaci´
on e integraci´
on.
etodos en un lenguaje de
• Ser capaces de implementar estos m´
uso com´
uncomo C/C++, o de uso espec´ıfico como Matlab
u Octave.
• Desarrollar una librer´ıa de m´
etodos num´
ericos para su uso en
futuros cursos.
2
Contenido
1. Introducci´
on a Octave
2. Soluci´
on de ecuaciones no lineales
3. Sistemas de ecuaciones lineales
4. Interpolaci´
on
5. Regresi´
on lineal por m´ınimos cuadrados
6. Integraci´
on y diferenciaci´
on num´
ericas
3Bibliograf´ıa sugerida
• 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´
on a Octave
5
GNU Octave...
• Es un lenguaje de alto nivel orientado al c´
omputo num´
erico
• Trabajanativamente con vectores y matrices
• Es altamente compatible con Matlab
• Puede extenderse mediante funciones escritas en C/C++
• Es de distribuci´
on gratuita
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 ycoma 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´
on, columna, o sub-matriz de m:
• m(i,j) hace referencia a un elemento.
esimo rengl´
on.
• m(i,:) hace referencia al i-´
• m(:,j) hace referencia a la j-´esima columna.
• m(i1:i2, j1:j2) hace referencia a una sub-matriz.
8
Aritm´
etica de matrices
• 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
,
−1
B= 2
1
1
0 , C = 3 · I3×3.
−2
Usando las matrices anteriores, calcule lassiguientes expresiones:
a) A × B
b) B × A − C
c) A + λN , donde λ = 0.1 y N es ruido uniforme
11
Funciones
Una funci´
on de Octave toma cero o mas par´
ametros (escritos
entre par´
entesis), realiza alg´
un procedimiento, y puede o no devolver alg´
un resultado.
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´
on de funciones
Uno puede escribir sus propias funciones de Octave usando la
siguiente sintaxis:
function resultado = nombre (parametros)
cuerpo de la funci´
on
end
Ejemplo:
> function y = cuad(x)
> y = x * x;
> end
> cuad(5)
ans = 25
13
Librer´ıas de funciones
Para poder utilizar una funci´
on en el futuro, sin tener que escribirla nuevamente, es...
Regístrate para leer el documento completo.