Professional Documents
Culture Documents
=
Y en el mtodo iterativo debe de cumplir: p c
<
pag. 17-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Problema:
Algoritmo de la raz cuadrada
Tenemos un nmero A y una aproximacin x
0
para A.
Se debe cumplir que
x
0
= A aproximacin
x
0
2
= A aproximacin
Si x
0
2
= A, entonces x
0
= A/x
0
aproximadamente.
Existen dos casos:
0
0
x
A
x <
0
0
x
A
x >
+ -
+ -
pag. 18-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Problema:
Algoritmo de la raz cuadrada
Tenemos un nmero A y una aproximacin x
0
para A.
Se debe cumplir que
x
0
= A aproximacin
x
0
2
= A aproximacin
Si x
0
2
= A, entonces x
0
= A/x
0
aproximadamente.
Existen dos casos:
0
0
x
A
x <
2
0
0
x
A
x +
0
0
x
A
x >
2
0
0
x
x
A
+
+ -
+ -
0
x
0
x
A
0
x
A
0
x
Aproximacin: punto medio
X
X
pag. 19-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Entonces el Algoritmo para la Raz Cuadrada es:
2
1
i
i
i
x
A
x
x
+
=
+
Ejercicio:
a) Calcular la 9 tomando x
0
= 1
b) Calcular la 16 tomando x
0
= 0.5
pag. 20-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
1.3Representacin de nmeros en la computadora
SISTEMAS NUMRICOS
Un sistema numrico es simplemente una convencin para representar
cantidades. Debido a que se tienen 10 dedos en las manos y 10 dedos en los pies,
el sistema de numeracin que nos es muy familiar es el decimal o de base 10.
Una base es el nmero que se usa como referencia para construir un sistema. El
sistema de base 10 utiliza 10 dgitos (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) para representar
nmeros. Tales dgitos son satisfactorios por s mismos para contar de 0 a 9.
Por ejemplo,
(8 10
4
) + (6 10
3
) + (4 10
2
) + (0 10
1
) + (9 10
0
) = 86 409
Esto significa que se tiene el nmero 86 409 se tienen 8 grupos de 10 000, seis
grupos de 1 000, cuatro grupos de 100 y cero grupos de 10, y nueve unidades,
pag. 21-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Notacin Posicional
Es la representacin de un nmero
en un sistema numrico.
Los nmeros en la computadora se
representan con un sistema binario
o de base 2. Del mismo modo que
con el sistema decimal, las
cantidades pueden representarse
usando la notacin posicional.
Decimal
(base 10)
Binario
(base 2)
pag. 22-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Ahora que se ha revisado cmo los nmeros de base 10 se representan en forma
binaria, es fcil concebir cmo los enteros se representan en la computadora.
a) Representacin de un nmero entero:
El mtodo ms sencillo se denomina mtodo de magnitud con signo y emplea
el primer bit de una palabra para indicar el signo: con un 0 para positivo y un 1
para el negativo. Los bits sobrantes se usan para guardar el nmero.
La representacin de un entero decimal 173 en una computadora de 16 bits
usando el mtodo de magnitud con signo. Se prefiere usar una tcnica llamada
complemento de 2 que incorpora en forma directa el signo dentro de la magnitud
del nmero, en lugar de emplear un bit adicional para representar ms o menos
pag. 23-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
b) Representacin de un nmero punto flotante
Las cantidades fraccionarias generalmente se representan en la computadora
usando la forma de punto flotante. Con este mtodo, el nmero se expresa como
una parte fraccionaria, llamada mantisa o significando, y una parte entera,
denominada exponente o caracterstica, esto es,
m b
e
Donde m = la mantisa, b = la base del sistema numrico que se va a utilizar y e
= el exponente. Por ejemplo, el nmero 156.78 se representa como 0.15678
10
3
en un sistema de base 10 de punto flotante.
La forma en que un nmero de punto flotante se guarda en una palabra.
pag. 24-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Ejemplo:
Determine un conjunto hipottico de nmeros con punto flotante para una
mquina que guarda informacin usando palabras de 7 bits.
De la figura, el 0 inicial seala que la cantidad es positiva. El 1 en el segundo
lugar indica que el exponente tiene signo negativo. Los 1, en el tercero y cuarto
lugar dan un valor mximo al exponente de
1 2
1
+ 1 2
0
= 3
Por lo tanto, el exponente ser 3. Por ltimo, la mantisa est especificada por el
100 en los ltimos tres lugares, lo cual nos da
1 2
1
+ 0 2
2
+ 0 2
3
= 0.5
pag. 25-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Nos da la siguiente tabla de conversin para este sistema, donde el valor ms
pequeo es +0.5 2
3
igual a 0.0625
0111101 = (1 2
1
+ 0 2
2
+ 1 2
3
) 2
3
= (0.078125)
10
0111110 = (1 2
1
+ 1 2
2
+ 0 2
3
) 2
3
= (0.093750)
10
0111111 = (1 2
1
+ 1 2
2
+ 1 2
3
) 2
3
= (0.109375)
10
Brecha de 0.015625
0110100 = (1 2
1
+ 0 2
2
+ 0 2
3
) 2
2
= (0.125000)
10
Brecha de 0.03125
0110101 = (1 2
1
+ 0 2
2
+ 1 2
3
) 2
2
= (0.156250)
10
0110110 = (1 2
1
+ 1 2
2
+ 0 2
3
) 2
2
= (0.187500)
10
0110111 = (1 2
1
+ 1 2
2
+ 1 2
3
) 2
2
= (0.218750)
10
.
:
0011111 = (1 2
1
+ 1 2
2
+ 1 2
3
) 2
3
= (7)
10
pag. 26-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
El rango de cantidades que pueden representarse es
limitado.
Existe slo un nmero finito de cantidades que
puede representarse dentro de un rango.
pag. 27-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
1.4 Exactitud y precisin.
Exactitud: se refiere a qu tan cercano est el valor calculado o
medido del valor verdadero.
Precisin: se refiere a qu tan cercanos se encuentran, unos de
otros, diversos valores calculados o medidos.
Inexactitud: conocida tambin como sesgo, se define como una
desviacin sistemtica del valor verdadero.
Imprecisin: tambin llamada incertidumbre, se refiere a la
magnitud en la dispersin de los disparos.
pag. 28-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Ilustracin de los conceptos.
En la grfica de abajo se ilustra cuatro la analoga del tiro al
blanco y a lado derecho de la grfica se encuentran los conceptos.
Relaciona correctamente los conceptos con la grfica.
Inexacto e
Impreciso
Inexacto e
preciso
Exacto e
Impreciso
Exacto y
preciso
pag. 29-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Respuesta:
Inexacto e
Impreciso
Exacto e
Impreciso
Inexacto e
preciso
Exacto y
preciso
pag. 30-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
1.5 Modelos matemticos y programacin estructurada en MATLAB
Un modelo matemtico se define como una descripcin desde el
punto de vista de las matemticas de un hecho o fenmeno del mundo
real, desde el tamao de la poblacin, hasta fenmenos fsicos como
la velocidad, aceleracin o densidad.
El objetivo del modelo matemtico es entender ampliamente el
fenmeno y tal vez predecir su comportamiento en el futuro.
pag. 31-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
El proceso para elaborar un modelo matemtico es el siguiente:
1. Encontrar un problema del mundo real.
2. Formular un modelo matemtico acerca del problema,
identificando variables y estableciendo hiptesis lo
suficientemente simples para tratarse de manera
matemtica.
3. Aplicar los conocimientos matemticos que se posee para
llegar a conclusiones matemticas.
4. Comparar los datos obtenidos como predicciones con datos
reales. Si los datos son diferentes, se reinicia el proceso.
pag. 32-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Funciones que representan relaciones observadas en el mundo
real:
Modelos Lineales
Se dice que una funcin es lineal por tener la forma:
y = mx + b
donde m representa la pendiente de la recta
b es la ordenada al origen (constante)
y
x
y = mx
y
x
y = mx + b
b
0
pag. 33-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Modelos No Lineales
Funcin Polinomio: P(x) = a
n
X
n
+ a
n-1
X
n-1
+ + a
1
X + a
0
n = el nmero de orden
a
0
, a
1
, , a
n
= coeficiente del polinomio
Funcin Potencia: f(x) = x
a
donde a es constante.
Funcin Racional: una funcin es llamada racional cuando es una
razn o divisin de dos polinomios.
( )
( )
( ) x Q
x P
x f =
donde Q(x)
0
pag. 34-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Otras funciones no lineales
Funcin trigonomtrica: f(x) = Asen(wt + )
Funcin exponencial: f(x) = e
x
Funcin logartmica: f(x) = log
a
x
pag. 35-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
PROGRAMACIN ESTRUCTURADA
Definicin:
La programacin estructurada es un conjunto de reglas que
desarrollan en el programador los hbitos para lograr un buen
estilo.
Para representar una descripcin de algn programa estructurado
se utilizan los diagramas de flujos y los pseudocdigos.
Un diagrama de flujo es una representacin visual o grfica de un
algoritmo. Un diagrama de flujo emplea una serie de cajas o bloques y
flechas, cada una de las cuales representan un determinado paso u
operacin del algoritmo.
pag. 36-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Los smbolos usados en los diagramas de flujos son:
Smbolo Nombre Funcin
Terminal Representa el inicio o final.
Lneas de flujo Es el flujo de la lgica.
Proceso Son los clculos o manipulacin de
datos e informacin.
Entrada /
Salida
Es la entrada o salida de datos e
informacin.
Decisin Es una comparacin, una pregunta o
una decisin que determina los caminos
alternativos a seguir.
Unin Es la confluencia de lneas de flujo.
pag. 37-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
El pseudocdigo utiliza expresiones semejantes a las del cdigo,
en lugar de los smbolos grficos del diagrama de flujo.
En la representacin mediante pseudocdigo, las instrucciones se
especifican de forma similar a como se programan en un lenguaje de
programacin.
Es importante resaltar que no existe ningn convenio acerca de
cmo representar las instrucciones. En este sentido, la forma en que
cada persona las detalla depende mucho del lenguaje de programacin
que acostumbra a utilizar.
pag. 38-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
MATLAB
Es un lenguaje de cmputo de alto nivel para la ciencia computacional y
visualizacin de datos que est construido sobre un ambiente de programacin
interactiva.
Algunas Ventajas:
Tiene la facilidad y rapidez de probar y verificar errores de programacin y
esto permite al usuario de concentrarse en los principios detrs del programa
y menos en programar.
Los programas desarrollados por el usuario son mucho ms cortos que si se
realizan en otros programas de lenguaje (FORTRAN o C)
En MATLAB versin superior se puede ejecutar en modo stand alone
applications.
Tiene una amplia variedad de libreras y funciones numricas.
Tiene un soporte grafico extensivo de tal manera los resultados de las
simulaciones son graficados con funciones sencillas.
Todos los objetos numricos son declarados como arreglos de doble
precisin.
pag. 39-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Tipos de datos (clases)
pag. 40-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
OPERADORES
Operadores aritmticos Operadores comparativos Operadores lgicos
+
Addition < Menor que
A & B and(A, B)
-
Subtraction > Mayor que
A | B or(A, B)
.*
Multiplication <= Menor que o igual a
~A not(A)
./
Right division >= Mayor que o igual a
& A & B = 01001
.\
Left division == Igual a
| A | B = 11101
+
Unary plus ~= No igual a
~ ~A = 10010
-
Unary minus
xor xor(A,B) = 10100
:
Colon operator
.^
Power
.'
Transpose
'
Complex conjugate
transpose
*
Matrix multiplication
/
Matrix right division
\
Matrix left division
^
Matrix power
pag. 41-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
La idea clave detrs de la programacin estructurada es que cualquier
algoritmo numrico requiere tan slo de tres estructuras de control
fundamentales:
c) Secuencia: el cdigo se realiza instruccin por instruccin.
Instruccin 1
Instruccin 2
Instruccin 3
Instruccin 1
Instruccin 2
Instruccin 3
pag. 42-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
d) Seleccin: la seleccin nos ofrece un medio de dividir el flujo del
programa en ramas considerando el resultado de una condicin
lgica.
Estructura para una alternativa (IF)
if CONDICIN
BLOQUE
end
BLOQUE
CONDICIN
?
Verdadero
Falso
pag. 43-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Estructura para dos alternativas (IF/ELSE)
if CONDICIN
BLOQUE VERDADERO
else
BLOQUE FALSO
end
BLOQUE
VERDADERO
CONDICIN
?
BLOQUE
FALSO
Falso
Verdadero
pag. 44-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Estructura para dos alternativas (IF/ELSEIF)
if CONDICIN A
BLOQUE 1
elseif CONDICION B
BLOQUE 2
.
.
.
Else
BLOQUE
end
CONDICIN
B
BLOQUE
1
CONDICIN
A
BLOQUE
2
F
V
V
F
BLOQUE
pag. 45-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
EJEMPLO:
function sgn = signum(a)
if a > 0
sgn = 1;
elseif a < 0
sgn = -1;
else
sgn = 0;
end
>> signum (-1.5)
ans =
-1
pag. 46-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Estructura para dos alternativas (SWITCH)
CONDICIN
B
BLOQUE
1
CONDICIN
A
BLOQUE
2
F
V
V
F
BLOQUE
switch expression
case A
BLOQUE 1
case B
BLOQUE 2
...
otherwise
BLOQUE
end
pag. 47-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
EJEMPLO:
function y = trig(func,x)
switch func
case sin
y = sin(x);
case cos
y = cos(x);
case tan
y = tan(x);
otherwise
error(No such function defined)
end
>> trig(tan,pi/3)
ans =
1.7321
pag. 48-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Repeticin: nos proporciona una manera de llevar a cabo
instrucciones repetidamente. Las estructuras resultantes, llamadas
LOOPS o ciclos, se presentan en dos formas distintas que se
diferencian por la manera en que terminan.
Loop de interrupcin (WHILE)
while CONDITION
BLOQUE
end
Condicin
?
BLOQUE
Falso
Verdadero
pag. 49-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
EJEMPLO:
>> p = 1000; years = 0;
>> while p < 10000
years = years + 1;
p = p*(1 + 0.06);
end
>> years
years =
40
pag. 50-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Loop controlado (FOR)
for i = inicio : fin
BLOQUE
end
i = i+1
i = inicio
i > fin
?
BLOQUE
Falso
Verdadero
pag. 51-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
EJEMPLO:
>> for n = 0:5 % n loops over the sequence 0 1 2 3 4 5
y(n+1) = cos(n*pi/10);
end
>> y
y =
1.0000 0.9511 0.8090 0.5878 0.3090 0.0000
EJEMPLO:
>> n = 0:5;
>> y = cos(n*pi/10)
y =
1.0000 0.9511 0.8090 0.5878 0.3090 0.0000
pag. 52-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
Ejercicio:
x = x -5
V F
x < 10
x < 5
x < 50
F
V x = 5 Print x
V F
pag. 53-53 MTODOS NUMRICOS BIOINGENIERA
M. C. Carlos Morales Carbajal
TAREA NMERO:
1. Realizar un diagrama de flujo para la resolucin de la ecuacin de
segundo grado ax + bx + c = 0
2. Explique las siguientes funciones del programa MATLAB y de un
ejemplo de uso en cada uno.
a. Break
b. Continue
c. Return
d. Error