2015
Universidad Politécnica Salesiana
MÉTODOS NUMÉRICOS CON MATLAB Ing.William Caiza
Métodos Numéricos Ing. William Caiza
Copyright © 2015 por Ing. William Caiza. Todos los derechos reservados. reservados.
2
Métodos Numéricos Ing. William Caiza
Dedicatoria
ESTA PÁGINA ES OPCIONAL.
3
Métodos Numéricos Ing. William Caiza Agradecimientos
ESTA PAGINA ES OPCIONAL
4
Métodos Numéricos Ing. William Caiza CONTENIDO CAPITULO I
ERRORES ......................................................................................................................... 7 NÚMEROS DECIMALES........................................................................................ 7 NOTACIÓN BINARIA............................................................................................. 5 DE DECIMAL (CON DECIMAL) A BINARIO .................................................... 10 ANÁLISIS DE ERRORES .............................................................................................. 5 ERROR DE TRUNCAMIENTO ................................................................................... 16 SERIE DE TAYLOR ..................................................................................................... 17 Teorema de Taylor................................................................................................... 10 CAPITULO II
RESOLUCIÓN DE ECUACIONES NO LINEALES ..................................................... 22 MÉTODO DE LA BISECCIÓN.- ................................................................................. 14 Algoritmo ................................................................................................................ 14 Error del Método de Bisección ................................................................................ 14 IMPLEMENTACIÓN DEL CÓDIGO EN MATLAB ............................................ 20 IMPLEMENTACIÒN DEL CÒDIGO EN MATLAB ........................................... 20 Método de la Falsa Posición.-..................................................................................... 50 Convergencia del Método de Falsa Posición........................................................... 51 Interación de Punto Fijo.- ........................................................................................... 52 Algoritmo de interación del método de punto fijo: ................................................. 53 Implementación del Código en Matlab ................................................................... 56 Método de Newton-Raphson.- ..................................................................................... 57 TEOREMA:............................................................................................................. 57 CAPITULO III
SISTEMAS DE ECUACIONES LINEALES.................................................................. 62 INTRODUCCIÓN........................................................................................................ 62 Operaciones Elementales de Fila ............................................................................... 67 Cálculo de la matriz inversa ........................................................................................ 67 Algoritmo ................................................................................................................ 67 Implementación del Código en Matlab ................................................................... 69 DEFINICIÓN: ............................................................................................................. 71 Teorema de Sustitución Regresiva .............................................................................. 72 Implementación del Código en Matlab ................................................................... 74 TEOREMA:............................................................................................................. 75 TEOREMA:............................................................................................................. 75 ELIMINACIÓN GAUSSIANA Y PIVOTEO ................................................................. 75 OBSERVACIÓN:.................................................................................................... 75 TEOREMA: OPERACIONES ELEMENTALES CON LAS FILAS .................... 75 DEFINICIÓN: PIVOTEO Y MULTIPLICADORES ............................................. 76 ELIMINACIÓN DE GAUSS-JORDAN ........................................................................ 79 DEFINICIÓN: ......................................................................................................... 79 ALGORITMO: ........................................................................................................ 80 DESCOMPOSICIÓN L.U- FACTORIZACIÓN TRIANGULAR.................................. 84 CAPITULO IV................................................................................................................. 124
5
Métodos Numéricos Ing. William Caiza INTERPOLACIÓN ....................................................................................................... 124 EJERCICIOS PROPUESTOS: ...................................................................................... 133
MÉTODOS DE LA BISECCIÓN.............................. ¡ERROR ! MARCADOR NO DEFINIDO. MÉTODO DE LA FALSA POSICIÓN .....................¡ERROR ! MARCADOR NO DEFINIDO. SOLUCIONES DE EJERCICIOS PROPUESTOS ............
¡ERROR! MARCADOR NO
DEFINIDO. ANEXOS .......................................................................................................................... 180
6
Métodos Numéricos Ing. William Caiza CAPITULO 1: INTRODUCCIÓN 1.1 Números Decimales Comúnmente los seres humanos, realizamos los cálculos aritméticos usando el sistema numérico decimal (base 10); las computadoras hacen los cálculos aritméticos usando el sistema numérico binario (base 2). Al traducir los tipos numéricos existentes a notación binaria queda claro que las operaciones realizadas no necesariamente son exactas por lo tanto van acumulado diferencias (errores) en cada una de las operaciones.
1.1.1 Notación Decimal La expresión 1563 en base 10 se puede escribir
× × × ×
.
Todo número en base 10 tiene la siguiente notación
−− ⋯ ⇒ ,,,,…, ⇒ − …
7
Métodos Numéricos Ing. William Caiza 1.1.2 Notación Binaria Notación Decimal
Notación Binaria
0
0
1
1
2
10
3
11
4
100
5
101
6
110
7
111
8
1000
9
1001
−− ⋯ ⇒ , 34
En el nivel superior se encuentra los números complejos, un ejemplo podría ser , donde la parte real es 3 y la parte imaginaria es 4. Todo número real se puede clasificar en un número racional e irracional, un número racional es de la forma y un número es irracional cuando no se puede escribir de la forma
, , ∈ 3.141516… , ejemplo
8
.
Métodos Numéricos Ing. William Caiza
CLASIFICACIÓN DE LOS NÚMEROS
Todo número racional se puede clasificar en entero y fraccionario, los números enteros se clasifican en enteros positivos o naturales, cero y enteros negativos; los fraccionarios se clasifican en decimal finito e infinito, de decimal finito si el residuo es cero. Las fracciones de decimal infinito se clasifican en periódicas y semi-periódicas. Las fracciones periódicas como , se puede obtener su fracción que es igual al cociente cuyo numerador es igual al número menos la parte periódica (33-3), y el denominador es tantos nueves como cifras (una) tenga la parte periódica (9).
3,3333…3,3 − 3,3,32455555…3, 245 2921 3,245 3245324 900 900 .
Las fracciones semi-periódicas como , se puede obtener su forma fraccionaria, cuyo numerador es el número menos el número sin la parte periódica (3245-324), el denominador es tantos nueves como cifras tenga la parte periódica y tantos ceros como cifras tenga la parte no periódica (dos).
9
Métodos Numéricos Ing. William Caiza
Ejemplo 1 Transformar el número de base 2 a un número en base 10
1 0 0 1 1×2 0×2 0×2 1×2 ⇒80019 Ejemplo 2
Transformar el número de base 10 a un número en base 2
100 1 1 0 0 1 0 0
100 2 0 50 2 0 25 2 1 12 2 0 6 2 0 3 1
2 1
Comprobación:
1×2 0×2 0×2 1×2 0×2 0×2 1 1 0 0 1 0 0 1×2 643200400⇒100
Regla de transformación de un número en notación base 10 con decimales a binario. 1. Se transforma la parte entera binaria. 2. Se sigue con la parte fraccionaria multiplicando por el número 2; si el resultado es mayor o igual a 1 se anota un 1; si es menor que 1 se anota un 0. (El producto se realiza con la parte original decimal y con la parte fraccionaria de las sucesivas multiplicaciones, hasta que la parte fraccionaria sea cero). 3. Después de realizar cada multiplicación, se coloca los números obtenidos en el orden de su obtención. 4. Algunos números se transforman en dígitos periódicos.
10
Métodos Numéricos Ing. William Caiza
Ejemplo 3 Transformar
6
6,3125
a binario.
0,0,36125×20, 6 25⇒ 25×21, 2 5⇒ 0,0,255×20, 5 ⇒ ×21⇒ 0×20⇒ 0×20⇒ 0,3125
Parte Entera 6 0
2 3 1
Parte Fraccionaria
2 1
Verificación:
1×2 1×2 0×2
−−1×2−−0×2−−1 0×2 420 ×2 0×2 0×2 0 41 0 5,00 16 16 ⇒, , … 5 3. 5 3539 329
Parte Entera
Parte Fraccionaria
Ejemplo 4
Conversión de periódica (3. )
Verificamos
Parte Entera 32 9 50 3,55… 50
=3.5
Ejemplo 5
11
Métodos Numéricos Ing. William Caiza
5 293 3.25 32532 90 90 5
Conversión de semi-periódica (3.2 )
Verificamos Parte Entera 293 90 230 3,255… 500 500
=3.2
1.3 13 5 3950 89 10 3 30 30 6.3125 6.100003125 ∗10000 63125 12625 2525 505 101 10000 2000 400 80 16 6.3125
Ejemplo 6 Conversión de
Ejemplo 7 Conversión de
Ejemplo 8 Conversión de Parte Entera 6 2 0 3 2 1 1
a binario
: 110
6.3125 110.0101 41 534153 5288 2644 990 990 495
Ejemplo 9 Conversión de 5.3
Parte Entera 5 2 1 2 2 0 1
Parte Fraccionaria 0.3125*(2)= 0.625 = 0.625*(2)= 1.25 = 0.25*(2)= 0.5 = 0.5*(2)= 1 =
a binario
: 101.
101 12 02 12 4
+ 0
12
+1 =5
0 1 0 1
Métodos Numéricos Ing. William Caiza
41
Parte Fraccionaria 0.3 0.341*(2)= 0.682 = 0 0.682*(2)= 1.364 = 1 0.364*(2)= 0.728 = 0 0.728*(2)= 1.456 = 1 0.456*(2)= 0.912 = 0 0.912*(2)= 1.824 = 1 0.824*(2)= 1.648 = 1 0.648*(2)= 1.296 = 1 0.296*(2)= 0.592 = 0 0.592*(2)= 1.184 = 1 0.184*(2)= 0.368 = 0 0.368*(2)= 0.736 = 0 0.736*(2)= 1.472 = 1 0.472*(2)= 0.944 = 0 0.944*(2)= 1.888 = 1 0.888*(2)= 1.776 = 1
Sin importar q sea periódica
Verificación
41 − − − − − 12 12 12 12 12 14 161 641 1281 2501 ⋯ 87 6416421 256 256 0.3 = 01010111
Representación de números en coma flotante Para representar números enteros muy grandes o fracciones muy pequeñas es necesario utilizar notación científica. La representación de un número en coma flotante tiene tres componentes: Signo: indica si el número es positivo o negativo Mantisa: representa la magnitud del número Exponente: indica el desplazamiento de la coma fraccionaria
13
Métodos Numéricos Ing. William Caiza
± .
Los números decimales en coma flotante se normalizan, desplazando la coma fraccionaria de manera que la parte entera del número siempre valga cero.
Ejemplo
3467345567000.346734556700 ×10
En la presente notación no es necesario representar la base del número, ya que está implícito en el formato y la parte entera de un número normalizado siempre es cero, tampoco es necesario representarlo, con las acotaciones anteriores la representación en coma flotante es Signo: + Mantisa: 346734556700 Exponente: 12
Números binarios en coma flotante Utilizando el formato de simple precisión, que utiliza 32 bits para la representación de números binarios en coma flotante Signo (1 bit)
Exponente (8 bits)
Mantisa (23 bits)
Ejemplo: Dado el siguiente número en binario, expresarlo en punto flotante
0,00001010,101 × 2−
La forma normalizada siempre tiene un 1 en la posición más a la izquierda, por lo que no hay que almacenarlo, está implícito en la representación. Se podría aprovechar en la normalización otro bit, el 1 más a la izquierda esté en la parte entera
0,00001010,101 × 2− 1,01× 2− 2 − 127
Para simplificar el formato es necesario evitar la necesidad de un bit para el signo del exponente, por lo cual el exponente se representa usando un formato denominado “en exceso”, que consiste en sumar un desplazamiento al valor real del número. Si utilizamos 8 bits para representar el exponente, hay combinaciones posibles, desde 0 hasta 255, el desplazamiento será , el formato de simple precisión tiene un exponente de 8 bits en formato exceso 127, se utiliza para representar exponentes con valores entre -126 y 127.
14
Métodos Numéricos Ing. William Caiza
Ejemplo: Si el exponente tiene un valor de -126, 0, 1, ¿Cuál es el valor normalizado del exponente?
126 → 1261271 →00000001 0 → 0127127 →01111111 11×2→ 1127128 →10000000 + 0×2 0×2 0×2 0×2 0×2 0×2 0×2 128
Casos especiales Si el exponente es -127, normalizando tenemos -127+127 =0, su correspondiente binario es 00000000, se tiene los siguientes casos: Si la mantisa también es cero se está representando el cero. Si la mantisa es distinto de cero se trata de un número no normalizado, supondremos que el bit implícito de la parte entera no es 1 sino 0, y el exponente es -126
Si el exponente es 128, normalizando tenemos 128+127= 255, su correspondiente binario es 11111111, se tiene los siguientes casos: Si la mantisa es cero se está representando el infinito. Si la mantisa es distinta de cero se está representando el resultado de una operación no válida (NaN – no es un número).
1011010010001 1011010010001→ 1, 0 11010010001 ×2 011010010001 12→12127
Ejemplo: Dado el siguiente número binario transformado en binario con coma flotante Es un número positivo, por lo que el bit del signo será un 0. Normalizando el binario Calculando el valor de la mantisa Calculando el valor del exponente y normalizando se tiene 10001011
139→
1 bit
8 bits
0
10001011
23
01101001000100000000000
Ejemplo: Dado el siguiente número binario normalizado 1 bit
8 bits
1
10010001
23
10001110001000000000000
15
Métodos Numéricos Ing. William Caiza
El bit del signo es 1, por lo tanto es un número negativo, la mantisa nos proporciona la magnitud del número 1, 10001110001, el valor del exponente se calcula de la siguiente forma: El exponente:
100100011×2 0×2 0×2 1×2 0×2 0×2 0×2 1×2 128161145 → 14512718 1,10001110001×2 resumiendo obtenemos el siguiente número binario
1.2 Análisis de errores En la práctica del cálculo numérico es importante tener en cuenta que las soluciones calculadas por el computador no son soluciones matemáticas exactas. La precisión de una solución numérica puede verse disminuida por diversos factores y la comprensión de estas dificultades puede guiarnos a menudo a desarrollar o construir algoritmos numéricos adecuados. Supongamos que absoluto como:
p
(estimador) una aproximación de p, entonces se define el error
| ̂ | | | | | ||| ̂ | ∗100 | | | | ∗100
Y además tenemos el error relativo, el mismo que es un porcentaje de la diferencia entre su valor real y su aproximación:
1.2.1 Error de Truncamiento
16
Métodos Numéricos Ing. William Caiza
La noción de error de truncamiento se refiere normalmente a los errores que se producen cuando una expresión matemática complicada se reemplaza por una fórmula más simple, por ejemplo:
1 2! 3! 4! ⋯
1.3 Serie de Taylor Toda función puede ser expresada como un polinomio de orden
, la serie de Taylor
proporciona un medio para predecir el valor de una función en un punto.
Teorema de Taylor Dada la función f y sus n+1 derivadas son continuas, se dice que la expresión siguiente es el polinomio de Taylor de orden n y alrededor de a.
!− !− !− .. !− ′ 0 0 0 0 2! .. ! .. Donde
Si a=0, tenemos la serie de McLaurin:
Ejemplo a): Encontrar la serie de McLaurin
17
Métodos Numéricos Ing. William Caiza
000 cos 0 ⇒ 0 1 cos ⟹ ⇒ 01 ! ! ! ⋯ Ejemplo b):
01 0cos ⇒ 00 0 cos0 ⇒ 0 1 0 ⇒ 0 0 cos0⇒ 01 ! ! ! ⋯
Ejemplo c):
Encuentre Sen (3.5), utilizando la serie de Taylor con 3 términos
1! 2! ! ⋯ 3.5 3.5 3. 5 33!.5 35!.5 18
Métodos Numéricos Ing. William Caiza
3.5 0.73098 ∶ 3.5 0.35078 E |0.350780.730981| .|0.350780.730981| E |0.35078| ∗100 .
Ejemplo d):
1! 2! ! ⋯ 1) 2) 3) 4) 5)
Encuentre la serie de Taylor del Sen(x) Encuentre el valor de la serie en x =3.45 Encuentre el valor de la serie en a=3, x=3.45 Encuentre el error Conclusión
!− !− !− Sen x Sen a Cos a xa !− Senxx ! ! ! ! ⋯ 3 . 4 5 3 . 4 5 3 . 4 5 3 . 4 5 Sen3.45 3.45 3! 5! 7! 9! 0.284384 1)
2)
19
Métodos Numéricos Ing. William Caiza
. − . − Cos Sen 3 . 4 5Sen 3 3 3 . 4 53 ! ! !.− 3)
= - 0.303788
4)
El valor exacto de Sen(3.45)= -0.303541, calculadora en radianes.
El error para a=0.
∗100 2 84381 0.3035410. ∗100 0. 3 0541 . %
20
Métodos Numéricos Ing. William Caiza
El error para a=3 de Sen(3.45)
3 03388 0.3035410. ∗100 0. 3 0541 . % 5)
Conclusión:
Cuando el valor de a es cercano a x el valor disminuye notablemente.
Ejemplo e):
√
√ 1! 2! ! ⋯ 1.- Encontrar la serie de Taylor del
2.- Encontrar el valor de la serie en x=3.45; a=3.4 con 5 términos
) √ (√ ) (√ )(2√ √ ) ∗ √ ∗(4√ √ )( ∗ 2!
1.
2.
(√ 3 . 4 ) (√ 3.45) (√ 3.4)22√ (√ 33.4.4) ∗3.453.4 √ 3.4 ∗4(3√.4 3√ .4) 3.4
∗ 3.453.2! 4
(√ 3.45)0,958967 0, 9 58967 0.959204 0.959204 ∗100
. %
21
Métodos Numéricos Ing. William Caiza
Ejemplo f):
Demostrar
0 1 ′ 0 0 0 0 0 1 2! 3! 4! .. 1 2! 4! 6! ⋯ 3! 5! ⋯ Polinomio de Taylor para funciones de dos variables Definición sea
:ℝ
ℝ
* Función escalar de variable vectorial * Función real de variable vectorial
, : ,, 1, , , 1! 1 2! , , 2 , El polinomio de Taylor de orden n asociado a
22
Métodos Numéricos Ing. William Caiza
1 3! , , 3 , 3 , .. . Ejemplo:
:ℝ ℝ f x, y sen x seny Dada la función de:
Encontrar el polinomio de Taylor de grado 3 asociado y evaluado
0,1 ;0,15:
Programa de la serie de Taylor Código: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) syms x; ingreso=char(inputdlg('ingrese funcion')); f=inline(ingreso); n=str2double(inputdlg('ingrese numero de expresiones para la serie')); ev=taylor(f(x),'order',n) fun=string(ev); set(handles.text1,'string',fun);
Imagen 1.1: Ejecución del programa
, , + ∈ ∈ ∈ ,
Teorema: Sea
para todo x [a,b], f(x)
existe en [a,b] y c [a,b]. Entonces donde es el polinomio de Taylor
23
Métodos Numéricos Ing. William Caiza
+ 1(!) + + | | x c || ≤ 1! max+
Es el residuo, con entre c y x, el teorema no permite evaluar exactamente el residuo, pero si permite acotarlo.
∈
t (x,c).
Ejemplo 5
Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de π, acotar el error para x=3 y calcular el error.
cos π πx π cos2 π π 1 12 π | 3 π| ||≤ 6 ||; ∈3, π. || ≤0.0004731 3 || ≤0.0004731 0.14110.0000668 Observación: Para calcular el valor de una función para x el valor de a, deberá estar alrededor de x.
Ejercicios propuestos Ejercicios de notación decimal Escribir en notación decimal las siguientes cantidades: 1. 374= 2. 17350= 3. 1,0243=
24
Métodos Numéricos Ing. William Caiza
4. 745,36= 5. 1357, 924=
Transformar de notación binaria a notación decimal 1. 2. 3. 4. 5.
10011011 10011001 1100100 10011001 0101
Páginas web: http://www.montereyinstitute.org/courses/DevelopmentalMath/U03L1T1_RESOUR CE/U03_L1_T1_text_final_es.html http://es.wikihow.com/convertir-binario-a-decimal
Series de Taylor
1. Calcular el polinomio de Taylor de la función 2. Calcúlese la serie de Taylor de
3. Encuentre una serie de Taylor para f(x)= cos(2x) 4.
Encuentre la serie de Taylor para f(x) = x5
5. Encontrar la serie de Taylor para la función f(x)= log (cosx)
Series de Mc- Claurin 1. Hallar el polinomio de Maclaurin para f(x)=ex, para n=0, n=1, n=2, n=3, y el polinomio general.
f x+ − − f x f x +
2. Encuentre una serie de Maclaurin para 3. Encontrar la serie de Maclaurin para 4. Encontrar la serie de Maclaurin para 5. Encontrar la serie de Maclaurin para Páginas web:
25
Métodos Numéricos Ing. William Caiza
http://es.scribd.com/doc/102297219/Series-de-Taylor-Ejemplos-y-Problemas http://www.wikimatematica.org/index.php?title=Series_de_Taylor_y_Maclaurin#Eje mplo_.231 http://www4.ujaen.es/~cisneros/Documentos/Des_Taylor.pdf
CAPITULO 2: RESOLUCIÓN DE ECUACIONES NO LINEALES 2.1 Método de la bisección
Descripción del método: Dado el intervalo [a, b], la primera aproximación a la raíz es el punto medio del intervalo se calcula como la suma de los dos puntos dividido para 2, encontrando
× <0 , ×<0
un nuevo punto c1, luego se verifica si raíz se encuentra en el intervalo
implicaría que la nueva
por lo tanto la nueva aproximación seria el
punto medio de dicho intervalo. Y seguiríamos verificando si el o
×<0
, en el intervalo que cumpla las definiciones anteriores se
procederá otra vez a encontrar el punto medio que es la siguiente mejor aproximación a la raíz, así sucesivamente hasta obtener una aproximación deseada.
Figura 2.1: descripción grafica del método de la bisección.
26
Métodos Numéricos Ing. William Caiza
Las aproximaciones deseadas forman una sucesión que convergen a la raíz.
⇒x c, c , c, … . , c ⇒x converge a la raíz
Algoritmo de la bisección funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); x=-5:0.1:5; n=length(x); for i=1:n y(i)=f(x(i)); end plot(x,y); hold on; plot([-5 5],[0 0],'r'); grid on; plot([0 0],[-5 5],'r'); j=-5; for i=1:11 text(j,0,num2str(j)); j=j+1; end a=str2double(inputdlg('ingrese el valor de a')); b=str2double(inputdlg('ingrese el valor de b')); iteraciones=1; j=1; pmviejo=0; while iteraciones<5 pm=((a+b)/2); fa=f(a); fb=f(b); fpm=f(pm); aa(j)=a; bb(j)=b; ppm(j)=pm; errorf=abs(pm-pmviejo); err(j)=errorf; if fa*fpm<0 b=pm; end
27
Métodos Numéricos Ing. William Caiza
if fb*fpm<0 a=pm; end pmviejo=pm; j=j+1; iteraciones=iteraciones+1; end set(handles.uitable1,'data',[aa' ppm' bb' err']);
Figura 2.2 Ejecución del algoritmo de la bisección
1. Elija a y b de forma que la función cambie de signo, inicialmente el a y el b se podría escoger realizando el gráfico de la función. 2. La primera aproximación a la raíz es y se obtiene
C 2
3. Realice las siguientes evaluaciones para determinar en que subintervalos cae la raíz.
28
Métodos Numéricos Ing. William Caiza
f abf CC<0 , a a f af C a>0 C , b b f af C 0 C % ×
a) Si tanto b) Si por lo tanto 4. Si
, entonces la raíz se encuentra dentro del subintervalo, por lo ; y continúe en el paso 2. , entonces la raíz se encuentra dentro del subintervalo superior, ; y continúe en el paso 2. , la raíz es igual a , termina el cálculo.
2.1.2 Error Del Método de Bisección
Ejemplo 1: Encontrar los ceros de la función y= -exp(x)tan(x) y = -exp(x)tan(x) 200 150 100 50 0 0
0,5
1
1,5
2
2,5
3
3,5
-50 -100
Figura2.3: grafico del método de la Bisección
Cuadro de datos:
f af C >0; a C , b b
29
Métodos Numéricos Ing. William Caiza
Figura2.4: tabla de datos.
f af C <0; b C , a a 1.- Ingresamos una función a ser evaluada, utilizamos el comando char que
transforma lo que ingresamos mediante la función “inputdlg” en string. 2.- Ingresamos el intervalo en el cual deseamos encontrar una raíz así como la tolerancia admisible para encontrar la raiz, además hacemos uso de la función
str2double que transforma un “string” a double o número. 3.- Creamos la función con “inline”4.- Usamos el comando “while” para definir las iteraciones que se van a realizar, para este caso el número de iteraciones es menor que 10 y la tolerancia debe ser menor al error. 5.- Aplicamos el algoritmo para obtener las raíces. 6.- y los resultados obtenido s enviamos a los objetos “uitable”, como se puede observar en la ejecución del programa. 2.2 Método de la Falsa Posición
30
Métodos Numéricos Ing. William Caiza
(r2,y2) r2
C1
(r2,y2)
Figura 2.5: grafica del método de la falsa posición.
Como en el método de la bisección, supongamos que f(a) y f (b) tienen distinto signo. En el método de la bisección se usa el punto medio del intervalo [a, b] para llevar a cabo, las iteraciones hasta obtener la raíz. Con el método de la falsa posición, suele conseguirse una aproximación mejor usando el punto (c, 0), en el que la recta secante L pasa por los puntos (a, f(a)), (b, f (b)) y el eje x. Para hallar la abscisa c, igualamos las dos fórmulas para la pendiente m de la recta secante L.
Encontremos la expresión para el método de la falsa posición.
(,) , 1 , 0 (, ) 0 2 Sea los puntos
Sean los puntos
Igualando las dos expresiones obtenemos
31
Métodos Numéricos Ing. William Caiza
⇒ () ⇒ ∀1,2,3,…
Por lo tanto generalizando la expresión anterior tenemos:
Donde
forma una sucesión que converge a la raíz de la función.
Las 3 posibilidades son las mismas que en el caso anterior: a) Si f(a) y f(c) tienen distintos signos, entonces hay un cero (raíz) en [a, c]. b) Si f(c) y f (b) tienen distinto signo, entonces hay un cero (raíz) en [c, b]. c) Si f(c)=0, entonces c es una raíz.
2.2.1 Convergencia del Método de Falsa Posición
=
De la deducción anterior, tenemos que la aproximación forma la cual puede converger. Sin embargo, aunque la longitud del intervalo posible que no tiende a 0.
b a
, es una sucesión de la
se hace más pequeño, es
|C C−|.
El criterio de parada usada en el método de la bisección no es útil por lo tanto se utilizará aproximaciones sucesivas de
Ejemplo 3: Realizar la gráfica de la función tan(x)*cos(x)
32
Métodos Numéricos Ing. William Caiza
tan(x)*cos(x) 1,5 1 0,5 0 -4
-2
-0,5
0
2
4
6
8
-1 -1,5
Figura 2.6: grafica ejercicio tan(x)*cos(x).
Si f(c) y f (b) tienen distinto signo, entonces hay un 0 en [c, b]; por lo tanto c=a y b=b. Cuadro del Método de la Falsa Posición
Figura 2.7: Cuadro de datos.
Ejemplo 4: f(x)=ln(x^3+2)*tan(x) Gráfica de la función
33
Métodos Numéricos Ing. William Caiza
Figura 2.8: grafica de la función f(x)=ln(x^3+2)*tan(x)
Si f(c) y f (b) tienen distinto signo, entonces hay un 0 en [c, b]; por lo t anto c=a y b=b.
Cuadro del Método de la Falsa Posición
Figur a 2.11: Cuadro d e Datos, Ejemp lo 2
2.3 Interacción de Punto fijo
2.3.1 Idea Gráfica del Punto Fijo funcion1=char(get(handles.edit1,'string')); funcion2=char(get(handles.edit2,'string')); funcion3=char(get(handles.edit3,'string')); x=-5:0.1:5; f1=inline(funcion1); f2=inline(funcion2); f3=inline(funcion3); n=length(x); for i=1:n y1(i)=f1(x(i)); y2(i)=f2(x(i)); y3(i)=f3(x(i));
34
Métodos Numéricos Ing. William Caiza
end plot(handles.axes1,x,y1); hold(handles.axes1,'on'); plot(handles.axes1,[-7 7],[0 0],'r'); plot(handles.axes1,[0 0],[-15 15],'r'); plot(handles.axes2,x,y2); hold(handles.axes2,'on'); plot(handles.axes2,x,y3); plot(handles.axes2,[-7 7],[0 0],'r'); plot(handles.axes2,[0 0],[-15 15],'r'); grid on;
Figura 2.9: Respuestas del ejercicio
1 1 2⇒121221 1 1
Un punto fijo de una función g es un número p para el cual se cumple:
Sea
y
.
Demuestre que para x=1 es un punto fijo:
35
Métodos Numéricos Ing. William Caiza
⇒ ∴ gx xfx
Dado un problema de buscar una raíz f (p)=0, podemos definir una función g, con un punto fijo p de diversas formas, por lo tanto sea
si la función g
tiene un punto fijo en p entonces, p es una raíz de f(x):
Despejando de la expresión anterior tenemos
,
Y tiene un cero en p.
Verifiquemos que f(x) tiene un cero en p
⇒ ∴p es raíz x 4x 100 4 100 ∎4 10 1 0 1 0 4 ||± 4 1 0 4 1 4 10 104 2
, ya que p es punto fijo de g.
.
Ejemplo 5: encuentre la siguiente expresión.
La ecuación tiene una raíz única en el intervalo de [1,2], encuentre una expresión x=g(x)
36
Métodos Numéricos Ing. William Caiza
104 1 04
104 3 gx
Verificación de la ecuación (1)
1 04 √10 2 2√10 2 0 2√10 0 2 2 1 0 0 4210 1 0 4 100
Algoritmo de interacción del método de punto fijo:
+ ; 0,1,2,3… p
Donde se tendrá que inicializar el algoritmo con
37
.
Métodos Numéricos Ing. William Caiza
El error a calcular será de la forma:
ex x
Ejemplo 6: resuelto en Excel
Despejando x se obtienen 3 ecuaciones:
Observación: El método de punto fijo es sensible al despeje de la función f(x) en x=g(x) Este algoritmo es sensible al despeje, en este caso el mejor despeje es el la ecuación (2).
√
F(x)=
F(x)= =√(&^−+) 15 10 5 0
-4
-3
-2
-1
-5
0
1
2
3
-10 -15 -20 -25
Figura 1.10: grafica del método del punto fijo
38
4
5
Métodos Numéricos Ing. William Caiza
Gráfico de la ecuación (2) en la cual las rectas se intersectan y las funciones convergen .
k 0 1 2 3 4 5 6 7 8 9
pk 2 0,75 1,78515625 1,12446938 1,71065425 1,23009637 1,66295816 1,29165893 1,62835032 1,3334784
pk+1=g(pk) 0,75 1,78515625 1,12446938 1,71065425 1,23009637 1,66295816 1,29165893 1,62835032 1,3334784 1,60175513
Pk 2 1,44224957 1,49047078 1,4827081 1,48391569 1,48372676 1,48375629 1,48375168 1,4837524 1,48375229
pk+1=g(pk) 1,44224957 1,49047078 1,4827081 1,48391569 1,48372676 1,48375629 1,48375168 1,4837524 1,48375229 1,4837523
2.4 Método de Newton-Raphson Si
, ,′ p
son continuas cercas de una raíz p, esta información sobre la
naturaleza de f(x) puede usarse para desarrollar algoritmos que produzcan sucesiones Sea
que converjan a p más rápidamente.
los puntos ( ,0) y ( ,
) entonces la pendiente es igual:
Figura 2.11: Grafica del método de newton Raphson
0 1 ; 2
Igualando tenemos que:
39
Métodos Numéricos Ing. William Caiza
0 Este proceso puede repetirse para obtener la sucesión
p
que converge ap.
f∈C a, b − ⇒ − − ; 1,2,…
TEOREMA: Supongamos que la función
, es decir la función f debe
ser continua e integrable en el intervalo [a, b] y debe existir un número tal que f (p)=0
p∈a,b
Ejemplo 7: Aplicar el método de Newton-Raphson para resolver la siguiente ecuación
0..70 ⇒ 0.7
〖 〗
()=ln ^2 −0.7 3 2 1 0 -3
-2
-1
-1 0
1
2
3
4
5
-2 -3 -4 -5 -6
2
Figura 2.12: Grafica Del Método De Newton Raphson
40
6
Métodos Numéricos Ing. William Caiza
+ 2 7 + 2 0. ⟹ 1. 3 137 + 2 2 + 1 . 3 137 + 1.3137 1.321370.7 ⟹+ 1.415 | | | | 1 . 4 151. 3 137 ⇒0. 1 01 + 1 . 4 15 + 1.415 1.42150.7 ⟹+ 1.419 | | | 1 . 4 191. 4 15|⇒0. 0 04 + 1 . 4 19 + 1.419 1.42190.7 ⟹+ 1.419 | | |1.4191.419| ⇒0
Algoritmo del método de Newton Raphson Código: % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) syms x;
41
Métodos Numéricos Ing. William Caiza funcion=char(inputdlg('ingrese la funcion')); po=str2double(inputdlg('ingrese valor inicial para calcular la raiz')); f=inline(funcion); df=diff(sym(funcion)); dff=inline(df); p(1)=po; for i=1:5 p(i+1)=p(i)-(f(p(i))/(dff(p(i)))); end x=[0:1:5]; set(handles.uitable1,'data',p'); plot(x,p);
Figura 2.13: Mascara De Interface
Figura 2.18: Ejecución del programa
42
Métodos Numéricos Ing. William Caiza
2.5 Raíces múltiples Una raíz múltiple corresponde a un punto donde la función es tangencial al eje x, en dicho punto.
3 2 1 33 232 2 3 212 63 53
En general, la multiplicidad impar de raíces cruza el eje x, mientras que la multiplicidad par no la cruza. Dificultad del método de raíces múltiples
El hecho de que la función no cambie de signo en raíces múltiples pares impide que converse en métodos cerrados.
Tanto f(x) como su derivada se aproxima a cero en la raíz, esto afecta a los métodos de newton Rapshon y secante los cuales contienen derivada en el numerador.
El método de Newton Rapshon y la secante convergen el punto lineal, en vez de formar cuadrática cuando hay raíces múltiples.
Ejemplo 9: multiplicidad par. Sea f(x)= (
x2
, como se puede apreciar en el gráfico el cero es un punto que
topa tangencialmente al eje de las x, por lo tanto esta función es de multiplicidad 2
f(x)=(x-2)^2 30 25 20 15 10 5 0 -4
-2
0
2
43
4
6
8
Métodos Numéricos Ing. William Caiza Figura 2.19: Multiplicidad Par
Ejemplo 10: multiplicidad impar Sea f(x)=(x-2) ^3, se puede apreciar en el gráfico que el cero topa y corta tangencialmente al eje de las x.
f(x)=(x-2)^3 20 10 0 -2
-1
-10
0
1
2
3
4
5
-20 -30 -40
Figura 2.20: Multiplicidad Impar
El método de Newton Raphson, tiene que ser modificado para ser utilizado en raíces múltiples.
+ ′ −− + ′′ ′ + ′( ′ )) + ( ) Sea Y,
(1)
(2) (2)
Remplazando (1) en (2)
Ejemplo 11: encontrar los ceros de la siguiente función
44
Métodos Numéricos Ing. William Caiza
f(x)=(x-3)(x-1)^2 40 20 0 -3
-2
-1
0
1
2
3
4
5
6
-20 -40 -60
Figura 2.21: Multiplicidad Impar
Cuadro del método de raíces múltiples
Figura 2.22: Raíces Múltiples
Ejercicio extra Ponemos los siguientes botones para realizar una gráfica varias funciones.
Figura 2.23: Grafica Varias Funciones
45
Métodos Numéricos Ing. William Caiza
Entonces utilizamos los siguientes códigos para la ejecución del programa function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) funcion=get(handles.edit1,'String'); f=inline(funcion); x=[-5:0.1:5]; [fx cx]=size(x); for i=1:cx; y(i)=f(x(i)); end plot(x,y); hold on; grid on; plot([-7 7],[0 0],'r-'); plot([0 0],[min(y) max(y)],'r'); title(get(handles.edit1,'String')); xlabel('x'); ylabel('y'); x1=str2double(get(handles.edit2,'String')); y1=str2double(get(handles.edit3,'String')); text(x1,y1,'x');
1. Declaramos función la cogemos y enviamos, agregando texto al edit 1. 2. Creamos una función f con inline que nos convierte en un carácter la función simbólica, y este carácter lo vamos a convertir a una función que se pueda evaluar con inline. 3. Editamos el rango del gráfico y damos las filas y columnas. columnas. 4. Con plot dibujamos un gráfico en (x, y); con hold on y grid on lo graficamos con rejilla y mantenemos encendido. 5. Con title agregamos un título al gráfico actual. 6. Con xlabel/ylabel Agrega una identificación al eje horizontal/vertical del gráfico actual, 7. Finalmente con cogemos nuestros nuestros x1 y y1, y le enviamos al edit2 y 3 respectivamente.
46
Métodos Numéricos Ing. William Caiza
Ejecutando el programa tenemos:
Figura 2.25: Grafica Ejercicio Extra
Ejercicios resueltos y propuestos Método de la bisección 1.- Use el método de la bisección para resolver la siguiente función con una tolerancia de 0,001.
cosx
x x
METODO DE LA BISECCION 5 4 3 2 1 0 -3
-2
-1
-1
0
-2
47
1
2
3
4
5
Métodos Numéricos Ing. William Caiza
Ejercicios propuestos
f x 27x5x 16x xl0 xu1 ε ε 10% f x 2682,3x88x 45,4x 9x 0,65x ε 10% xl0,5 xu1
1. Determine las raíces reales de a) Gráficamente. b) Usando el método de la bisección para localizar la raíz más pequeña. Empleando los valores iniciales de y hasta que el error estumado se encuentre debajo de = Solución: xr=0,34375 2. Determine las raíces reales de la siguiente función:
a) Gráficamente. b) Usando el método de la bisección para localizar la raíz más grande con , empleando los valores iniciales de y Solución: xr=0,59375 Falsa posición Ejercicios resueltos: 1.- Planteamiento del problema. Con el método de la falsa posición determine la raíz:
f c .. 1e−.40 xl 12 xu 16. xlxu1612 ffxxul –2.6.02699688 26881216 xr16 6.2.0669 2.2688 14.9113 0.89 fxl fxr –1.5426
Solución. Se empieza el cálculo con los valores iniciales Primera iteración:
Que tiene un error relativo verdadero de
Segunda iteración:
48
por ciento.
y
Métodos Numéricos Ing. William Caiza
x xu 14.9113 xl 12 f x l 6. 0 699 xu 14. 9 113 f xu –0. 2 543 xr14.9113 0.6.205436691214.0.25439113 14.0.709429 0.79
Por lo tanto, la raíz se encuentra en el primer subintervalo y r se vuelve ahora el límite superior para la siguiente iteración,
El cual tiene errores relativos verdaderos y aproximados de y por ciento. Es posible realizar iteraciones adicionales para hacer una mejor aproximación de las raíces.
cos 3x
2.- Mediante el método de la falsa posición encontrar la raíz de con una toleracia de 0,001
fxsen 10x
2,5 2 1,5 1 0,5 0 -2
-1
-0,5 0
1
2
3
4
-1 -1,5 -2 -2,5
Ejercicios propuestos
fx 0.8 –x0.3x xa1 xu3 εt xr2, 3 78601 εa4, 3 εt5,7
1. Determine la raíz real de:
εa
Empleando tres iteraciones en el método de la falsa posición, con valores iniciales de a . Calcule el error aproximado y el error verdadero en cada iteración. Solución:
49
5
Métodos Numéricos Ing. William Caiza
15 f x x εs 0.5%
xl 4 xu
2. Calcule la raíz cuadrada positiva de usando el método de la falsa posición con . Emplee como valores iníciales y . Solución:
5 xr 3,872979
Método de la Falsa Posición.- Como en el método de la bisección, supongamos que f(a) y f(b) tienen distinto signo. En el método de la bisección se usa el punto medio del intervalo [a,b] para llevar a cabo el siguiente paso. Suele conseguirse una aproximación mejor usando el punto (c,0) en elque la recta secante L pasa por los puntos (a,f(a)) y (b,f(b)) y el eje x.
(c,0)
L
secante
Para hallar el punto c, igualamos dos fórmulas para la pendiente m de la recta secante L.
a)
, 0 (, ) (,) (, ) 1 0 2 ⇒ () ⇒ ∀1,2,3,……. b)
(1)=(2)
Por lo tanto generalizando tenemos:
Las 3 posibilidades son las mismas que en el caso anterior:
d) Si f(a) y f(c) tienen distintos signos, entonces hay un 0 en [a,c]. e) Si f(c) y f(b) tienen distinto signo, entonces hay un 0 en [c,b]. f) Si f(c)=0, entonces c es un 0(f).
50
Métodos Numéricos Ing. William Caiza
Convergencia del Método de Falsa Posición
=
De la deducción anterior, tenemos que la aproximación forma la cual puede converger.
| −|.
, es una sucesión de la
Sin embargo, aunque la anchura del intervalo se hace más pequeño, es posible que no tiende a 0; si la curva es convexa cerca de (r,0), entonces uno de los extremos o permanecen estacionarios y el otro tiende a la solución.
El criterio de parada usada en el método de la bisección no es útil por lo tanto se utilizará aproximaciones sucesivas de E j em p l o E x c e l :
Tabla de valores para la función entre [0.1; 0.7] en pasos de 0.2
Gráfica de la función
Si f(c) y f(b) tienen distinto signo, entonces hay un 0 en [c,b]; por lo tanto c=a y b=b.
51
Métodos Numéricos Ing. William Caiza
Cuadro del Método de la Falsa Posición
Interación de Punto Fijo.- Un punto fijo de una función g es un número p para el cual se cumple:
1 1 2⇒121221 1 1 ⇒ ∴
EJEMPLO 1: Sea
y x=1. Demuestre que para x=1 es un punto fijo:
Dado un problema de buscar una raíz f(p)=0, podemos definir una función g, con
, ⇒ ∴ í
un punto fijo p de diversas formas, por lo tanto sea
si la función g
tiene un punto fijo en p entonces la función definida es:
Verifiquemos que f(x) tiene un cero en p Si x=p es punto fijo g(p)=p
4 100 ∎ 4 100
Ejemplo 2:
La ecuación tiene una raíz única en el intervalo de [1,2], encuentre una expresión x=g(x)
52
Métodos Numéricos Ing. William Caiza
4 10 1 0 4 1 0 || ± 4 − 1
4 10 104 2 104 104 √104 3 0 0 2√10 2 0 2 1 0 1 0 24 10 4 100
VERIFICACIÓN DE LA ECUACIÓN (1):
1 0 4 √102 2√10 2
Algoritmo de interación del método de punto fijo:
+ ; , , , …
Donde se tendrá que inicializar el algoritmo con El error a calcular será de la forma:
.
E j em p l o E x c e l :
53
Métodos Numéricos Ing. William Caiza
Despejando x se obtienen 3 ecuaciones:
Tabla de valores para varias f(x)=g(x). A continuación se explicará que función utilizar.
Gráfico de la función original para valores [-3,3] en pasos de 0.3
Gráfico para los valores de la ecuación (1), pero no se toma estos valores porque no se intersectan las rectas 54
Métodos Numéricos Ing. William Caiza
Gráfico para la ecuación (2), pero aunque las rectas se intersecten, no convergen por lo que no se utiliza esta función. Esto se demuestra en el cuadro siguiente.
Gráfico de la ecuación (3) en la cual las rectas se intersectan y las funciones convergen.
Cuadro del Método de Punto Fijo
55
Métodos Numéricos Ing. William Caiza
Implementación del Código en Matlab
Script (Código de Programación)
Ejecución del Programa
56
Métodos Numéricos Ing. William Caiza
Método de Newton-Raphson.- Si f(x), f´(x) y f´´(x) son continuas cercas de una raíz p, esta información sobre la naturaleza de f(x) puede usarse para desarrollar algoritmos que produzcan sucesiones que converjan a p más rápidamente. Sea y=f(x) los puntos ( ,0) y ( , ) entonces la pendiente es igual:
Igualando tenemos que:
0 1 ; 2 0
Este proceso puede repetirse para obtener la sucesión
que converge ap.
FORMULA DEL METODO DE NEWTON RAPSHON MODIFICADO ES: Xi+1 = Xi TEOREMA: Supongamos que la función
∈ , ∈, ⇒ −− − ; 1,2 , …
Esto quiere decir, f elementos de las continuas e integrables en el intervalo [a, b] y que exista un número
tal que f(p)=0
57
Métodos Numéricos Ing. William Caiza
Ejemplo:
.
Aplicar el método de Newton-Raphson para resolver la siguiente ecuación:
l⇒n 0.l 7n0 0.7
+
2 7 + 2 0. 22 ⟹+ 1.3137 + 1 . 3 137 + 1.3137 1.321370.7 ⟹+ 1.415 | | | | 1 . 4 151. 3 137 ⇒0. 1 01 +
58
Métodos Numéricos Ing. William Caiza
1 . 4 15 + 1.415 1.42150.7 ⟹+ 1.419 | | | 1 . 4 191. 4 15|⇒0. 0 04 + 1 . 4 19 + 1.419 1.42190.7 ⟹+ 1.419 | | |1.4191.419| ⇒0
59
Métodos Numéricos Ing. William Caiza
33 23 2 221 1 Ejemplo:
12 21 3 -1-2-3 = -4.
5
-3
-1
-4 SI x=2 F(3)= 4+4-3 =5 (2 , 5) Encontramos la recta en x=2 m f(2)=2x+2 2(2)+2=6 y – 5 = 6 ( x – 2 ) y – 5 = 6 x – 12 1) y = 6x – 7 x y 0 -7 1 1
60
1
2
Métodos Numéricos Ing. William Caiza
1) En y = 0 0 =6x – 7 7= 6x X=7/6 Ahora encuentro la recta tg en x= 7/6. (7/6 , f(7/6))
7 (7)( ) 649841086 2(7)3 6 36 ( 77)2( 62 767)2 6 3 3 13 137 25 3 18 36 0157 13313 15736 36 3 . 49/36 + 7/3 -3
Si y = 0 en 2
61
Métodos Numéricos Ing. William Caiza
CAPITULO III SISTEMAS DE ECUACIONES LINEALES
INTRODUCCIÓN Matriz escalonada
Para precisar las ideas sobre la forma especial de los sistemas que pueden resolverse por el método de sustitución hacia atrás, se utiliza el concepto de matriz escalonada. Así se diría que un sistema con esta forma especial tiene como matriz aumentada una matriz en la forma escalonada.
Definición (Matriz escalonada) Sea A una matriz n×m. A es escalonada si es nula o si satisface las tres condiciones siguientes: i. El primer elemento no nulo de cada fila, si existe, es un 1. ii. El primer 1 de la segunda fila y sucesivas está a la derecha del primer 1 de la fila anterior. iii. Bajo del elemento 1 hay ceros. iv. Si tiene filas nulas —compuestas sólo de ceros — estas aparecen en la parte inferior de la matriz, abajo de las filas no nulas.
Definición (Matriz escalonada reducida) Una matriz A, n × m, es escalonada reducida si es escalonada y además todo elemento en una columna, arriba del primer uno de cualquier fila, es cero. Es decir, la forma escalonada reducida se obtiene de una forma escalonada, haciendo cero los elementos de la matriz arriba de los primeros unos de cada fila.
Definición (Sistemas equivalentes) Dos sistemas de ecuaciones lineales con m incógnitas son equivalentes si tienen el mismo conjunto solución.
62
Métodos Numéricos Ing. William Caiza
De esta definición se tiene que si un sistema de ecuaciones lineales es el resultado de aplicarle operaciones elementales a otro, ambos sistemas son equivalentes. El método de reducción gaussiana permite resolver sistemas de ecuaciones lineales, explotando la idea de equivalencia. Es decir, transformando el sistema mediante operaciones elementales, hasta obtener uno cuya forma permite resolverlo mediante
“sustitución hacia atrás”. Matrices equivalentes y rango Para caracterizar los sistemas de ecuaciones lineales que tienen solución y aquellos que no la tienen se introduciría la noción de rango de una matriz, lo cual requeriría ampliar un poco la notación de sistemas. Todo sistema de ecuaciones lineales se puede notar AX = b, b es el vector de constantes en las ecuaciones a la derecha y X es el vector de incógnitas del sistema, esta forma de escritura Ax = b se conocerá como escritura matricial del sistema. Y en ella cada ecuación i del sistema se representa como: el producto del vector fila i de la matriz A multiplicado por el vector columna x igual a la componente i del vector b.
Definición (Matrices equivalentes) Sean A, B matrices n×m, se dice que la matriz A es equivalente por filas a B (o simplemente equivalente), si B se obtiene de A por aplicación de operaciones elementales de renglón. Se escribe A -> B. Aunque la idea de equivalencia en matrices es la misma que en sistemas, presenta una pequeña diferencia. Dos sistemas de ecuaciones lineales en m variables pueden ser equivalentes, aún cuando tengan distinta cantidad de ecuaciones. Sin embargo, dos matrices aumentadas no son equivalentes si tienen un número de filas (ecuaciones) distinto, aún cuando representen sistemas equivalentes.
63
Métodos Numéricos Ing. William Caiza
Aunque es claro, en este caso, que agregando filas nulas a la que tenga menos filas, se pueden transformar en matrices equivalentes.
Teorema Si A es una matriz m×n entonces existe una única matriz B con la forma escalonada reducida que es equivalente a A.
Definición (Rango de A) Sea A una matriz n×m, se llama rango de A y se denota Rng (A) al número de filas no nulas de la matriz en la forma escalonada reducida equivalente a A. Así para determinar el rango de una matriz A es necesario calcular su forma escalonada reducida, sin embargo, observe que cualquier matriz escalonada equivalente a A tiene el mismo número de filas no nulas que la escalonada reducida. Esto porque la escalonada reducida se obtiene de la escalonada aplicando más operaciones, las cuales no modifican el número de filas no nulas.
Caracterización de los sistemas, por su solución 1.- Sistemas que no tienen solución El problema de decidir si un sistema de ecuaciones lineales tiene solución o no, es el problema de reconocer si tiene ecuaciones inconsistentes o no. Y esto se reconoce fácilmente cuando el sistema tiene la forma escalonada y se observa al menos una ecuación de la forma: 0x1 + 0x2 + · · · + 0xn = 1 También resulta fácil de reconocer que hay ecuaciones inconsistentes, en un sistema en su forma inicial, cuando dos de ellas tienen iguales coeficientes asociados a las mismas variables y la constante a la derecha es distinta. Además Un sistema de ecuaciones puede contener ecuaciones superfluas o redundantes, en el sentido de que las restricciones que establecen ya están contempladas en las otras ecuaciones. Y en general podem os recon ocer que: Rng (A) < Rng (A|b) <-> Ax = b tiene ecuacion es inc ons istentes.
64
Métodos Numéricos Ing. William Caiza
2.- Sistemas con solución Un sistema Ax = b con solución se dice que es consistente y, naturalmente, es un sistema que no tiene ecuaciones inconsistentes. La ausencia de ecuaciones inconsistentes se refleja en que: la forma escalonada de la matriz del sistema A y la forma escalonada de la matriz aumentada (A|b) tienen el mismo número de filas no nulas.
Y esto es equivalente a establecer que: Rng (A) = Rng (A|b)
Sistemas con solución única Un sistema n × m, Ax = b, tiene solución única, si además de la condición anterior, el sistema en la forma escalonada tiene tantas ecuaciones no superfluas, como variables. O lo que es lo mismo:
• En cada columna de la forma escalonada de la matriz del sistema, hay un primer uno de alguna fila.
• O, el número de filas no nulas en la matriz del sistema en su forma escalonada es igual a m, el número de variables del sistema.
• O, Rng (A) = Rng (A|b) = m. Sistemas con infinito número de soluciones Finalmente, un sistema n×m, Ax = b, tiene un número infinito de soluciones si además de tener solución, el número de filas no nulas de la forma escalonada de la matriz del sistema es menor que m, el número de variables (o columnas de la matriz del sistema). Lo que es equivalente a establecer que: Rng (A) = Rng (A|b) < m. Esto significa que hay columnas, en la forma escalonada de la matriz del sistema, que no contienen algún primer uno. El número de estas columnas corresponde al número de
parámetros con que se describe el conjunto solución del sistema y es igual a m− Rng (A). Sistemas homogéneos
65
Métodos Numéricos Ing. William Caiza
Si las constantes a la derecha del igual en todas las ecuaciones son cero, se dice que el sistema es homogéneo, es decir, Ax = b se llama homogéneo si b = 0 es el vector columna de ceros. En este caso, se tiene que Rng (A) = RngA|0) Porque ninguna operación elemental sobre las filas de (A|0), puede cambiar los ceros que forman la última columna de (A|0). Así, en un sistema homogéneo no pueden existir ecuaciones inconsistentes. Además se reconoce fácilmente que x1 = x2 = . . . xm = 0, es una solución, por lo tanto los sistema homogéneos siempre tienen solución.
Teorema: Todo sistema homogéneo Ax = 0, n×m, es consistente: a) x = 0m, el vector columna de m ceros, es una solución del sistema. b) Si Rng (A) = m entonces el sistema tiene como única solución al vector nulo: x = 0m.
c) Si Rng (A) < m entonces el sistema tiene infinitas soluciones que dependen de m − Rng (A) parámetros.
Interpretación del rango de una matriz Consideremos una matriz A cualquiera n × m, y el sistema homogéneo Ax = 0. Observemos que: 1. Cada ecuación que produzca un primer uno, en la forma escalonada de la matriz del sistema, es una ecuación que aporta información para resolver el sistema Ax = 0, que no está contemplada en las otras ecuaciones. 2. En tanto que una ecuación que termine como una fila de ceros en la escalonada reducida equivalente a A, es una ecuación que puede omitirse del sistema Ax = 0 sin que se pierda nada, es una ecuación redundante o superflua. 3. Por otra parte Rng (A) es el número de filas no nulas de la escalonada reducida equivalente a A, o sea, el número de primeros 1 de cualquier matriz escalonada equivalente A. Así, el Rng (A) informa del número de ecuaciones que realmente aportan información para resolver el sistema homogéneo Ax = 0, o en otros términos, El Rng (A) es:
66
Métodos Numéricos Ing. William Caiza
• El máximo número de ecuaciones del sistema Ax = 0 que no incluyen ecuaciones redundantes.
• Y el mínimo número de ecuaciones que se deben preservar en el sistema Ax = 0 para obtener un sistema equivalente.
Teorema Si A es una matriz n × n, las siguientes proposiciones son equivalentes. i) Rng (A) = n. ii) A es equivalente a la identidad. iii) Ax = 0 tiene solución única. iv) Ax = b tiene solución única para todo b elemento de Rn.
Operaciones Elementales de Fila 1) 2) 3)
← ; . ← ± ← ±
Cálculo de la matriz inversa Algoritmo
⋮ ≈ ⋮ ≈ + ⋮ + ≈⋯≈ ⋮ | | , | | Ejemplo:
1 1 3 12 21 14⟹ | | 1 124 382 ⇒ | | 17314 ⇒ | | 0 Calcular la matriz inversa:
67
Métodos Numéricos Ing. William Caiza
1 2 11 34 10 01 00 ← 2 ⇒10 13 23 1 2 01 00 ← 13 1 2 1 0 0 1 ← 2 0 1 4 1 0 1 1 1 7 1 0 1⇒0 11 32 12 10 00 ← ⇒ 0 1 32 32 31 00 3 3 3 3 3 3 3 ← ← 14 0 1 4 1 01 5 1 14 [0 0 3 3 3 1] 1 1 1 1 1 7 7 0 1⇒ 0 32 22 31 0 ← 32 ⇒ 10 01 00 23 22 12 00 10 13 53 31 3 ← 3 0 0 1 57 71 73 [ 14 14 14 ] 14 14 14 Verificación:
1 1 1 2 2 2 1 1 3 1 0 0 3 2 1 − ∙ 12 21 14∙ 57 71 73 ⇒00 10 01 [ 14 14 14 ]
RANGO DE UNA MATRIZ x – 9y + 5z = 33 x + 3y – z = -9 x – y + z = 5
111 913 151 23 1 9 5 1 9 5 2/2 0 4 2 0 2 1 32 31 3/4 0 8 4 0 2 1 10 92 15 2 00 0 68
Métodos Numéricos Ing. William Caiza
111 913 151 9335 21 111 1912 516 42335 2/6 101 912 151 7335 32 101 921 150 7233 31 101 1920 155 35733 3/5 100 922 115 7733 32 10 92 15 7330 2<, , 0>∃ 00 217 +5 339 5 33 33 + + , : x = 33 + 9y – 5z
X – 9y 5 z = 33 Donde
2y = 7 + z
Sea z = t
Implementación del Código en Matlab Script (Código del Programa)
69
Métodos Numéricos Ing. William Caiza
Ejecución del Programa
Todo sistema de ecuaciones se puede escribir de la forma:
Ejemplo:
70
Métodos Numéricos Ing. William Caiza
3 2 1 1 11 31 11 ; 12 3 1 21 11 12 ⇒32 12 1 3 1 3 12 13 1 2 3 1 0 ∀ > 0 ∀ < ⇒< ⇒ ⇒> DEFINICIÓN: Se dice que una matriz verifican
, para
Se dice que una matriz , para
triangular superior cuando sus elementos
, es triangular inferior cuando sus elementos verifican
.
Ejemplo:
1 2 1 00 20 11
MATRIZ TRIANGULAR SUPERIOR
0⇒∀>
MATRIZ TRIANGULAR INFERIOR
71
Métodos Numéricos Ing. William Caiza
1 0 0 23 12 04
0⇒∀<
Si A es una matriz triangular superior entonces se dice que el sistema triangular superior de ecuaciones lineales:
(1)
⋯ ⋯ ⋱⋱ ⋮⋮ −,−−,−−−,−−−,− −,− −
es un sistema
Teorema de Sustitución Regresiva Supongamos que tenemos el sistema Ax=b, un sistema triangular superior como en (1). Si
0 ; ∀ 1,2,… , ∎ ó ; 0 − − −−,−,− −− −,−− −,−−,− −,−−− −,− −, − −,− ∑ =+ ; entonces existe una solución única de (1).
La solución es fácil, la última ecuación solo contiene la incógnita
Conocido
, podemos utilizarla para encontrar
Así:
Generalizando tenemos:
Ejemplo Aplicando el método de sustitución hacia atrás de una matriz 4X4
72
, es decir:
Métodos Numéricos Ing. William Caiza
0 00 00 (Constante y conocido)
Implementación del Código en Matlab del método de sustitución regresiva de una matriz de 4x4
Script (Código del Programa)
Ejecución del Programa
73
Métodos Numéricos Ing. William Caiza
Implementación del Código en Matlab
Script (Código del Programa)
74
Métodos Numéricos Ing. William Caiza
Ejecución del Programa
TEOREMA: Un sistema lineal TEOREMA: Si una matriz
, siendo
es triangular superior o inferior, entonces el
ELIMINACIÓN GAUSSIANA Y PIVOTEO Necesitamos resolver el sistema
con n ecuaciones y n incógnitas. El objetivo es
construir un sistema triangular equivalente de sustitución regresiva.
det0. det ∏=
tiene solución ínica si y solo si
que podamos resolver usando el método
OBSERVACIÓN: Se dice que 2 sistemas de orden n son equivalentes cuando tienen el mismo conjunto de soluciones (es decir se realizaron operaciones de fila o columna en la matriz original)
TEOREMA: OPERACIONES ELEMENTALES CON LAS FILAS Cualquiera de las operaciones elementales con las filas aplicada a la matriz ampliada produce un sistema lineal equivalente.
… … | … 75
Métodos Numéricos Ing. William Caiza
DEFINICIÓN: PIVOTEO Y MULTIPLICADORES Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:
2 2 4 13 0 4 3 28 43 2 23 2 206 , ,,,… ← ,
Dado el siguiente multiplicador (columna)
Multiplicador
Pivote
Multiplicador
1 2 20 14 43 1328 43 21 23 12 206 2 ⇒ 21 2 ; ←1 2 1 4 13 304 421 223 512 2026 3 ⇒ 41 4 ; ← 1 0 42 21 54 132 03 61 23 152 326 4 ⇒ 31 3 ; ← 76
Fila Pivote
Métodos Numéricos Ing. William Caiza
10 42 21 54 132 00 67 26 1514 3245 , , , … ← 3 ⇒ 64 32 ; ← 10 42 21 54 132 00 07 56 1514 ⁄2 3545 4 ⇒ 47 74 ; ← 10 42 21 54 132 00 00 519⁄21521⁄⁄24 9735⁄2 , , … ← 19 4 ⇒ 52 1910 ; ← 10 42 21 54 132 00 00 5 0159 ⁄2 3518 95 18⇒ 152 35⇒5 152 2 35⇒ 5 2⇒ 4 2 5 2⇒4 2 4 2 2 4 13⇒ 21 442 13⇒ Segunda columna
Tercera columna
Ejemplo2
77
Métodos Numéricos Ing. William Caiza
Resolver el siguiente sistema de ecuaciones mediante pivoteo y multiplicadores:
322 1 231 , , … ← , 3 1 21 11 1 2 3 2 ⇒ 13 13 ; ← 3 0 25 14 3 3 1 2 3 1 1 3 32 ⇒1 3 3 ; ← 0 534 1043 [0 3 3 ] , ← 3 ⇒ 64 32 ; ← 30 25 14 3 3 0[ 0 225 ] Calculemos el rango
Primera columna
Segunda columna
Calculemos el rango de la matriz ampliada
78
Métodos Numéricos Ing. William Caiza
3 1 21 11 12 1 2 3 1 , , … ← , 2 ⇒ 13 13 ; ← 3 0 5/32 4/31 5/32 1 2 3 5/3 1 1 3 ⇒ 3 3 ; ← 30 5/32 4/31 5/32 0 4/3 10/3 5/3 , 6← 3 3 ⇒ 4 2 ; ← 30 5/32 4/31 5/32 0 0 22/5 1/3 Primera columna
Segunda columna
El rango de A Ran(A)=3 Ran(A|b)=3 m=3
∴ ó
ELIMINACIÓN DE GAUSS-JORDAN
DEFINICIÓN: es un algoritmo del álgebra lineal para determinar las soluciones de un sistema de ecuaciones lineales, encontrar matrices e inversas. Un sistema de ecuaciones se resuelve por el método de Gauss cuando se obtienen sus soluciones mediante la reducción del sistema dado a otro equivalente en el que cada ecuación tiene una incógnita
79
Métodos Numéricos Ing. William Caiza
menos que la anterior. El método de Gauss transforma la matriz de coeficientes en una matriz triangular superior. El método de Gauss-Jordan continúa el proceso de transformación hasta obtener una matriz diagonal.
ALGORITMO: 1. Ir a la columna no cero extrema izquierda 2. Si el primer renglón tiene un cero en esta columna, intercambiarlo con otro que no lo tenga 3. Luego, obtener ceros debajo de este elemento delantero, sumando múltiplos adecuados del renglón superior a los renglones debajo de él 4. Cubrir el renglón superior y repetir el proceso anterior con la submatriz restante. Repetir con el resto de los renglones (en este punto la matriz se encuentra en la forma de escalón) 5. Comenzando con el último renglón no cero, avanzar hacia arriba: para cada renglón obtener un 1 delantero e introducir ceros arriba de éste sumando múltiplos correspondientes a los renglones correspondientes Una variante interesante de la eliminación de Gauss es la que llamamos eliminación de Gauss-Jordan, esta consiste en ir obteniendo los 1 delanteros durante los pasos uno al cuatro así para cuando estos finalicen ya se obtendrá la matriz en forma escalonada reducida
EJERCICIOS: 1. Resolver el siguiente sistema mediante Gauss-Jordan
1 3 1 1 23 32 14 31 2 13 322 124 312 ←← 35 0 2132 2112 292 ← 132 511 4 511 4 17 7 0[ 2 2 32 ] 80
Métodos Numéricos Ing. William Caiza
1 32 1211 129 ← 32 1 0 101311 1379 13 1 0 1013 137 0 117 137 313 ← 172 0 1 4813 9613 ← 48 0 1 1113 139 [0 ← 2 102 12 0] 0 1 ⇒ [0 0 13 13 ] [0 0 1 2 ] 13 0 1 0 1 11 ← 13 0 0 1 2 2 5 2 5 1 1 32 24 13 52 ← 3 12 43 11 32 ← 2 0 1633 3 343 2 5 5 3 1 1 1 0 ← 163 0 13 169 314 ← 23 0 1 8169 214 9 58 321⇒ 32 9 58 1 16 4 ⇒ 16 4 ∴ 2. Resolver el siguiente sistema mediante Gauss-Jordan
3. Obtener λ para que el sistema de ecuaciones tenga: a) Solución única b) Infinitas soluciones c) No tenga solución
81
Métodos Numéricos Ing. William Caiza
1 1 1 21 1λ 64 ← 2 11 2λ 34 ← 0 λ2 1 31 ← λ 1 10 121 2λ132 2 2 2 3 22λ 1 ⇒2λ10 ⇒λ 12 ← 12 [10 01 2λ1 ] λλ ⇒ ó ⇒ ú ó
4. Obtener λ para que el sistema de ecuaciones tenga: d) Solución única e) Infinitas soluciones f) No tenga solución
λ 1 λ 1 1 2λ 2λ 11 ← 2 1λ 22 21 ← λ 0 4λ22 2λ22 ← 4λ2 1 1 λ 10 21 2λ21 ← 2λ 10 01 2λ 12λ ⇒4 λ 0⇒4λ ⇒√λ √ 4 ⇒λ2 | | |λ⇒||λλ|2⇒λ2 λ<0⇒ λ≥0⇒||λ|λλ⇒ | 2⇒λ2 1 λ2 ⇒ ó 000 1⁄22 ⇒02 λ±2 ⇒ ú ó λ2 ⇒ ⁄ 10 10 102 i.
ii.
Algoritmo del método de Gauss-Jordan
82
Métodos Numéricos Ing. William Caiza function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mensaje=str2double(inputdlg('Usted va ingresar en la ultima columna los valores de la mtriz B, si esta de acuerdo ingrese 1 caso contrario 0')); if mensaje==1 n=str2double(inputdlg('Ingrese el orden n de la matriz A')); %Ingresamos la matriz ampliada con los coeficientes en la ultima columna for i=1:n for j=1:n+1 etiqueta=['ingrese la matriz A(' num2str(i) ',' num2str(j) '):']; A(i,j)=str2double(inputdlg(etiqueta)); end end %creamos una nueva variable igualada a la matriz ampliada para trabajarla AM=A; %Resolvemos la matriz ampliada mediante eliminacion gaussiana y pivoteo %para la triangular inferior for k=1:n AM(k,k:n+1)=AM(k,k:n+1)/AM(k,k); %dejando a AM(1,1)=1 for i=k+1:n pivote=AM(i,k)/AM(k,k); %calculo del pivote AM(i,k:n+1)=AM(i,k:n+1)-pivote*AM(k,k:n+1);%aplicando pivote a las filas end end %para la trinagular superior for k=1:n for i=k+1:n pivote=AM(k,i)/AM(i,i); AM(k,i:n+1)=AM(k,i:n+1)-pivote*AM(i,i:n+1); end end %separamos las saoluciones tomando la ultima comulna de AM for i=1:n X(i)=AM(i,n+1); end %enviamos a imprimir set(handles.uitable1,'Data',AM); set(handles.uitable2,'Data',A); set(handles.uitable3,'Data',X); end
83
Métodos Numéricos Ing. William Caiza
Figura 3.4:Resultado Del Programa
DESCOMPOSICIÓN L.U- FACTORIZACIÓN TRIANGULAR
0 0 00 0 0
Algoritmo código método LU
⋮ ⇒
⇒ ⋮⇒ 2 ⇒ ⋮ ⇒ 1
function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mensaje=str2double(inputdlg('Usted va ingresar en la ultima columna los valores de la mtriz B, si esta de acuerdo ingrese 1 caso contrario 0')); if mensaje==1; n=str2double(inputdlg('Ingrese el orden n de la matriz A')); for i=1:n for j=1:n+1 etiqueta=['ingrese la matriz A(' num2str(i) ',' num2str(j) '):']; A(i,j)=str2double(inputdlg(etiqueta));
84
Métodos Numéricos Ing. William Caiza end end for i=1:n B(i)=A(i,n+1); end U=zeros(n);%triangular superior L=zeros(n);%triangular inferior for j=1:n L(j,j)=1; end for j=1:n U(1,j)=A(1,j); end for i=2:n for j=1:n for k=1:i-1 s1=0; if k==1 s1=0; else for p=1:k-1 s1=s1+L(i,p)*U(p,k); end end L(i,k)=(A(i,k)-s1)/U(k,k); end for k=i:n s2=0; for p=1:i-1 s2=s2+L(i,p)*U(p,k); end U(i,k)=A(i,k)-s2; end end end Laux=L; for i=1:n Laux(i,n+1)=B(i); end for i=1:n Sumatoria=0; for p=1:i-1 Sumatoria=Sumatoria+Laux(i,p)*z(p); end z(i)=(Laux(i,n+1)-Sumatoria)/Laux(i,i); end Uaux=U; for i=1:n Uaux(i,n+1)=z(i); end
85
Métodos Numéricos Ing. William Caiza
for i=n:-1:1 sumat=0; for j=i+1:n sumat=sumat+Uaux(i,j)*x(j); end x(i)=(Uaux(i,n+1)-sumat)/Uaux(i,i); end set(handles.uitable1,'Data',A); set(handles.uitable2,'Data',L); set(handles.uitable3,'Data',U); set(handles.uitable4,'Data',x); end
MÉTODO DOOLITTLE`S
86
Métodos Numéricos Ing. William Caiza
0 0 0 00 0 8⇒ 6⇒ 2⇒ 4⇒ 11⇒ 7⇒ 4⇒ 7⇒ 6⇒ 1 1 10 00 8 6 2 21 1 1 00 80 62 [2 2 ] 1 1 10 00 28 40⇒14 40⇒ 33⇒1413 33⇒ 21 1 1 406 [2 2 ] Resolviendo (1)
Resolviendo (2)
87
Métodos Numéricos Ing. William Caiza
80 68 62 4028 00 26
28 66⇒ 26⇒8 6326⇒ 86 2 28⇒8 61 2328 ⇒
⇒ ⇒ Ejercicios Propuestos Método de la Matriz inversa Calcule las siguientes matrices por el método de la matriz inversa. 1) Calcular por el método de Gauss la matriz inversa de:
2) Calcular por el método de Gauss la matriz inversa de:
3) Hallar por determinantes la matriz inversa de:
4) ¿Para qué valores de x la matriz no admite matriz inversa?
5) ¿Para qué valores de x la matriz
no admite matriz inversa?
88
Métodos Numéricos Ing. William Caiza
Método de Gauss Resuelva las siguientes ecuaciones por el método de Gauss 1)
2) 3)
4)
5)
Método De Sustitución 1) 2) 3)
4)
5)
Página web: http://www.vitutor.com/algebra/sistemas%20I/g_e.html
89
Métodos Numéricos Ing. William Caiza
Eliminación de Gauss Jordan
(1)
(2)
(3)
(4)
(5)
Página web: http://matesfacil.com/matrices/resueltos-matrices-SEL-GAUSS.html
90
Métodos Numéricos Ing. William Caiza
CAPITULO 4: AJUSTE DE CURVAS 4.1 Ajuste de Curvas Introducción. El ajuste de curvas consiste en encontrar una curva que contenga una serie de puntos y que posiblemente cumpla una serie de restricciones adicionales (cuando se permite una aproximación de la curva que describa al conjunto de datos por analizar).
Ejemplo 1:
y = 5 + 3x ; x=7 y=5+3(7) y = 26. 1) Desconocidos
2 Se ajusta a una parábola recta
91
Métodos Numéricos Ing. William Caiza
2) El modelo de ajuste es aquel que:
= = ∶ ,
92
Métodos Numéricos Ing. William Caiza
3) El modelo de ajuste indica
. .
(() ) = 1 = , , > = = ∑ 2 ∑ 2 2 2 , Entonces,
EL METODO DE LOS MINIMOS CUADRADOS
Sea:
]
]
Monotonía.-intervalos donde la función es creciente y decreciente Segunda derivada es para sacar los puntos de inflexión.
>0↑; <0↓
Máximos.- cuando la segunda derivada evaluada en el punto es negativo
93
Métodos Numéricos Ing. William Caiza
Mínimos.- cuando la segunda derivada evaluada en el punto es positiva
Ejemplo 2: Realice el siguiente ajuste de curvas El gerente de una tienda de televisores observa las siguientes ventas en 10 días diferentes, donde: a) Y=Número de televisores vendidos. b) X= Representantes de ventas Y X
3 1
6 1
10 1
5 2
10 2
12 2
5 3
10 3
10 3
8 2
Interpretación 1 Interpretación: La interpretación para generar un modelo de ajuste de los datos de la tabla anterior, el técnico deberá definir inicialmente que variable lo va a tomar como independiente o dependiente para el caso que estamos analizando, a los vendedores se los toma como variable independiente y a los televisores vendidos como variable dependiente. Televisores vendidos= f(vendedores) Asumiendo que una posible ecuación resultante sea la siguiente, demos la respectiva interpretación
. .
Se interpreta que por cada vendedor que se aumente, las ventas aumentaran en 1.5 unidades.
.
Por cada vendedor que se aumente las ventas aumentaran en una unidad.
. . SiSi x2⇒y8. 9 x3⇒y10.4 Verificación
94
Métodos Numéricos Ing. William Caiza
Por lo tanto la diferencia es 10.4 – 8.9=1.5, lo cual comprueba que por el aumento de un vendedor las ventas aumentan en 1.5 artículos. Para comprobar si el modelo es adecuado o no, se debería calcular el coeficiente de
R 0.076 ⇒R 7.6% determinación
.
El cual nos indica que cantidad de la variabilidad del modelo está justificada, para el caso , lo cual nos indica que es un porcentaje muy bajo de la
justificación de su variabilidad por ende es un modelo no adecuado. Como solo el 7.6% de la variabilidad está justificado, no se considera buen modelo. Un modelo adecuado, para ser considerado en el análisis debería tener al menos un 70% del coeficiente de variabilidad (
), el valor anterior se deduce de la experiencia en la
elaboración de diferentes modelos.
. 2⇒7.9 3⇒8.9 Verificación
8.9 7. 9 1
Para cada aumento de vendedores las ventas aumentaran en 1, es decir, que si disminuyo vendedores, las ventas también disminuirán en unidad, esto es de acuerdo a la función encontrada.
El
ó 0.076 ⇒ 7.6%
indica cuan bueno es el modelo lineal.
Indica el porcentaje de la variabilidad que está justificado en el modelo lineal.
95
Métodos Numéricos Ing. William Caiza
Interpretación 2 Como solo el 7.6% de la variabilidad está justificado, no se considera buen modelo. Un buen modelo es el que está entre el 70%.
Cálculos en Excel
Suma Promedio
x 1 1 1 2 2 2 3 3 3 2 20 2
NOTA: El valor de
y 3 6 10 5 10 12 5 10 10 8 79 7,9
xy 3 6 10 10 20 24 15 30 30 16 164
x^2 1 1 1 4 4 4 9 9 9 4 46
Vendedores Vs televisores 14
y = x + 5,9 R² = 0,076
12 s 10 e r o 8 s i v e 6 l e T 4
2 0 0
1
2
Vendedores
B1= B0=
1 5,9
es el acompañante de y el valor de
96
es la constante.
3
4
Métodos Numéricos Ing. William Caiza
4.2 Supuestos o Hipótesis del Modelo de Regresión Lineal
; ∀ , donde
donde
Figura 4.1 Representación Gráfica
La esperanza matemática de los errores se esperara que sea 0
; ∀ (, ) ( ) () 11 x
La varianza de los errores es constante.
Por lo tanto:
4.2.1 Propiedades
SC SC ∑x x
Si
suma de los cuadrados de los xx
SC ∑x nx x 2xxx x 2xxx
, demuestre que
97
Métodos Numéricos Ing. William Caiza
Si
x 2xnxnx x 2nx nx SC 2yyy y 2yyy yy 2yny ny y 2ny ny SC x xy y x y xy yx xy xxy x y yx xy y nyxnyxnxy
suma de los cuadrados de los yy, demuestre que es igual:
Demostración:
TEOREMA: Bajo los supuestos anteriores, demuestre:
Ejemplo 2
Modelo: Min(SCE) Sujeto a:
;
;
0 0 0 0 98
Métodos Numéricos Ing. William Caiza
– = = ∑ 2 2 2 2 ∑ ∑ 2 ∑ 2 ∑ ∑ 2 ∑ ∑ ]
]
⋯ ⋯ 0 ( ⋯) ⋯ ⋯ 2 2 ⋯2 ( ⋯) ⋯ ⋯ ∑ ⇒2 ∑ ∑ ó0 : ∑ ∑ 0 0 ∑ ∑ 2∑ 2 2 ∑ ∑ ∑ Primera restricción del modelo
=
=
+2n
-
+2
(1)
=0
=0 (2)
99
]
Métodos Numéricos Ing. William Caiza
Ecuaciones Normales
∑ ⇒ ∑ ∑ ∑ ∑ 0 0
Ejercicio.Dados los siguientes datos, encuentre la ecuación de regresión lineal ajuste Encontrar x 1 3 5 6
y 1 3,5 6 7
0 1
sumatoria
=
1 3 5 6 15
̅+.+++ ++ . =
=
=
̅ ̅ )(
1 3,5 6 7 17,5
-2,75 -0,75 1.25 1.8 0
-3,375 -0,875 1.44 2.625 0
143 5984 1.212 1754 1.212∗ 154 0.17 0.171.212 Ejercicio 2
100
297/32 21/32 65/32 189/32 143/8
)
(
̅
)^2
121/16 9/16 25/16 81/16 59/4
Métodos Numéricos Ing. William Caiza
En un estudio para describir la relación entre la expansión al ruido y la hipertensión se realizan las siguientes mediciones. x
Prómedio
y
60
1
65
1
70 80 80 85 90 90 94 100 81,4
5 4 2 5 6 4 7 7 4,2
x-´x 21,4 16,4 11,4 -1,4 -1,4 3,6 8,6 8,6 12,6 18,6
y-ý
(x-´x)(yý)
(x-´x)^2
Si x=66
(yi-ý)^2
(ýi-´yi)^2
68,48
457,96
1,1
0,01
10,24
9,61
-3,2
52,48
268,96
1,815
0,664225
10,24
5,688225
0,8 -0,2 -2,2 0,8 1,8 -0,2 2,8 2,8
-9,12 0,28 3,08 2,88 15,48 -1,72 35,28 52,08 219,2
129,96 2,53 6,1009 1,96 3,96 0,0016 1,96 3,96 3,8416 12,96 4,675 0,105625 73,96 5,39 0,3721 73,96 5,39 1,9321 158,76 5,962 1,077444 345,96 6,82 0,0324 1526,4 14,137994
∑− ∑̌−
a.- Interpretación
b.- Si x=65
(yi-ýi)^2
-3,2
̅81.4 4.219.2 2 152.68 0.143 7.44020.143 7.44020.14365 1.815 7.44020.14366 1.958 Hipertensión=f(ruido)
ý
0,64 2,7889 0,04 0,0576 4,84 0,0576 0,64 0,225625 3,24 1,4161 0,04 1,4161 7,84 3,104644 7,84 6,8644 45,6 31,229194
=14.134 =31.229
Título del gráfico 8 y = 0,1436x - 7,4895 R² = 0,6903
7 6 5 4 3 2 1 0 0
20
40
60
80
100
Por cada nivel que aumenta en el ruido, la hipertensión aumenta a 0.143 unidades
101
120
Métodos Numéricos Ing. William Caiza
4.3 Coeficiente de Correlación. El coeficiente de correlación de Pearson (r), mide la relación lineal existente entre dos variables. El coeficiente de correlación es un valor que se encuentra en el intervalo [-1 , 1]; teniendo en cuenta que si r se acerca a 1, se dice que existe una relación lineal fuerte positiva, es decir: si la variable x toma valores grandes la variable y también toma variables grandes y si la variable x toma valores pequeños, la variable y también toma valores pequeños. Si el coeficiente de correlación toma valores alrededor de cero, el coeficiente de Person indica que no existe una relación lineal entre dichas variables. Además si el coeficiente de PEARSON toma valores cercanos a -1, indica que existe una relación lineal fuerte negativa, es decir: si la variable x aumenta la variable y disminuye y si la variable x disminuye la variable y aumenta. A continuación analicemos las siguientes expresiones: La covarianza de dos variables se define como Sxy; y la suma de los cuadrados de los xy como SCxy, cuya relación se la define de la forma siguiente:
11 ̅ ̅ 1 1 S S ̅ − ∑ ̅ ̅ − 11 −1)
Además conocemos la varianza
y su desviación estándar
=
;
Por lo tanto la desviación estándar de la variable y es:
Por lo tanto definimos al coeficiente de correlación lineal mediante la siguiente expresión:
102
Métodos Numéricos Ing. William Caiza
⇒ 1 1 . . 11 . . =
El coeficiente de determinación, determina si el modelo de regresión lineal es bueno, ya que mide la cantidad de variación del modelo justificado. Este coeficiente toma valores mayores iguales a 0 y menores iguales a 1, por lo tanto si c acerca a 1 el modelo lineal es bueno, ya que toda la variación estaría justificada.
Ejemplo 3: Encuentre la ecuación lineal que ajusta los puntos y su coeficiente de correlación En un estudio para determinar la relación entre el peso de los automóviles y su consumo de combustible se escogió una muestra de 10 carros, con l os siguientes resultados:
Consumo(litro/100km)=y 8 16 6 7 7 9 11 12 18 20 739 1187 655 729 888 797 963 802 1551 1650 Peso(kg)=x
103
Métodos Numéricos Ing. William Caiza
Figura 4.6: Cuadro De Datos
Figura 4.7: Grafico Del Ejercicio
Respuesta: esto nos indica que por cada kg que aumente de peso el carro, el consumo de combustible es 0,0134 por cada 100km. (r) nos indica si existe relación lineal entre el peso del carro y el consumo de combustible. Algoritmo de Ajuste Curvas function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=str2double(inputdlg('Ingrese la cantidad de datos para el Ajuste Lineal'));
104
Métodos Numéricos Ing. William Caiza for i=1:2 for j=1:n etiqueta=['Dato(' num2str(i) ';' num2str(j) ')']; dato(j,i)=str2double(inputdlg(etiqueta)); end end %calculo de promedios sumx=0; for i=1:n sumx=sumx+dato(i,1); end promx=(sumx/n); sumy=0; for i=1:n sumy=sumy+dato(i,2); end promy=(sumy/n); %suma de los xy sumpxy=0; for i=1:n sumpxy=sumpxy+(dato(i,1)-promx)*(dato(i,2)-promy); end sumpxx=0; for i=1:n sumpxx=sumpxx+(dato(i,1)-promx)*(dato(i,1)-promx); end sumpyy=0; for i=1:n sumpyy=sumpyy+(dato(i,2)-promy)*(dato(i,2)-promy); end %calculo de r r=sumpxy/sqrt(sumpxx*sumpyy); beta1= (sumpxy/sumpxx); beta0= promy-beta1*promx; %calculo de r^2 for i=1:n ytecho(i)=beta0+beta1*promx; end %condiciones if r>=0.7 etiqueta='Relacion Lineal Fuerte'; end if r<=0.7 & r>=0.5 etiqueta='Relacion Lineal debil'; end if r<0.5 & r>-0.5 etiqueta='no existe Relacion Lineal '; end if r<-0.7 & r>=-0.5 etiqueta='Relacion lineal d '; end
105
Métodos Numéricos Ing. William Caiza if r<=-0.7 etiqueta='R.L.F. '; end set(handles.uitable1,'Data',dato); set(handles.text2,'String',etiqueta); set(handles.uitable2,'Data',[ beta1 beta0 r ]'); plot(dato(:,1),dato(:,2),'r*'); hold on; grid on; plot([-10 10],[0 0],'r'); plot([0 0],[-10 10],'r'); %Grafico d ela funcion syms x; funcion=beta0+beta1*x; f=inline(funcion); x=[-1:0.1:7]; [fx cx]=size(x); for i=1:cx y(i)=f(x(i)); end plot(x,y);
Figura 4.11: Ejecución Del Programa
4.4 Prueba de Hipótesis
106
Métodos Numéricos Ing. William Caiza
Con respecto al ajuste lineal la prueba que se va a tratar, es la de verificar si el coeficiente de Pearson es cero o diferente de cero, en otras palabras lo que queremos averiguar es si existe relación lineal entre variables, la prueba de hipótesis consta de 5 pasos: Hipótesis nula (
H H )
Hipótesis alternativa (
)
Estadístico de prueba Región de rechazo Decisión.
Con respecto a la prueba de hipótesis de r, tenemos:
1 2 3
:0 :0 √ √ −− .−.√ − 7,9313
Figura 4.12: Grafica De La Prueba De Hipótesis
107
Métodos Numéricos Ing. William Caiza
Ejemplo 4: realizar la prueba de hipótesis del siguiente ejercicio
Figura 4.13: Ejercicio Prueba De Hipótesis En Excel
Ejemplo 5
R 0.85
, indica que el 85% de la variación del modelo lineal está justificada y que solo un
15% no está justificado debido a la aleatoriedad del fenómeno. SCyy=SCE+SCR
= = =
108
Métodos Numéricos Ing. William Caiza
Figura 4.14: Representación Grafica
4.5 Generalización de modelos lineales
4.5.1 Modelo Potencial
∎ ( ) ⇒ , . ⇒
Dado un modelo no lineal mediante transformaciones pasar a modelo lineal Sea el modelo potencial
Ejercicios
º
109
Métodos Numéricos Ing. William Caiza
⇒
Coeficiente de determinación (
Determina el porcentaje de variación del modelo justificativo por la relación lineal y= y su valor se encuentra [0,1], tomando en cuenta que si se acerca a 1 será mejor.
Coeficiente de correlación(r) Mide la correlación lineal existente entre la variable x e y es decir: corr(x,y)
, ,,
Corr(x,y)=
S U P U E S T O S O H I P O T E S IS D E L M O D E L O D E R E G R E S I ÓN L I N E A L
1.
; ∀ ; ∀ (, )( ) ( ) , donde
donde
La esperanza matemática de los errores se esperara que sea 0
2.
La varianza de los errores es constante.
3.
Es decir
con
deben ser independientes.
110
Métodos Numéricos Ing. William Caiza
PROPIEDADES 1) Si
suma de los cuadrados de los xx
∑ 2 ̅̅ ̅ 2 ∑̅ ̅ ̅ 2̅̅ ̅ 2 ̅ ̅ ∑ ∑ ̅ ̅ ̅ ̅ ̅ ̅̅̅ ∑∑−− ̅ ∑∑ ∑ ̅ ∑ ̅ ∑∑−− ̅ ∑ ̅ 2) Si
, demuestre que
suma de los cuadrados de los yy
3)
TEOREMA: Bajo los supuestos anteriores
EJERCICIO Demuestre: Sabemos:
111
Métodos Numéricos Ing. William Caiza
∑− ̅ ̅ ∑− ̅
∑ ̅
Programa de Regresión Lineal.
Ejecución del Programa de Regresión Lineal
112
Métodos Numéricos Ing. William Caiza
GENERALIZACIÓN DE MODELOS LINEALES M O D E L O P O T E N C IA L
∎
ll nnllnnl(n ) lnlnln
Dado un modelo no lineal mediante transformaciones pasar a modelo lineal Sea el modelo potencial
⇒ln l n ln . ln ⇒
ll nnl n l n l n ln l n l n ⇒
EJERCICIOS
4.6 Regresión Múltiple En el capítulo anterior se desarrolló el ajuste lineal simple, es decir donde había una variable dependiente junto a una variable independiente. En el presente tema se tratará el caso de ajuste lineal donde hay una variable dependiente y varias variables independientes, por ejemplo:
ñ , í , ℎℎ 113
Métodos Numéricos Ing. William Caiza
La expresión anterior indica que el ingreso del docente (ID) es función de los años de servicio(AS), de los títulos obtenidos (TO) y de las publicaciones hechas(PH), pudiéndose tener la siguiente expresión lineal.
××× , , , … , .. .... ⋮ .. 1 ×,+, +, …×, × 11 × 1 ⇒
, en la expresión es necesario conocer las constantes a, b y
c las mismas que se obtendrán mediante el método de mínimos cuadrados como se describe a continuación: )
Para el caso d función real de variable vectorial:
Ejemplo 6 Matricialmente la expresión (1) se puede representar de la siguiente manera:
Programa Regresión Multilpe Código: function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
114
Métodos Numéricos Ing. William Caiza
m=3; n=str2double(inputdlg('Ingrese el numero de filas:')); for i=2:m for j=1:n etiqueta=['Ingrese el valor X(',num2str(j),',',num2str(i),')']; x(j,i)=str2double(inputdlg(etiqueta)); end end x(:,1)=1; for i=1:n etiqueta=['Ingrese el valor B(1,',num2str(i),')']; y(i,1)=str2double(inputdlg(etiqueta)); end total=(inv(x'*x)*(x'*y)); for i=1:n ys(i,1)=(total(1,1)*x(i,1))+(total(2,1)*x(i,2))+(total(3,1)*x(i,3)); end set(handles.uitable1,'Data',x); set(handles.uitable2,'Data',y); set(handles.uitable3,'Data',total); set(handles.text1,'String',ys); x=[x(:,2) x(:,3)]; plot3(x,y,ys,'*'); grid on; axis on; hold on; rotate3d on; plot3([min(x(:,1)) max(x(:,1))],[min(y) max(y)],[min(ys) max(ys)]); Programa Ejecutado
115
Métodos Numéricos Ing. William Caiza
4.6.1 Derivación Matricial
Sea
5 2 3
, 5, 5 2 3 23 ∴ ⇒ 2 ; é
116
Métodos Numéricos Ing. William Caiza
2 2 2 2 2 2 2 2 2 ∴ é ′ 2 2 ∴Se deber ía demost rar que: é ⇒ é 2 ∴ 2 ∗ 4.6.2 Método de los Mínimos Cuadrados para la Forma Matricial
Demuestre que:
117
Métodos Numéricos Ing. William Caiza
∗ = = 2 ∗ = 2 ∗ ∗ = 2 2 2 ∗ ∗ = 0 22 ∑ 12 ∑ + ∑ 2 ∗2 ∑ 2 1 2 ∗2 2 ∑ =0
Programación Mínimos Cuadrados Código: function pushbutton1_Callback(hObject, pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future future version of MATLAB MATLAB % handles structure with handles and user data (see GUIDATA) n=str2double(inputdlg('Ingrese n=str2double(inputdlg('Ingrese la cantidad de datos')); datos' )); for i=1:n i=1:n etiqueta=['Ingrese etiqueta=['Ingrese el ',num2str(i), ',num2str(i),'° '° dato de X:']; X:']; x(i)=str2double(inputdlg(etiqueta)); end for i=1:n i=1:n etiqueta=['Ingrese etiqueta=['Ingrese el ',num2str(i), ',num2str(i),'° '° dato de Y:']; Y:']; y(i)=str2double(inputdlg(etiqueta)); end xbarra=mean(x); ybarra=mean(y);
118
Métodos Numéricos Ing. William Caiza
for i=1:n i=1:n restx(i)=(x(i)-xbarra); end for i=1:n i=1:n resty(i)=(y(i)-ybarra); end for i=1:n i=1:n SCxy(i)=restx(i)*resty(i); SCxx(i)=restx(i)*restx(i); SCyy(i)=resty(i)*resty(i); end b1=num2str((sum(SCxy))/(sum(SCxx))); etiqueta=['b1: etiqueta=['b1: ',num2str(b1)]; ',num2str(b1)]; set(handles.text2,'String' set(handles.text2,'String',etiqueta) ,etiqueta) b0=num2str(ybarra-(str2double(b1)*xbarra)); etiqueta=['b0: etiqueta=['b0: ',num2str(b0)]; ',num2str(b0)]; set(handles.text3,'String' set(handles.text3,'String',etiqueta) ,etiqueta) datos=[x' y' restx' resty' SCxy' SCxx' SCyy']; set(handles.uitable1,'Data' set(handles.uitable1,'Data',datos); ,datos); etiqueta=['xbarra: etiqueta=['xbarra: ',num2str(xbarra)]; ',num2str(xbarra)]; set(handles.text1,'String' set(handles.text1,'String',etiqueta); ,etiqueta); etiqueta=['ybarra: etiqueta=['ybarra: ',num2str(ybarra)]; ',num2str(ybarra)]; set(handles.text4,'String' set(handles.text4,'String',etiqueta); ,etiqueta); etiqueta=['Y=' etiqueta=['Y=',b0, ,b0,'+' '+',b1, ,b1,'(x)' '(x)']; ]; set(handles.text10,'String' set(handles.text10,'String',etiqueta); ,etiqueta); Programa Ejecutado
119
Métodos Numéricos Ing. William Caiza
Ejercicios propuestos Ajuste de curvas 1.- Ajustar los datos de la siguiente tabla: X
1
2
4
Y
3
5,1
8,8
a).- Hacer el grafico de la función Página web: http://portales.puj.edu.co/obje http://portales.puj.edu.co/objetosdeaprendizaje/Onlin tosdeaprendizaje/Online/OA10/capitulo3/3.6.htm e/OA10/capitulo3/3.6.htm 2.- Supongamos un muelle sometido a tracción, se ha cargado el muelle con diferentes pesos (F, variable independiente o y ) y se han anotado los alargamientos ( l variable dependiente o x)
Cargas sucesivas F(yi) gramos
Lecturas sucesivas (xi) L / mm
200 400 500 700 900 1000
60 120 150 210 260 290
Página web: http://ocw.unican.es/ensenanzas-tecnicas/fisica-i/practicas1/Ajuste%20por%20minimos%20cuadrados.pdf 3.- 15 estudiantes a los cuales se les realizo un test de inteligencia cuyas puntuaciones se reflejan en la variable X, y a los que se había realizado una prueba que se refleja en las puntuaciones de la variable Y, calcular la recta de regresión de Y sobre X. n X Y
1 9 5
2 12 5
3 6 1
4 9 4
5 7 2
6 9 2
7 5 1
8 9 3
9 7 3
10 3 1
11 10 4
12 6 2
13 11 5
14 4 2
15 13 5
Página web: http://www.ugr.es/~jsalinas/apuntes/C5.pdf 4.- Construir una recta que aproxime los datos de la tabla siguiente y hallar la ecuación de dicha recta: X 1 2 4 5 6 8 Y 1 2 2 4 5 7
120
Métodos Numéricos Ing. William Caiza
5.- Ajustar una recta de mínimos cuadrados a los datos de la l a tabla que a continuación se indica, en los casos siguientes: a).- X como variable independiente, b).- Y como variable independiente. Y hacer la gráfica correspondiente X Y
1986 18
1987 20
1988 22
1989 24
1990 25
1991 26
1992 28
1993 30
1994 32
Página web: http://books.google.es/books Coeficiente de correlación 1. Una compañía desea desea hacer predicciones predicciones del valor anual de sus sus ventas totales en cierto país a partir de la relación de estas y la renta nacional. Para ello cuenta con los siguientes datos: x 189 190 208 227 239 252 257 274 293 308 316 y 402 404 412 425 429 436 440 447 458 469 469 2. La empresa “Santos” desea saber si sus ventas dependen de la publicidad que ellos hacen a sus productos tomaran sus datos según resultados obtenidos, ellos deciden utilizar el método de correlación lineal simple para encontrar la relación las cantidades de son en millones:
publicidad 1172,2 1209,2 1233,1 1256,9 1301,9 1320 1350,4 1357,9 1380,8 1381,8 1402,5 1403 1406,1 1423,7
ventas 593,8 596 598,3 600,8 603,3 607,7 608,5 611,2 592,4 585,6 589 589,4 593,5 597,6
3. La información estadística estadística obtenida de una muestra muestra de tamaño 12 sobre la relación existente entre la inversión realizada y el rendimiento obtenido en cientos de miles de euros para la explotación agrícolas es al siguiente: Inversión (x)
11
14
16
15
16
121
18
20
21
14
20
19
11
Métodos Numéricos Ing. William Caiza
Rendimiento(y) 2
3
5
6
5
33
7
10
6
10
5
6
4. El número de hrs. Dedicadas al estudio de una asignatura y la calificación obtenida en el examen correspondiente, de ocho personas es: Horas(x) 20 16 34 23 27 32 18 22 Calificación(y) 6,5 6 8,5 7 9 9,5 7,5 8 5. de un núcleo de población, acuden los clientes, en cientos, que figuran en la tabla. N de clientes(x) 8 7 6 4 2 1 Distancia(y) 15 19 25 23 34 40
6. En una muestra de 1500 individuos se recogen datos sobre dos medidas antropométricas X e Y. Los resultados que se obtienen son x = 14, y = 100, sx = 2, sy = 25, sxy = 45. Obtener el modelo de regresión lineal que mejor aproxima Y en función de X. Utilizando este modelo calcular de modo aproximado la cantidad Y esperada cuando X = 15. 7.
De una muestra de 8 observaciones conjuntas de valores de dos variables X e Y se obtiene la siguiente información: .
a) b) c) d)
Obtener la recta de regresión de Y sobre X. Explicar el significado de los parámetros. Calcular el coeficiente de determinación. Comentar el resultado e indicar el porcentaje de variación de Y que no está´ explicado por el modelo de regresión lineal. Si el modelo es adecuado, cuál es la predicción para un valor de x = 4? Obtener la recta de regresión de X sobre Y.
8.
La tabla siguiente contiene la edad X y la máxima de la presión sanguínea Y de un grupo de 10 mujeres:
Edad 56 42 72 36 63 47 55 49 38 42 Presión 14.8 12.6 15.9 11.8 14.9 13.0 15.1 14.2 11.4 14.1 a)
Calculad el coeficiente de correlación lineal entre las variables y decid que indica.
b)
Determinad la recta de regresión de Y sobre X, justificando la adecuación de un modelo lineal. Interpretad los coeficientes.
c)
Valorad la bondad del modelo.
d)
Haced las predicciones siguientes, sólo cuando crea que tengan sentido:
122
Métodos Numéricos Ing. William Caiza d.1) d.2) d.3)
Presión sanguínea de una mujer de 51 años. Presión sanguínea de una niña de 10 años. Presión sanguínea de un hombre de 54 años.
9. Se ha llevado a cabo un ajuste lineal a una nube de puntos formada por observaciones de dos variables X e Y y se ha obtenido un coeficiente de determinación de 0.03. Discutid si las siguientes afirmaciones son ciertas y por qué: a) b) c) d) e)
El coeficiente de correlación lineal entre X e Y valdrá´ 0.173. La covarianza entre X e Y puede ser negativa. Las variables X e Y son casi independientes. El coeficiente de determinación entre −X e Y valdrá´ -0.03. El coeficiente de determinación entre −X y −Y valdrá´ 0.03.
f) Solo el 3% de la variabilidad total de Y queda sin explicar en el modelo. 10. Dada la siguiente distribución bidimensional encontrar el modelo de regresión (lineal o parabólica) que mejor se ajuste a la nube de puntos. xi 1 1 2 3 4 5 5 6 yi 13 15 18 19 21 16 20 14 11. Los datos siguientes forman parte de un anuncio publicado por un joyero de Singapur en el periódico Strauss Times el 29 de febrero de 1992. Estos datos hacen referencia al precio (en dólares de Singapur) de anillos que llevan un diamante. El tamaño de un diamante, que se indica en quilates (1 quilate=200 mg). tamaño precio tamaño precio
0.17 355 0.16 345
0.16 328 0.17 352
0.17 350 0.16 332
0.25 675 0.17 353
0.16 342 0.18 438
0.15 322 0.23 595
0.21 483 0.23 553
0.15 323 0.12 223
Ajustad un modelo lineal a estos datos y decidid si el ajuste obtenido es bueno. Comprobad si se cumplen para los residuos las suposiciones de independencia y de varianza constante. 12. Las Ecuaciones siguientes , Representan las rectas de regresión lineal de una distribución estadística vicariante. Hallad los coeficientes de determinación y de correlación entre las variables X e Y.
123
Métodos Numéricos Ing. William Caiza
13. Dos distribuciones estadísticas tienen como rectas de regresión de Y sobre X, respectivamente, ¿Puede asegurarse que la segunda distribución tiene un coeficiente de determinación mayor que la primera? 14. De una distribución estadística vicariante se conocen x = 5, y = 8, CV Y = 3CVX. Mediante la recta de regresión de Y sobre X, ¿cuál es la predicción del modelo para un valor de x = 6, a) b)
en el caso que R 2 = 0? en el caso que R 2 = 1?
Página web de los ejercicios del 1 al 13 http://es.slideshare.net/1010karen/5-ejercicios-de-correlacin-13119660
CAPITULO IV INTERPOLACIÓN Interpolar significa estimar el valor desconocido de una función en un punto, tomando una media ponderada de sus valores conocidos en puntos cercanos al dado. En la interpolación lineal, conocido como regla de 3 se utiliza un segmento rectilíneo que pasa por 2 puntos que se conocen. Ajuste Es una ecuación que tiene la mínima dispersión en el eje y con respecto a los datos que estén comparando.
POLINOMIO INTERPOLADOR DE NEWTON Definición
, , … , ⋮ − ×…× −
Dados n+1 puntos,
124
Métodos Numéricos Ing. William Caiza
, ,,,,, ⋮ , −, … , ,
Generalmente, se usa el Dónde:
, es decir:
DIFERENCIAS DIVIDIDAS
Diferencias divididas La diferencia dividida de orden cero es:
, , , , , , , , , , , , , , , , , 1 0 1 0 0 0 1 0 2 01 0 2 0 1 0 0, 1 0 , , 2 1 0, 1, … …. 0 1 …. . , , , 2 , , 2 …. 2 , 3 , 4 , 2 , 6 , 1 , , , La diferencia dividida de orden 1 es: La diferencia dividida de orden 2 es:
La diferencia dividida de orden 3 es:
Relación existente entre el polinomio de newton y las diferencias divididas +
Ejemplo.Dados los siguientes 3 puntos, encontrar el polinomio de interpolación.
a) Resolviendo un sistema de ecuaciones (I. Inversa)
125
Métodos Numéricos Ing. William Caiza
− ∗∗ −− ∗ − ∗ 4 2 1 13 66 46 11 4 2 1 1 0 0 − 1366 46 11 ⋮ 00 10 01 4 2 1 1 0 0 − 360 46 31 ⋮ 00 10 01
342 2164 1366
X=
DEFINICIÓN: Las diferencias divididas de f(x), se define: 1º Diferencia 2º Diferencia 3º Diferencia 4º Diferencia
EJERCICIO
− − − − −, − −− − − , − , −, −, − − , , , , − , , − , , , , , − − 1, 4, 6, 5
Dados los siguientes puntos
126
Métodos Numéricos Ing. William Caiza
0 1 46 1,1,3786294 91759 5 1,609438 2 2 2 1 , 1,3862940 41 , 1, 7 917591, 3 86294 1, 3 862940 64 61 41 , , , 1,6094381, , , ,791759 1,7917591, 3 86294 1, 7 917591, 3 86294 1, 3 862940 64 56 64 41 61 54 ,×− 51 2 10, 0,462098 0518731 0078655 24 26 2 1240, 21 , Estimar
, con un polinomio interpolador de
Newton
Interpolación por Splines Interpolación con Trazadores y Paramétrica Objetivos
Conocer las técnicas de interpolación usando curvas paramétricas y Spline B
Familiarizarse con los métodos numéricos de interpolación con polinomios definidos en tramos
Aprender a usar Matlab para resolver problemas que involucren interpolación
127
Métodos Numéricos Ing. William Caiza
TEMAS Interpolantes definidos en Tramos. Interpolación lineal y al adyacente más cercano. Interpolación con trazadores (spline ) cuadráticos y cúbicos . Determinación de los coeficientes. Error de truncación y capacidad de filtrado. Trazadores con interpolación Hermítica, algoritmo Pchip . Curvas paramétricas. Curvas de Bézier, características, polinomios de tercer orden con interpolación hermítica, empalmes. Introducción a las B Spline , características más destacadas . Funciones de Matlab. INTERPOLACION Problema Básico
Se dispone de un conjunto de datos (x,y), que provienen de experiencias y se quiere encontrar una función que “pase” por esos puntos.
Dados los datos: (x i ,y i ), i = 0,1, 2, ..., n con x 0 ,< x 1 ,< x 2 , < ... < x n , determinar la función f , tal que : f(x i ) = y i , i = 0, 1, 2, ..., n f es llamada la Función de Interpolación o Función Interpolante o Interpolante a secas . En forma adicional, dependiendo del tipo de interpolación, se pueden imponer otras restricciones como pendiente en determinados puntos, concavidad, etc.
Funciones definidas en Tramos En Interpolación con Funciones definidas en Tramos, dados un conjunto de datos (xi ,yi), se emplean funciones diferentes para cada subintervalo [xi ,xi+1 ] Las abscisas xi se llaman Nodos y en ellos se pasa de una función a otra. Funciones que son tramos de polinomios resultan una alternativa de la interpolación
polinomial de alto grado para evitar la “oscilación”.
128
Métodos Numéricos Ing. William Caiza
La principal ventaja la Interpolación con tramos de polinomios es que un gran número de datos pueden ajustarse empleando polinomios de relativo bajo orden.
EJEMPLO TIPICO Interpolación Lineal que usa líneas rectas para interconectar puntos.
Con este recurso se elimina la oscilación excesiva, pero se sacrifica la derivabilidad de la función.
INTERPOLACION LINEAL Se puede usar interpolación LaGrange o Newton para determinar las ecuaciones de las rectas:
1 0 ((112 001)) 1 0 1 >>0 2 1 (23 12) 1 2 >>1 3 2 (34 23) 2 3 >>2 4 3 4 3 3 4 >>3 Funciones definidas en Tramos
EJEMPLO TIPICO Interpolación al adyacente más próximo (Nearest neighbor interpolation ). El método más simple que consiste en localizar el valor de datos más cercano, y asignarlo el mismo valor.
129
Métodos Numéricos Ing. William Caiza
No hay buenas razones para escoger este método en vez de interpolación lineal (casi tan simple como éste, pero con pérdida de la continuidad), Si embargo en interpolación multivariada, esta opción puede ser favorable por su velocidad y simplicidad.
SPLINE – TRAZADORES Consiste en emplear polinomios de bajo orden para conectar puntos adyacentes. (Trazador o cinta de plomo) Funciones Spline típicas: Spline lineal Spline cuadrática Spline cúbica
Un Trazador de orden k deberá tener k-1 derivadas continuas
Ejercicio.
Dado los siguientes puntos, encontrar la interpolación mediante rectas.
(4,4) f 1 F0
(7,4) f 2 (10,3)
(1,2)
*En [1, 4]
2 12 4 22 42 41 3 3 2 3 3 FORMULA:
En [7 , 4]
En [7 , 10]
130
Métodos Numéricos Ing. William Caiza
34 7 4 107 41 13 7 3 73 4
SPLINE CUADRÁTICA Se conectan dos puntos adyacentes con una parábola de orden 2. La f unción tiene derivada primera continua.
Determinación de los coeficientes Sea N el número de sub-intervalos (N+1 datos). Para cada punto interior, los dos polinomios cuadráticos vecinos tienen que pasar este punto. 2(N-1) ecuaciones:
Sólo un polinomio cuadrático pasa por los puntos extremos 2 ecuaciones.
Determinación de los coeficientes
En cada punto interior, las derivadas de primer orden de los dos polinomios vecinos deben ser iguales. Condición impuesta a una Spline cuadrática. Resultan N -1 ecuaciones:
22
Considerando todas las ecuaciones, suman 3N-1. Por lo tanto falta una para poder determinar todos los coeficientes (1 grado de libertad). Esto es típico en Spline y se fija según conveniencia. Por ejemplo, se podría adoptar la derivada igual a cero en uno de los extremos.
131
Métodos Numéricos Ing. William Caiza
Definición de Spline.- La definición de spline hace referencia a una amplia clases de funciones que son utilizadas en aplicaciones que requieren la interpolación de datos o un suavizado de curvas. Las funciones para la interpolación de splines normalmente se determinan como minimizadores de la aspereza sometida a una serie de restricciones. S p l i n e L i n e al . - Una función spline de grado 1 que interpola los satos es simplemente unir cada uno de los puntos mediante un segmento de recta.
Dado n+1 puntos:
… … ;; ∈∈ ,, ⋮ − −−;∈ −,
Ejercicio: Interpolar con spline lineal los siguientes puntos: f(1)=1 f(2)=0.5 f(4)=0.25
1,2 1
1; 1
0,8 0,6
2; 0,5
0,4
4; 0,25
0,2 0 0
1
2
3
4
5
:. :. . . 132
Métodos Numéricos Ing. William Caiza
Spline Cuadrático.- El objetivo es obtener un polinomio de 2° grado para cada intervalo entre los datos.
Las condiciones a las cuales se les debe dar al modelo, son las siguientes: 1. Los valores de la función de polinomios adyacentes deben ser iguales en los nodos interiores. 2. La primera y última función deben pasar a través de los puntos extremos. 3. Las primeras derivadas en los nodos interiores deben ser iguales. 4. Suponga que en el primer punto la segunda derivada es 0.
Ejercicio 3 3; 2,5
7; 2,5
2,5 2 1,5 4,5; 1 1 9; 0,5 0,5 0 0
2
4
6
.. .. . . . 1)
(1) (2)
(3) (4)
2)
(5)
133
8
10
Métodos Numéricos Ing. William Caiza
.
(6)
3)
(7) (8)
4)
(9)
Respuestas:
2 2 ′ ′
.. . . . , .
Spline Cúbico.- El objetivo de las segmentarias cúbicas es obtener un polinomio d tercer orden para cada intervalo en los nodos.
Así n+1 datos (i=0, 1, 2,.., n), existen n intervalos y por consiguiente, 4n incógnitas constantes para evaluar. Como con las segmentarias cuadráticas se requieren 4n condiciones para evaluar las incógnitas.
Condiciones: 1) Los valores de la función deben ser iguales en los nodos interiores. 2) La primera y última función deben pasar a través de los puntos extremos.
134
Métodos Numéricos Ing. William Caiza
3) Las primeras derivadas en los nodos interiores deben ser iguales. 4) Las segundas derivadas en los nodos interiores deben ser iguales. 5) Las segundas derivadas en los nodos externos son ceros. La interpolación visual de la condición 5 es que la función se vuelve una línea recta en los nodos extremos, la especificación de tal condición extrema nos lleva a lo que se denomina
“SEGMENTACIÓN NATURAL”. Ejercicio Ajuste por segmentarias cúbicas dado los siguientes puntos:
3 ; 2.15 4.5 ; 7 ; 2.5
3
3; 2,5
2,5
7; 2,5
2 1,5 1
4,5; 1
0,5 0 0
1
2
3
4
5
Dadas las condiciones se obtienen las siguientes ecuaciones
1.
. . . . . . .
(1) (2)
2.
(3)
135
6
7
8
Métodos Numéricos Ing. William Caiza
. . . (4)
3.
(5)
4.
(6)
5.
(7) (8)
Respuesta:
. . . . . . . .
136
Métodos Numéricos Ing. William Caiza
CAPITULO 6: INTEGRACIÓN NUMÉRICA La deducción de las fórmulas de cuadraturas puede hacerse a partir de la interpolación polinomial. Recordemos que existe un único polinomio para aproximar la función f(x) en el [a, b], de manera que:
Luego aproximamos la integral de f(x) por la integral del polinomio de grado n la formula resultante se llama “Fórmula de Cuadratura de NewtonNewton -Cotes”.
Si el primer nodo y el último nodo Newton-Cotes es cerrada.
, entonces se dice que la fórmula de
Fórmulas de Cuadratura de NewtonNewton-Cotes 1) Regla del Trapecio
f xdx h d x (f f ); 2
Imagen 6.1: Regla del trapecio
Regla del trapecio
Sean las particiones de [a, b] definida como una sucesión de términos y y , Estas particiones son equidistantes es decir
137
k=0,1,2……n
, , …. .
Métodos Numéricos Ing. William Caiza
ℎ − ; donde n es el numero de intervalalos
que que tiene [a, b]
Propiedades de partición equidistante 1. 2. 3.
, ∈ ,
Ejercicio: Verificación de las propiedades propiedades anteriores GRAFICO CUADERNO 3 – 5 = (-2) (1)
n=5
-2 = 2
2da Verificación de 1.
Calculando las particiones tenemos:
7 – 4 = 3
3=3
1ra Verificación 1. ) )
1ra Verificación de 2.
X X ℎ 3, ∈0,5 si t 0
x – 5 = 1 ( 0 – 3 )
x = -3 + 5
138
Métodos Numéricos Ing. William Caiza x=2
2da Verificación de 2.
X X ℎ 3, ∈0,5 si t 5
x – 2 = 1 ( 5 – 0 )
x=5+2
x=7 3ra Verificación de 2.
X X ℎ 4, ∈0,5 si t 2
x – 6 = 1 ( 2 – 4 )
x=-2+6
x=4
Ejercicio: Demostrar la regla del trapecio
(( ) : : 1 ≈ ≈ ; ; 1 é é = ( )) 139
Métodos Numéricos Ing. William Caiza
1
Regla de Simpson 1/3
≈ ℎ 4 3 , 2 ( ) = 1 2 =≠ 1 2 ∗ 0 1 0 2 0 2 ∗ 1 0 1 2 0 1 ∗ 2 0 2 1 140
Métodos Numéricos Ing. William Caiza
Ejemplo Sea f(x)=sen(x) integrar el método del trapecio en Grafica
i. ii. iii. iv.
,
∫ ≈ ∫ ≈ 4 ∫ ≈ 3 3 ∫ ≈ 7 32 12 32 7
REGLA DEL TRAPECIO REGLA DE SIMPSON REGLA DE DE SIMPSON REGLA DE BOOLE
INTEGRACION DE ROMBERG Aun cuando la regla del trapecio es la fórmula de Newton Cotes más sencilla de aplicar, hemos mostrado en las secciones anteriores que carece del grado de exactitud requerido generalmente. La integración de Romberg es un método que tiene aplicaciones muy variadas debido a que usa la regla del trapecio para dar aproximaciones preliminares y luego aplicar el proceso de extrapolación, para obtener correcciones a las aproximaciones.
Algoritmo de Romberg
141
Métodos Numéricos Ing. William Caiza
Nivel 1
Donde,
hm : Integral más exacta he : Integral menos exacta
∫ .. . , ; = . = . . . . Integrar mediante Romberg
a) Nivel 0
Error:
| |.. |.| ∗.% , , = . b) Nivel 0
142
Métodos Numéricos Ing. William Caiza
= . = . . . . . .. . . . | |.. |.| ∗% Nivel 1
Nivel 2
Nivel 3
Ejemplo Dado el método del trapecio múltiple, tenemos:
ℎ − 2 2( ) = ; ℎ , 0,1,2,3,…, 1 , 2 , 4 , … , 2− +
El primer paso en el proceso de Romberg, es obtener aproximaciones de la regla del trapecio para , donde y:
143
Métodos Numéricos Ing. William Caiza
ℎ 2+ ; ℎ 1 −1 23 24 45 168 6⋮ 32⋮ − ℎ 2 2 = ℎ
Aplicando el trapecio múltiple, de las particiones indicadas anteriormente obtenemos:
Demostración:
= ∗ ∗ ∗ ℎ 1 ∗ℎ2 ℎ∗2ℎ ℎ ℎ 0ℎ∗ℎℎ2 ℎ ∗ℎ1 ℎ ℎ2ℎ∗ℎ 2ℎ 1 2 ℎ 2 2ℎ 1 Donde:
144
Métodos Numéricos Ing. William Caiza
2ℎ 32 ℎ 2 2ℎ 2ℎ 3 32 2 20ℎ3 22 20 2ℎ 3 2 20 2ℎ 23ℎ 43 2ℎ 23 ( 4 ) − − 4= 2= 13 R. Simpson 1/3
Demostración Regla Simpson 3/8
∫ ℎ( 3 3 ) = Demostración:
Donde:
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ 145
Métodos Numéricos Ing. William Caiza
2∗ℎ 3ℎ ℎ 1∗ℎℎ∗2ℎ∗3ℎ 2 ∗ℎ 3ℎ ℎℎ ∗ℎ∗ℎℎ∗ℎ∗2ℎ 1 ∗ℎ3 ℎ∗ℎ2ℎ∗ℎ∗ℎ 1 ∗ℎ 2 ℎ 3ℎ∗2ℎ∗ℎ 6 12 3 2 2 3 2 1 3 6ℎ 1 2 6 332 3 ℎ 2ℎ 4 3 6 32 6 ℎ 3 2 5 2 4 3 3 30 6ℎ 46 3116 ℎ 3 2 4 3 2 0 6 4 30 38 ℎ 98 ℎ 98 ℎ 38 ℎ ℎ 3 3 R. de 3/8 Simpson
Algoritmo del trapecio function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) funcion=char(inputdlg('ingrese la funcion')); n=str2double(inputdlg('cuantos numeros desea ingresar')); f=inline(funcion); for i=1:n etiqueta=['x( ' num2str(i) ')=']; x(i)=str2double(inputdlg(etiqueta));
146
Métodos Numéricos Ing. William Caiza end for i=1:n y(i)=f(x(i)); end opcion=str2double(inputdlg('elija la opcion 1 o 2')); switch opcion case 1 h=x(2)-x(1); integral=(f(x(2))-f(x(1)))*(h/2); ex=x(1):0.1:x(2); [fx cx]=size(ex); for i=1:cx ff(i)=f(ex(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(ex,ff); set(handles.text2,'String',integral); case 2 s=0; [fx cx]=size(ex); for i=1:cx ff(i)=f(ex(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(ex,ff); set(handles.text2,'String',integral); case 2 s=0; for i=2:n-1 s=s+2*f(x(i)); end h=x(2)-x(1); integral=(h/2)*(f(x(1))+s+f(x(n))); set(handles.text2,'string',integral); xx=x(1):0.1:x(n); [fxx cxx]=size(xx); for i=1:cxx yy(i)=f(xx(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(xx,yy); end for i=1:n etiqueta=['x(' num2str(i) ')=']; x(i)=str2double(inputdlg(etiqueta)); end for i=1:n y(i)=f(x(i)); end
147
Métodos Numéricos Ing. William Caiza h=x(2)-x(1); integral=(f(x(2))-f(x(1)))*(h/2); ex=x(1):0.1:x(2); [fx cx]=size(ex); for i=1:cx ff(i)=f(ex(i)); end plot([x(1)-5 x(2)+5],[0 0]); hold on; plot([0 0],[max(ff)+3 min(ff)-3]); area(ex,ff);
Figura 6.7: Ejecución del programa
6.1.2 Regla del Trapecio Múltiple
Imagen 6.2: regla del trapecio Múltiple
148
Métodos Numéricos Ing. William Caiza
á : ℎ2 ( ℎ) ℎ2 ( ) ℎ2 ( ) ℎ2 ( ) ( 2 ) 2 2 2 : − ( ) = ∫ Ejemplo 1
Dado , calcular: a) Utilizar la Regla del Trapecio b) Utilizar la Regla del Trapecio 3 veces c) Utilizar la Regla del Trapecio 5 veces
ℎ − 4ℎ 4 ( 3 7 ) 9 49116 2 2 ℎ 3− 413
RESOLUCION
a)
b)
3 3 8 17 3 3 3 347ℎ 13 ℎ 13 17 ℎ 17 3 7 2 3 2 3 3 2 3 ℎℎ2 32169 1332289 1737 2 92 9 2 9 49106,518 c)
ℎ −
149
Métodos Numéricos Ing. William Caiza
3 454 1 19235 3 54 2 275 3 54 3 315 3 54 4 5 3 5 5 7 ℎ 19 ℎ 19 23 ℎ 23 27 3 2 5 2 5 5 2 5 5 ℎ2 275315 ℎ2 3157 235227523157 2 ℎ2 336121952 5 92 25 25292527292529612549105,76 Algoritmo Trapecio Multiple function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); n=str2double(inputdlg('ingrese numero de particiones')); for i=1:n etiqueta=['x(' num2str(i) ')=']; x(i)=str2double(inputdlg(etiqueta)); end for i=1:n y(i)=f(x(i)); end % constante k=(x(n)-x(1))/(2*(n-1)); %sumatorio del trapecio interno s=0; for i=1:n-1 s=s+2*f(x(i)); end integral=k*(f(x(1))+s+f(x(n))); set(handles.text2,'String', integral); set(handles.text5,'String', funcion); set(handles.text7,'String', x); %eje x plot([x(1)-2 x(n)+2],[0 0]);
150
Métodos Numéricos Ing. William Caiza hold on; %eje y plot([0 0],[min(y)-2 max(y)+2]); %area de integración xx=x(1):0.1:x(n); [fxx cxx]=size(xx); for i=1:cxx yy(i)=f(xx(i)); end plot(xx,yy,'r'); area(xx,yy); %para graficar los puntos x0...xn for i=1:n cadena(i)=num2str(x(i)); end for i=1:n text(x(i),0,cadena(i)); end legend('Trapecio Múltiple');
6.1.3 Regla de Simpson 1. Regla de Simpson 1/3
151
Métodos Numéricos Ing. William Caiza
n=2
Imagen 6.3: Regla de Simpson 1/3
() ∫ ( 4 ) ℎ 2 2 × ; × ; × ∴ × × × ℎ ℎ Demostrar que
Donde:
∴ℎ ó 2 ℎ1 : 0ℎ ∴ 0 ó 3 ℎ1 : 2ℎℎ ℎ ∴ 2
152
Métodos Numéricos Ing. William Caiza
1ℎ 2ℎ ℎ 2ℎ ℎ 1 ℎ × 2ℎ ℎ ℎ× ℎ ℎ 2ℎ × ℎ ℎ ℎ2 1 2 ℎ 2 ℎ2 1 2. Regla de Simpson 3/8
n=3
Imagen 6.4: Regla de Simpson 3/8
Ejemplo 2
( )
∫
Dada a) Integrar mediante el trapecio b) Integrar 5 veces mediante el trapecio c) Integrar 5 veces simpson 1/3
ℎ − 3 ℎ
RESOLUCION:
a)
3 ( 5 8 ) ( 5 8 ) 0. 0 456 2 2 0.429 cos
Valor real
Error
153
Métodos Numéricos Ing. William Caiza
0.4290.0.42904560.89×100%89% − ℎ ℎ2 5285 ℎ2 285315 ℎ2 315345 ℎ2 345375 ℎ2 3758 2852315234523758 0.4162 103 50.2 4290.0.42941620.03×100%3% ℎ − ℎ 23 26 ℎ 26 29 5 4 4 8 3 4 4 3 4 4 1 4 542342264429480.42997 b)
c)
Algoritmo de Simpson
function calcular_Callback(hObject, eventdata, handles) % hObject handle to calcular (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %CODIGO DEL PROGRAMA(CALCULO DE AREA) f=inline(get(handles.fx,'string')); a=str2num(get(handles.a,'string')); b=str2num(get(handles.b,'string')); n=str2double(get(handles.n,'string')); h=(b-a)/n; s=f(a)+f(b); for i=2:n x(i)=a+(i-1)*h; s=s+2*f(x(i)); end I=s*(h/2); set(handles.area,'string',I) %CODIGO PARA GRAFICA for i=1:n+1 x(i)=a+(i-1)*h; y(i)=f(x(i)); end x=[x,b,a,a]; y=[y,0,0,f(a)]; fill(x,y,[0.8 0.4 0.9]); for i=1:n+1 x(i)=a+(i-1)*h; y(i)=f(x(i));
154
Métodos Numéricos Ing. William Caiza line([x(i),x(i)],[0,f(x(i))]); end hold on ezplot(f,[min(x):0.2:max(x)]) ylabel('F(X)'); grid 'on' set(handles.axes1,'xminorgrid','on'); set(handles.axes1,'yminorgrid','on');
Figura 6.8 Botones de la máscara de interface
155
Métodos Numéricos Ing. William Caiza
Figura 6.9: Ejecución del programa
6.4 Regla de Boole
2ℎ (7 32 12 32 7) 45 = ℎ 1 ∗ℎ 2 ∗ℎ 3 ∗ ∗ ∗ ℎ∗2ℎ∗3ℎ∗4ℎ∗ℎ4 2 ∗ℎ 3 ∗ℎ4 ∗ ∗ ∗ ℎ ∗ℎℎ∗ℎ∗2ℎ∗3ℎ Demostración:
Donde:
156
Métodos Numéricos Ing. William Caiza
1∗ℎ 3∗ℎ4 ∗ ∗ ∗ ℎ∗ℎ2ℎ∗ℎ∗ℎ∗2ℎ ∗ℎ 2 ∗ℎ4 ∗ ∗ ∗ ℎ∗ℎ 13ℎ∗2ℎ∗ℎ∗ℎ 2∗ℎ3 ∗ ∗ ∗ ℎ∗ℎ 1∗ℎ 4ℎ∗3ℎ∗2ℎ∗ℎ 24ℎ 12 3 4 6ℎ 234 4ℎ 1 3 4 6ℎ 12 4 24ℎ 123 24ℎ 329 712 6ℎ 5 6 4 4ℎ 4 3 4 6ℎ 3 24 24ℎ 3 23 24ℎ 10 35 5024 6ℎ 9 26 24 2ℎ 8 19 12 6ℎ 7 14 8 24ℎ 6 11 6 24ℎ 5 104 353 502 24 40 6ℎ 5 94 263 242 40 4ℎ 5 84 193 122 40 6ℎ 5 74 143 82 40 157
Métodos Numéricos Ing. William Caiza
24ℎ 5 64 113 62 40
R. de Boole
Ejercicios propuestos 1.-Integre la función siguiente en forma tanto analítica como la regla de Simpson, con n=4 y 5. Analice los resultados.
4x3 dx −
2.- Integre la función siguiente tanto en forma analítica como numérica. Emplee las reglas del trapecio y de Simpson 1/3 para integrar numéricamente la función. Para ambos casos, utilice la versión de aplicación múltiple, con n=4. Calcule los errores relativos porcentuales para los resultados numéricos.
x e dx
3.- Integre la función siguiente tanto analítica como numéricamente. Para las evaluaciones numéricas use a) una sola aplicación de la regla del trapecio, b) la regla de Simpson 1/3, c) la regla de Simpson 3/8, d) la regla de Boole, e) el método del punto medio, f) la fórmula de integración abierta de 3 segmentos y 2 puntos, y g) la fórmula de integración abierta de 4 segmentos y 3 puntos. Calcule los errores relativos porcentuales de los resultados numéricos.
15 dx
4.- Integre la función que sigue tanto en forma analítica como numérica. Para las evaluaciones numéricas utilice, a) una sola aplicación de la regla del trapecio; b) la regla de Simpson 1/3; c) la regla de Simpson 3/8; d) aplicación múltiple de las reglas de Simpson, con n=5; e) la regla de Boole; f) el método del punto medio; g) la fórmula de integración abierta de 3 segmentos y 2 puntos, y h) la fórmula de integración abierta de 4 segmentos y 3 puntos.
158
Métodos Numéricos Ing. William Caiza
53cosx dx
Calcule los errores relativos porcentuales para los resultados numéricos. 5.- Suponga que la fuerza hacia arriba de la resistencia del aire sobre un objeto que cae es proporcional al cuadrado de la velocidad. Para este caso, la velocidad se calcula con
c
vt gcm tanh gmc t
s
c
Donde =coeficiente de arrastre de segundo orden, a) Si g=9.8 m/ , m=68.1 kg y 0.25 kg/m, use integración analítica para determinar qué tan lejos cae el objeto en 10 segundos, b) Haga lo mismo, pero evalúe la integral con la regla del trapecio de segmento múltiple. Use una n suficientemente grande para detener tres dígitos significativos de exactitud. 6.- Evalué la integral de los datos tabulados a continuación, con a) la regla del trapecio y b) las reglas de Simpson: x 0 0.1 0.2 0.3 0.4 0.5 f(x) 1 8 4 3.5 5 1 7.- Evalué la integral siguiente:
84cosx dx
a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4 ; f)con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. 8.- Evalué la integral siguiente:
1e−dx
a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4; f )con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. 9.- Evalué la integral siguiente:
1e−dx
a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Si mpson1/3, con n=4; f)con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. 10.- Evalué la integral siguiente:
159
Métodos Numéricos Ing. William Caiza
1x4x 2xdx −
a)en forma analítica; b)con una sola aplicación de la regla del trapecio; c)con aplicación múltiple de la regla de trapecio, con n=2y4; d)con una sola aplicación de la regla de Simpson1/3; e con la aplicación múltiple de la regla de Simpson1/3, con n=4; f )con una sola aplicación de regla de Simpson 3/8; g) con aplicación múltiple de la regla de Simpson 3/8, con n=5. Referencia4: métodos numéricos para ingenieros (sexta edición), autor: Steve C. Chapra, pág.: 572
CAPITULO 7: ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN Las ecuaciones diferenciales son una parte muy importante del análisis matemático y modelan innumerables procesos de la vida real. Una ecuación diferencial es una relación, válida en cierto intervalo, entre una variable y sus derivadas sucesivas. Su resolución permite estudiar las características de los sistemas que modelan y una misma ecuación
160
Métodos Numéricos Ing. William Caiza
puede describir procesos correspondientes a diversas disciplinas. Las ecuaciones diferenciales tienen numerosas aplicaciones a la ciencia y a la ingeniería, de Modo que los esfuerzos de los científicos se dirigieron en un principio, a la búsqueda de métodos de resolución y de expresión de las soluciones en forma adecuada.
7.1 Métodos de Runge-Kutta
, + , ℎ
Métodos numéricos para la solución de Ecuaciones diferenciales ordinarias de la for ma
7.1.1 Método de Euler
También se lo conoce a este método como método de Euler-Cauchy o de punto pendiente. En donde se predice un nuevo valor de y usando la pendiente (igual a la primera derivada en el valor original de x) para extrapolar linealmente sobre el tamaño de paso h.
Figura 7.1: Ilustración gráfica del método de euler
Ejemplo.Utilizando el método de Euler calcule.En x con y la condición inicial Inicialmente resolviendo analíticamente la ecuación diferencial tenemos:
´ 1.2 ∈0,2 ℎ0.25 01 1.2 161
Métodos Numéricos Ing. William Caiza
1.2 1.2 l n 31,−,2+ 11 −,∗+ 1 0 , +
Encontrando el valor de c mediante la condicon iniciual y(o)=1, entonces
0 1
2
0 0,25 0,5
1 0,7
0,5009375
3
0,75 0,38196484
4 5 6 7 8
1 0,3210892 1,25 0,30503474 1,5 0,33267851 1,75 0,42000662 2 0,6155722
-1,2 -0,79625 0,47589063 0,24350259 0,06421784 0,11057509 0,34931244 0,78226233 1,72360216
Error
0,7 0,5009375
1 0 0,7446 0,059897932
0,38196484
0,5721 0,124388219
0,3210892
0,4679 0,183661373
0,30503474 0,33267851 0,42000662 0,6155722 1,04647274
0,4203 0,4278 0,5091 0,7308 1,3056
0,236047593 0,286968824 0,346536024 0,425278299 0,528513939
Ejemp lo 2.- Con el método de Euler integre numéricamente la ecuación
`0,44, 0.5 02 Condición
4
4
0 1 2 3
0 1 2 3
h=1 pasos de 1
, +
2 3 5 6,40216371 6,70108186 5,55162279 12,2527046 13,6857774 16,3197819 11,6522387 27,9720207 30,1066952 37,1992489 25,4930811 62,69233 66,7839558 83,3377673 56,4612371 139,799004 65,8995022
++ × , × 162
Error 4,70108186 9,61870008 20,879467 46,1385184 4,71913255
Métodos Numéricos Ing. William Caiza
` + ``++ ,+;∗, + `++ ,40. 5 ∗5 , +, + , 4,7010815 ++ , ∗ + , `4 ,0. ,5 ∗ , , , , , , , , , ,, ∗, 22, 4 0,8 ∗0,5 0,8 0,5 22,40,50,8 0,2 50,82,4 Aplicando Laplace a la ecuación
Aplicando fracciones parciales
163
Métodos Numéricos Ing. William Caiza
1413 , 4013 −, Ejemplo 3: Con el método de Euler integre numéricamente la ecuación
2+12 208,5 2 12 208.5 2 12 208. 5 208. 5 2 12 4 10 8. 5 2 40 100 8.50 1 0,5 4 10 8, 5 1 3,218755,252,03125 1 0 , 5 0 , 5 ; 5 , 2 5 0 , 5 +120,5 200,58,5 5, 2 5 2 0 , 5 5,875 + 0,,50 0,10,5 y0 0,120+120 2008,58,5
Desde x=0 hasta x=4 con un tamaño de paso 0,5. La condición inicial en x=0 es y=1. Solución
1=
Error:
O, expresada como error relativo porcentual,
-63,1.
En el segundo paso:
Tabla de comparación de los valores verdaderos y aproximados mediante el método de Euler. Se utiliza la ecuación para implementar el método de Euler: Donde
=1 y la pendiente estimada en x=0 es:
164
Métodos Numéricos Ing. William Caiza
0,5 1,08,50,5 5,25 0,50,5+40,5 100,5 8,50,5 13,21872
Por lo tanto,
La solución verdadera en x=0,5 es:
8 7 6 5 y verd
4
y euler
3 2 1 0 0
2
4
6
8
10
12
Figura 7.2 grafica del método de Euler en Excel
Ejemplo 2: Resuelva el siguiente problema de valor inicial En el intervalo de t=0 a 2, donde y (0) = 1. Muestre todos sus resultados en la misma gráfica.
EULER h=0,5 i xi yreal 0 0 1.0000
dydt yt 1.5y f(xi,yi) 0
165
yi+1 1
Métodos Numéricos Ing. William Caiza
1 2 3 4
0.5 1 1.5 2
0.4798 0.2865 0.3737 2.7183
-1.5000 -0.3438 -0.0391 0.1099
0.2500 0.0781 0.0586 0.1135
3,0000 2,5000 EULER h=0,25
2,0000
EULER h=0,5 1,5000
Y REAL PUNTO MEDIO
1,0000
RK CUARTO ORDEN 0,5000 0,0000 0
0,5
1
1,5
2
2,5
Figura 7.3 métodos de Runge Kutta
7.3 Análisis del error para el método de Euler La solución numérica de las EDO implica dos tipos de error: Errores de truncamiento: Originados por la naturaleza de las técnicas empleadas para aproximar los valores de y. Errores de redondeo: Causados por el número limitado de cifras significativas que una computadora puede retener.
7.3.1 Errores de truncamiento Los errores de truncamiento se componen de dos partes: Error de truncamiento local: Que resulta de una aplicación del método considerado, en un solo paso. Error de truncamiento propagado : Que resulta de las aproximaciones producidas durante los pasos previos. La suma de los dos es el error total de truncamiento.
7.4 Mejoras del método de Euler Un motivo fundamental de error en el método de Euler es suponer que la derivada al inicio del intervalo es la misma durante todo el intervalo. Hay dos modificaciones simples para evitar esta consideración y son: 1. Método de Heun 2. Método del punto medio
166
Métodos Numéricos Ing. William Caiza
7.1.2 Método de Heun Este método emplea dos derivadas uno en el punto inicial y otra en el final. Las dos derivadas se promedian con la finalidad de obtener una mejor estimación de la pendiente en todo el intervalo. Recuerde que en el método de Euler la pendiente al inicio del intervalo
yf x,y y+ y +y fx,yh : y + fx+,y+ Ȳ fx,y f2x+,y+ ∗ℎ
la expresión anterior se utiliza para extrapolar linealmente a expresión
,mediante la siguiente
La ecuación es una predicción intermedia, da una estimación que permite el cálculo de la estimación de la pendiente al final del intervalo combinando las dos pendientes, para obtener un pendiente promedio se obtiene: + La cual va a ser la pendiente de la expresión de Euler
+ , + , ,
Resumen de las ecuaciones (Predictor) +
= + (Corrector) El método de Heun es un procedimiento predictor corrector de un solo paso. Un criterio de terminación para la convergencia del corrector está dado por:
j j − y y + + |E| y+j
167
de
y+
Métodos Numéricos Ing. William Caiza
Figura 7.4 Representación gráfica del método de Heun
7.5 Método de Runge-Kutta de segundo orden La expresión del método de Runge-Kutta de 2do orden es:
Y Y a k a k h + kkff xx, yp h, y q;kh Y+ Y f x, yh f′x2!, y h f ′ x , y f′x, y df xdx, y ∂x∂f ∗ dxdx ∂y∂f ∗ dydx f′x, y dxdf ∂y∂f ∗ dydx Y+ Y f x, yh dxdf ∂y∂f ∗ dydx h2! gx r;ysgx; y∗r∗ ∂g∂x s∗ ∂g∂y ⋯ f x ph , y qkh f x, y ph qkh Oh / Donde:
Recordando la serie de Taylor, tenemos:
Encontrando
:
Utilizando la serie de Taylor de dos variables; tenemos:
Veamos el valor de:
Si
tenemos:
168
(7)
Métodos Numéricos Ing. William Caiza
a+a 1 ≫ a 1 12 1/2 ap ≫ p 1 aq ≫ q 1 Y+ Y 12 k 12 kh kk ff xx,hy , y kh a+a 1 ≫ a 110 ap ≫ p 1/2 aq ≫ q 1/2 Yk+fY x,y kh k f x 1/2h , y 1/2kh Entonces:
Si
METODO HEUN
tenemos:
Entonces:
METODO DE PUNTO MEDIO
Explicación
Los métodos de Runge-Kutta tienen la exactitud del esquema de la Serie de Taylor, sin necesitar del cálculo de derivadas superiores. La fórmula general es:
+ ; ;ℎ x Y
Donde φ ( ; ;h) es la función de incremento, y representa el promedio de la pendiente sobre el intervalo. La función de incremento se puede escribir en su forma general como:
φ=
a k a k a k +
+…+
169
Métodos Numéricos Ing. William Caiza
Donde las ai son constantes y las ki son:
kk kk
xx; yp y qk xx pp yy qq−kk qq−k2k h q−n1kh
= f ) = f( + h; + = f( + h; + = f( + h; +
h) h++ h+
h)… +…….+
)
Todas las k son relaciones recurrentes. Por lo que k1 aparece en la ecuación k2, que aparece en la ecuación k3, etc. Esta recurrencia hace a los métodos RK eficientes para su cálculo en computadora.
7.6 Métodos de Runge-Kutta de tercer orden Para el resultado son seis ecuaciones con ocho incógnitas, por lo tanto se deben suponer dos valores con antelación para poder desarrollar el sistema de ecuaciones. Una versión ampliamente usada es:
16 k 4k kh Y Y + kk ffx x, y1 h , y 1 kh 2 2 k f x h , y kh 2kh
Si la ecuación deferencial ordinaria está en función solo de x, este método de tercer orden se reduce a la regla de Simpson 1/3. Los métodos de RK de tercer orden dan resultados exactos cuando la solución es cubica, al tratarse de polinomios la ecuación será exacta cuando la ecuación diferencial ordinaria sea cúbica y la solución sea de cuarto grado.
Figura 7.8: Ejemplo en Excel
7.7 Métodos de Runge-Kutta de cuarto orden
170
Métodos Numéricos Ing. William Caiza
El más popular de los métodos Rk es el de cuarto orden. La versión comúnmente usada se llama método clásico de Rk de cuarto orden:
1 Y Y k 2k 2k k h + 6 kk ff xx,1/2h y , y 1/2kh kk ff xx 1/2h , y 1/2 k h h , y kh Y+ Y ak ak akYY akh x Y Y+ x+ h x+ x Y+Y , x+ x ! , x+ x ! , x+ x ! , x+ x f x, y y h x+ x Y+ Y f x, yh ! f′x, y h ! f′ x, y h ! f′ ′x, y h Y+ Y 16 k 2k 2k kh Demostración: El método de RK de cuarto orden está basado en lo siguiente: (1) Dónde: sabiendo el valor de para , nosotros podemos encontrar el valor de para , y La ecuación (1) es comparada con los primeros cinco términos de la serie Taylor (2)
Sabiendo que Entonces:
Basándonos en la ecuación (2) y (3), una de las soluciones más usadas es:
Este método tiene similitud con el procedimiento de Héun en cuanto a que se usan múltiples estimaciones de la pendiente para obtener una mejor pendiente promedio en el intervalo. Así, el siguiente valor (
Y+
) es determinado por el presente valor (
Y
mas el producto del
tamaño del intervalo (h) por una pendiente estimada. La pendiente es un promedio ponderado de pendientes:
k1 es la pendiente al principio del intervalo;
x h/2
k2 es la pendiente en el punto medio del intervalo, usando k 1 para determinar el valor de y en el punto usando el método de Euler k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el valor de y k4 es la pendiente al final del intervalo, con el valor de y det erminado por k 3
171
Métodos Numéricos Ing. William Caiza
Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el punto medio:
Ejemplo: Resuelva el siguiente problema de valor inicial en el intervalo de t=0 a 2, donde y (0) = 1. Muestre todos sus resultados en la misma gráfica.
dydt yt 1.5y
a) Método RK de cuarto orden con h=0.5.
Figura 7.9: Cuadro de datos del método de runge kutta 4to orden 3,0000 2,5000 EULER h=0,25
2,0000
EULER h=0,5 1,5000
Y REAL PUNTO MEDIO
1,0000
RK CUARTO ORDEN 0,5000 0,0000 0
0,5
1
1,5
2
2,5
Figura 7.10: grafica del método de Runge Kutta 4to orden
7.8 Métodos de Runge-Kutta de orden superior Para tener resultados más exactos, se recomienda el método de RK de quinto orden.
Y+ Y 901 7k 32k 12k 32k 7kh 172
Métodos Numéricos Ing. William Caiza
kk ffx x, y1 h , y 1 kh 4 4 1 k fx 41 h , y 181 kh 18 kh k fx 23 h , y 23kh k9h k fx 4 h , y 3 16 kh2 16 k12h 12 8 k fx h , y 7 kh 7 kh 7 kh 7 kh 7 kh Donde:
Ejemplo 6
Use el método clásico de Runge-Kutta de 5to Orden para integrar numéricamente la siguiente ecuación: f(x;y) = -2 + 12 – 20x + 8,5 desde x=0 hasta x=4, con un tamaño de paso de 0,5. Condición inicial en x=0 y y=1.
x x
173
Métodos Numéricos Ing. William Caiza
Figura 7.11: grafica de Runge Kutta orden superior
Ejercicios propuestos 1.- Resuelva el siguiente problema de valor inicial en el intervalo de t=0 a 2, donde y (0) = 1. Muestre todos sus resultados en la misma gráfica.
b) Analíticamente.
dydt yt 1.5y
c) Método de Euler con h=0.5 y 0.25. d) Método RK de cuarto orden con h=0.5. 2.- Resuelva el siguiente problema en el intervalo de x=0 a 1. Usando un tamaño de paso de 0.25 donde y (0)=1. Muestre todos sus resultados en la misma gráfica.
a) Analíticamente.
dydx 12x y
b) Método de Euler. c) Método de Heun sin el corrector. d) Método de Ralston. e) Método de RK de cuarto orden. 3.- Utilice los métodos de a) Euler y b) Heun (sin iteración) para resolver:
174
Métodos Numéricos Ing. William Caiza
Donde y (0) = 2 y
y0 0
ddty ty0
. Resuelva de x = 0 a 4, con h = 0.1. Compare los métodos por
medio de graficar las soluciones. 4.- Resuelva el problema siguiente con el método de RK de cuarto orden:
Donde y (0) = 4 y
ddxy 0.6 dydx 8y0 y00. dydx y sent y01 t0 a 3: dydt yt, y0 1
Resuelva de x = 0 a 5 con h= 0.5. Grafique sus resultados.
5.- Resuelva la ecuación que se presenta a continuación, de t = 0 a 3, con h = 0.1, con los métodos de a) Heun (sin corrector), y b) RK y Ralston de segundo orden:
6.-Solucione en forma numérica el problema siguiente, de
Utilice el método de RK de tercer orden, con un tamaño de paso de 0,5. 7.-Use los métodos de: a) Euler b) RK de cuarto orden Para resolver:
En el rango de
x0 a 1,
2y4e−
dzdx yz3 0,2 y02 z04
con un tamaño de paso de
, con
y
.
8.-El movimiento de un Sistema acoplado masa-resorte (como indica la figura) esta descrito por la ecuación diferencial ordinaria que sigue:
dm dtx c dxdt kx0 175
Métodos Numéricos Ing. William Caiza
Donde x=desplazamiento desde la posición de equilibrio (m), t=tiempo(s), m=20(kg) masa y
N∙ k20N∙ x1 m 0≤t≤15 s
c= coeficiente de amortiguamiento
. El coeficiente de amortiguamiento c adopta tres
valores, 5 (subamortiguado), 40 (amortiguamiento crítico) y 200 (sobreamortiguado). La constante del resorte es inicial es periodo
. La velocidad inicial es de cero y el desplazamiento
. Resuelva esta ecuación con el uso de un método numérico durante el grafique el desplazamiento versus el tiempo de amortiguamiento sobre
la misma curva.
9.- Si se drena el agua desde un tanque cilíndrico vertical por medio de abrir una válvula en la base, el líquido fluirá rápido cuando el tanque este lleno y despacio conforme se drene. Como se ve, la tasa a la que el nivel del agua disminuye es:
k t k0.006
dydt k y
Donde es una constante que depende de la forma del agujero y del area de la sección transversal del tanque y agujero de drenaje. La profundidad del agua y se mide en metros y el tiempo en minutos. Si
, determine cuanto tiempo se requiere para vaciar el tanque si el nivel de fluido
se encuentra en un inicio a
3m 0.5 ddtx 5x dxdt x 7senwt 0 dxdt 0 1,5 y x0 6 t0 a 15
. Resuelva con la aplicación de la ecuación de Euler y
escriba un programa de computadora en Excel. Utilice un paso de
minutos.
10.-La siguiente es una ecuación diferencial de Segundo orden con valor inicial:
Donde:
Observe que
w1
. Descomponga la ecuación en dos ecuaciones diferenciales de primer
orden. Después de la descomposición, resuelva el sistema resultados.
176
, y grafique sus
Métodos Numéricos Ing. William Caiza
Referencia5: métodos numéricos para ingenieros (sexta edición), autor: Steve C. Chapra, pág.: 68 Algoritmo de resolución de ecuaciones diferenciales por el método de Euler
function varargout = MetodoEuler(varargin) % METODOEULER MATLAB code for MetodoEuler.fig % METODOEULER, by itself, creates a new METODOEULER or raises the existing % singleton*. % % H = METODOEULER returns the handle to a new METODOEULER or the handle to % the existing singleton*. % % METODOEULER('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in METODOEULER.M with the given input arguments. % % METODOEULER('Property','Value',...) creates a new METODOEULER or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before MetodoEuler_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to MetodoEuler_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". %
177
Métodos Numéricos Ing. William Caiza % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help MetodoEuler % Last Modified by GUIDE v2.5 02-Aug-2015 22:35:15 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @MetodoEuler_OpeningFcn, ... 'gui_OutputFcn', @MetodoEuler_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function edit6_Callback(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit6 as text % str2double(get(hObject,'String')) returns contents of edit6 as a double
% --- Executes during object creation, after setting all properties. function edit6_CreateFcn(hObject, eventdata, handles) % hObject handle to edit6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in pushbutton1.
178
Métodos Numéricos Ing. William Caiza function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) f1=get(handles.edit1,'string'); f=inline(f1,'x','y'); x(1)=str2double(get(handles.edit2,'string')); xf(1)=str2double(get(handles.edit3,'string')); h=str2double(get(handles.edit4,'string')); yi=get(handles.edit5,'string'); y(1)=str2double(yi); n=(xf-x)/h; sol=strcat('Dy=',f1); soly=strcat('y(0)=',yi); in=dsolve(sol,soly,'x'); inte=inline(in,'x','y'); fun=string(in); ff(1)=y(1); a(1)=0; for i=1:n a(i+1)=i; y(i+1)=y(i)+h*f(x(i),y(i)); x(i+1)=x(i)+h; ff(i+1)=inte(x(i+1),y(i+1)); end set(handles.text7,'string',fun); set(handles.uitable1,'data',[a',x',ff',y']); plot(handles.axes1,x,y,'b','linewidth',5); hold(handles.axes1,'on'); plot(handles.axes1,x,ff,'r','linewidth',4) grid on; hold on; plot([0 0],[min(y)-2 max(y)+2]); hold on; plot([min(x)-2 max(x)+2],[0 0]); hold on;
179
Métodos Numéricos Ing. William Caiza
ANEXOS
Propiedades de Laplace
L{ f(t) + g(t) } = F(s) + G(s) L{ a.f(t) } = a.F(s) L{ f(at) } =
L{ eat.f(t) } = F(s-a) L{ f(t-a) } = e-as.F(s) L{ f ’ (t) } = s.F(s) – f(0) L{ f ‘’ (t) } = s2.F(s) – s.f(0) – f(1) L{ f(T). dt } =
∫
Tabla de la transformada de Laplace
1 1 !2+ 1 − 1 .
cos . 1 ∗ f(t)
F(s)
EJERCICIOS DE LAPLACE CON ECUACIONES DIFERENCIASLES POR LAPLACE
−
Usando la transformada de Laplace encuentre la solución de la ecuación.
180
Métodos Numéricos Ing. William Caiza
ℒ( ) 0 2 ℒ( )ℒ8−8ℒ0 − 8 212 1 2528 18 , 2 10 3 1251 1 124 1. 124 11 − 31 ℒ 3ℒ− −−+ 4ℒ3− cos−+24 ℒ se−n2+ −
Aplicación la transformada de Laplace a nuestra ecuación obtenemos: Lo que implica:
Por lo tanto
+
Obtenga la ecuación que es solución de la siguiente ecuación diferencial por el método de la transformada de Laplace, haciendo uso de las tablas y propiedades.
ℒℒDDggtt4ℒ4ggttℒℒsesnen44tt SGs Sg0 g10 4Gs 4 S 44 0 5 4 4 4 41 1520 44 4 36 4 4 5 5 41 5 4 6 6 5 5 4 4 ⟹ 5 4 4 1 6 − ℒ− 554 4 ℒ ℒ− 0.26672 0.08344
Aplicando la transformada Inversa de Laplace
181
Métodos Numéricos Ing. William Caiza
, 0 0≤<3≥3 3 3 3 3 3, 01 <0≥0 ℒ(yt)s, 4 31 − − 31 314 − ℒ 4 − 31 4 4 , , 31 3 1 1 1 3 1 4 4 4 4 4 4 4 3 1 3 1 ℒ− 31 cos 2 4 4 4 4 8 sin2 3 3 34 14 3 34 cos(2 3) 18 sin(2 3)3
Resuelva usando transformada de Laplace la ecuación
Donde
Primero observamos que: Donde
Entonces si obtenemos Esto implica
aplicando transformada de Laplace a la ecuación diferencial
Resolviendo se obtiene
,
Asi
Por lo tanto
182
Métodos Numéricos Ing. William Caiza
Hallar:
{ } ℒ4 6 34 22 3ℒ 4ℒ4 6ℒ 4 2ℒ c os 2 15 6 3! 3 164 2 4 54 36 1216 24 −− ℒ2 − ℎ2 ℒ ℒ 2 cos h 2 − ℒ 44 ℒ cos h 2 − ℒ 4ℒ 4ℒ ℒ− cosh2 ℒ 2! 4ℒ 4 4ℒ4 ℒ 4cosh2 1 5 29 1 9 1 2120 4 4 126 Por la propiedad de linealidad tenemos que:
Hallar:
Por la propiedad de linealidad tenemos que:
Aplicando el primer teorema de la traslación:
183
Métodos Numéricos Ing. William Caiza
Anexo de optimización Multiplicadores de Lagrange En los problemas de optimización, el método de los multiplicadores de Lagrange, llamados así en honor a Joseph Louis Lagrange, es un procedimiento para encontrar los máximos y mínimos de funciones de múltiples variables sujetas a restricciones. Este método reduce el problema restringido con n variables a uno sin restricciones de n + k variables, donde k es igual al número de restricciones, y cuyas ecuaciones pueden ser resueltas más fácilmente. Estas nuevas variables escalares desconocidas, una para cada restricción, son llamadas multiplicadores de Lagrange. El método dice que los puntos donde la función tiene un extremo condicionado con k restricciones, están entre los puntos estacionarios de una nueva función sin restricciones construida como una combinación lineal de la función y las funciones implicadas en las restricciones, cuyos coeficientes son los multiplicadores. La demostración usa derivadas parciales y la regla de la cadena para funciones de varias variables. Se trata de extraer una función implícita de las restricciones, y encontrar las condiciones para que las derivadas parciales con respecto a lasvariables independientes de la función sean iguales a cero. Consideremos un caso bidimensional. Supongamos que tenemos la función, f ( x, y ), y queremos maximizarla, estando sujeta a la condición:
donde c es una constante. Podemos visualizar las curvas de nivel de f dadas por para varios valores de d n, y el contorno de g dado por g ( x , y ) = c . Supongamos que hablamos de la curva de nivel donde g = c . Entonces, en general, las curvas de nivel de f y g serán distintas, y la curva g = c por lo general intersectará y cruzará muchos contornos de f . En general, moviéndose a través de la línea g =c podemos incrementar o disminuir el valor de f . Sólo cuando g =c (el contorno que estamos siguiendo) toca tangencialmente (no corta) una curva de nivel de f , no se incrementa o disminuye el valor de f . Esto ocurre en el extremo local restringido y en los puntos de inflexión restringidos def .
184
Métodos Numéricos Ing. William Caiza
Un ejemplo familiar puede ser obtenido de los mapas climatológicos, con sus curvas de nivel de presión y temperatura (isóbaras e isotermas respectivamente): el extremo restringido ocurrirá donde los mapas superpuestos muestren curvas que se tocan. Geométricamente traducimos la condición de tangencia diciendo que los gradientes de f y g son vectores paralelos en el máximo. Introduciendo un nuevo escalar, λ, resolvemos
, , 0
para λ ≠ 0.
Una vez determinados los valores de λ, volvemos al número original de variables y así continuamos encontrando el extremo de la nueva ecuación no restringida.
de forma tradicional. Eso es, porque en
para todo ( x , y ) satisfaciendo la condición
es igual a cero en la restricción, pero los ceros de
F ( x , y ) están todos
.
El método de los multiplicadores de Lagrange
Sea f (x) una función definida en un conjunto abierto n-dimensional { x
∈
Rn}. Se
definen s restricciones g k (x) = 0, k=1,..., s, y se observa (si las restricciones son satisfechas) que:
Se procede a buscar un extremo para h
lo que es equivalente a
Demostración
185
Métodos Numéricos Ing. William Caiza Comencemos con el caso de una restricción. Sea una superficie M contenida en Rn definida por g(x)=0 y sea f(x) la función a obtener su punto crítico. Si p
M un punto crítico entonces se ha de cumplir:
para todo v vector tangente a M en p (es decir, sea cual sea la dirección en la que nos desplacemos en M, el incremento de f a primer orden es nulo) La anterior condición significa que
es perpendicular al tangente
a M en p y dado que dim M=n-1 existe un único vector perpendicular linealmente independiente que viene dado por
, de modo que se tiene:
para algún número En el caso de que M esté definida por varias restricciones
el conjunto de vectores
perpendiculares al tangente a M en p viene generado por ser
perpendicular al vector tangente a M en p este ha de ser de la forma:
para unos ciertos números
Algoritmo de multiplicadores de LaGrange clear all; clc; fprintf('Interpolacion con el Metodo del Polinomio de Lagrange\n\n'); n=input('grado del polinolio: '); for i1:n+1 x(1,i)=input('dame los valores de xi:'); end for i=1:n+1 xi(1,i)=input('dame los valores de f(xi):'); end x xi xint=input('Numero para el que desea interpolar x: '); fxint=0; i=1; while i<=n+1 L=1; J=0; while J<=n if i~=J+1 L=L*(xint-x(1,J+1))/(x(1,i)-x(1,J+1)); end J=J+1; end fxint=fxint+L*xi(1,i); i=i+1; end
186
de modo que al
Métodos Numéricos Ing. William Caiza fprintf('\nresultado xi: %d',fxint'); plotx,xi) grid title('Polinomio de Lagrange');xlabel('x');yhabel('y')
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) tabla=get(handles.uitable1,'Data'); tabla=str2double(tabla); tabla2=get(handles.uitable2,'Data'); tabla2=str2double(tabla2); x=tabla'; y=tabla2'; intervalo=0:1:3 ; axes(handles.axes2) m=length(x); n=m-1; plot(x,y,'*r') hold on for i=1:n+1 q=1; for j=1:n+1 if i~=j q= conv (q , poly(x(j)))/(x(i)-x(j)); end end l(i,:)= q; end disp('LOS COEFICIENTES DE LAGRANGE INTERPOLADOS SON: ' ) c=y*l; disp(c); z=length(c); suma=0; for d=z-1:-1:0 syms x; suma=suma+c(z-d)*x^(d); end disp('EL POLINOMIO OBTENIDO ES: ') fun=suma; f=inline(char(fun)); %disp(f) ezplot(f,[-5,5]) grid on F=char(f); set(handles.text5, 'String',F);
% --- Executes on button press in pushbutton2.
187
Métodos Numéricos Ing. William Caiza function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) filas=str2double(get(handles.edit1,'String')); columnas=1; num_elem=cell(filas,columnas); num_elem(:,:)={''}; set(handles.uitable1,'Data',num_elem); set(handles.uitable1,'ColumnEditable',true()); set(handles.uitable2,'Data',num_elem); set(handles.uitable2,'ColumnEditable',true());
188
Métodos Numéricos Ing. William Caiza
ANEXO 3: INTRODUCCIÓN A LA PROGRAMACIÓN EN M ATLAB Operadores relacionales Permiten comparar datos, los resultados son valores lógicos, es decir: 1 (verdadero) o 0 (falso).
Figura A1. Operadores relacionales
Estructuras de control Matlab se manejan principalmente tres estructuras de control:
Decisión: if ... elseif ... else ... end
Repetición un número fijo de veces: for ... end
Repetición bajo condiciones: while ... end Se puede, pero no es habitual, utilizar estas estructuras en la ventana de trabajo de Matlab.
Condicional Si queremos ejecutar un conjunto de instrucciones en el caso de que se cumpla una condición, usaremos una estructura if. La manera más sencilla de usarla es la siguiente: if expresión lógica 1 Conjunto de ordenes 1 (de Matlab ) end El conjunto de ordenes 1 se ejecuta si la expresión lógica 1 es verdadera.
189
Métodos Numéricos Ing. William Caiza
Control de flujo MATLAB, al igual que la mayoría de los lenguajes de programación, incluye instrucciones para el control del flujo de sus programas, incrementando de esta forma la potencia de los cálculos realizables.
Bucles FOR Estos bucles permiten la ejecución de un comando o grupo de comandos, un número fijo predeterminado de veces. Por ejemplo: for i=1:n, x(i)=0, end Asigna el valor 0 a los n primeros elementos del vector x. Si n es menor que 1, el comando central no se ejecutará ninguna vez. Si x no existe, o bien tiene menos de n elementos, se reservará memoria adicional de forma automática. Una práctica común es la utilización de bucles anidados: for i=1:m for j=1:m A(i,j)=1/(i+j-1) ; end end Es importante no olvidar que cada sentencia for debe concluir con su end correspondiente.
Bucles WHILE Los bucles WHILE permiten la ejecución de un comando o grupo de comandos un número indeterminado de veces bajo el control de una condición lógica. Esto es, los comandos se ejecutarán mientras} se verifique dicha condición. Como ejemplo mostramos los comandos necesarios para averiguar cuál es el primer número entero cuyo factorial es un número de 100 dígitos: n=1 while prod(1:n)< 1e100, n=n+1; end;
Sentencia IF En su forma más simple, la sentencia if se escribe en la forma siguiente (obsérvese que –a diferencia de C/C++/Java – la condición no va entre paréntesis, aunque se pueden poner si se desea): if condicion
190
Métodos Numéricos Ing. William Caiza
sentencias end Existe también la bifurcación múltiple, en la que pueden concatenarse tantas condiciones como se desee, y que tiene la forma: if condicion1 bloque1 elseif condicion2 bloque2 else %opción por defecto para cuando no se cumplen las condiciones 1 ni 2 bloque3 end Donde la opción por defecto else puede ser omitida: si no está presente no se hace nada en caso de que no se cumpla ninguna de las condiciones que se han chequeado. Un ejemplo de uso podría ser: if I == J A(I,J) = 2; elseif abs(I-J) == 1 A(I,J) = -1; else A(I,J) = 0; end Es interesante aquí observar qué obtenemos al ejecutar las sentencias anteriores dentro de dos bucles for anidados. Ejecutando help relop se puede obtener información sobre el funcionamiento de los operadores relacionales utilizados en las sentencias de control.
Introducción a la Interface Gráfica de Usuario (GUI) Desde el punto de vista de la programación, una GUI es una visualización grafica de una o más ventanas que contienen controles, llamados componentes, que permiten a un usuario realizar tareas en forma interactiva. GUI es un entorno de programación gráfica, que ofrece Matlab para poder realizar y ejecutar diversos programas, el entorno de Matlab tiene las características básicas de todos los programas visuales como Visual Basic o Visual C++. Para poder realizar un programa en GUI, se debe seguir los siguientes pasos: 1. En la ventana principal de Matlab, se debe ejecutar el comando ‘guide’, obteniendo la siguiente ventana
191
Métodos Numéricos Ing. William Caiza
Figura A3: Comando Guide
Con las siguientes opciones, como se describe en el grafico anterior. Elegimos la primera opción, Blank GUI, y tenemos la siguiente ventana:
Figura A4: Mascara De Interface De Matlab
2. En la ventana anterior se puede colocar diversos componentes predefinidos por Matlab, los cuales podrían ser:
Figura A5 Paleta de componentes
192
Métodos Numéricos Ing. William Caiza
3. Grabar el archivo con la extensión predefinido por Matlab (.m). Una aplicación GUI consta de dos archivos uno cuya extensión es .m y otro cuya extensión es .fig, la cual es la parte grafica del programa. Las dos partes están unidas a través de las subrutinas callback. Una vez que se graba los archivos podemos ejecutar el programa desde la ventana del comando de Matlab solamente escribiendo el nombre del archivo. Por ejemplo si guardamos un archivo sumador.fig y sumador.m escribiendo sumador y presionando enter se ejecuta el programa.
EJEMPLOS BASICOS A LA INTRODUCCION A MATLAB Ejemplo 1:
En el ejemplo se hace uso de un “pushbutton”, “edit” y “text”, se ingresa un texto en “edit” se hace click y el texto pasa a “text”. function pushbutton1_Callback(hObject, eventdata, handles) % mostrar un mensaje escrito en edit text y que se muestra en static text. texto=get(handles.edit1,'String'); set(handles.text1,'String',texto);
Figura A.1
Ejemplo 2: El ejemplo hace uso del objeto “axes”, para graficar una función
193
Métodos Numéricos Ing. William Caiza function pushbutton2_Callback(hObject, eventdata, handles) % Este es un ejemplo de como ingresar funciones y se muestre su respectiva gráfica en un axes. x=linspace(0,10,100); plot(handles.axes1,x,cos(x));
Figura B.1
Ejemplo 3: Se hace uso de dos objetos “axes”, en el cual se puede ver su uso para realizar gráficos. function pushbutton2_Callback(hObject, eventdata, handles) % En este ejemplo mostramos como se grafican más de una función. x=linspace(0,10,100); plot(handles.axes1,x,cos(x)); plot(handles.axes2,x,x.^2);
Figura B.2
Ejemplo 4: En el ejemplo se muestra un menú de opciones de colores, que al elegir nos muestra el color seleccionado.
194
Métodos Numéricos Ing. William Caiza Primera forma: function popupmenu1_Callback(hObject, eventdata, handles) texto=get(handles.popupmenu1,'Value'); switch texto case 1 color= 'y'; case 2 color='r' case 3 color= [ 1 0 1]; end set(handles.text1,'Backgroundcolor',color);
Segunda forma: function popupmenu1_Callback(hObject, eventdata, handles) clc; contenido = get(hObject,'String'); valor =get(hObject,'Value');% El valor númerico de la posición texto= contenido(valor)% muestra en contenido dentro de la matriz switch cell2mat(texto) case 'Amarillo' color= 'y'; case 'Azul' color='b'; case 'Verde' color='g'; end set(handles.text1,'Backgroundcolor',color);
Figura C.1
195
Métodos Numéricos Ing. William Caiza Ejemplo 5: En este ejemplo mostramos una lista con operaciones aritméticas, ingresando los números n1=5 y n2=10, procedemos a seleccionar una de las operaciones y ver su resultado. function listbox1_Callback(hObject, eventdata, handles) contenido=get(hObject,'string'); a=get(hObject,'Value'); operaciones=contenido(a); n1=5,n2=10; switch cell2mat(operaciones) case 'Suma' res=n1+n2; case 'Resta' res=n1-n2; case 'Multiplicación' res=n1*n2; case 'División' res=n1/n2; end set(handles.text1,'string',res);
Figura D.1 Ejemplo 5: Se hace uso de “radiobutton”, para elegir comidas y se traslada el pedido a un “text”. function pushbutton1_Callback(hObject, eventdata, handles)
196
Métodos Numéricos Ing. William Caiza elige_valor = get(handles.uipanel1,'SelectedObject' ); elige_cadena=get(elige_valor,'String') set(handles.text2,'String',elige_cadena)
Ejemplo 6: % En este ejemplo se muestra como con el uso de Radio Button se puede cambiar el tamaño de letra en un mensaje. function uipanel1_SelectionChangeFcn(hObject, eventdata, handles) A=get(hObject,'String'); switch A case '10' set(handles.text1,'FontSize',10); case '14' set(handles.text1,'FontSize',14); case '18' set(handles.text1,'FontSize',18); end
197
Métodos Numéricos Ing. William Caiza
Figura E.1 3. Radio Button: Indica una opción que puede ser seleccionada y realiza una acción determinada. Button Group: Solo se puede tener un Button Group en la Gui, permite exclusividad de selección con los radio button.
F) Realizaremos un ejemplo de cómo usar el check Box. 1. Creamos una nuevo Gui y colocamos cada elemento que usaremos. 2. Realizamos el algoritmo que muestre la función de cada elemento % En este ejemplo damos la opción de tener activada o desactivada la cuadricula para la gráfica de una función. function uipanel1_SelectionChangeFcn(hObject, eventdata, handles) A=get(hObject,'String'); switch A case 'Seno' ezplot('sin(x)',[0 10]); case 'Coseno' ezplot('cos(x)',[0 10 ]); case 'Tangente' ezplot('tan(x)',[0 10]); end % --- Executes on button press in checkbox1. function checkbox1_Callback(hObject, eventdata, handles) valor=get(hObject,'Value'); if valor==1 grid on; else
198
Métodos Numéricos Ing. William Caiza
grid off ; end
Figura F.1 3. Check Box: Indica el estado (on ó off) de un atributo. Toggle Button: Un botón con solo 2 estados (on ó off)
G) Realizaremos un ejemplo de cómo usar el Slider. % En este ejemplo se muestra como poder aumentar o disminuir la ampliación de una gráfica con el uso de Slide. 1. Creamos una nuevo Gui y colocamos cada elemento que usaremos. 2. Realizamos el algoritmo que muestre la función de cada elemento function slider1_Callback(hObject, eventdata, handles) A=get(hObject,'Value'); x=linspace(0,10,100); y=A*sin(A*x) plot(x,y);
199
Métodos Numéricos Ing. William Caiza
Figura G.1 3. Slider: Una barra que nos permite deslizarnos para aumentar o disminuir el rango de valores.
H) Realizaremos un ejemplo de cómo usar tablas. 1. Creamos una nuevo Gui y colocamos cada elemento que usaremos. 2. Realizamos el algoritmo que muestre la función de cada elemento % En este ejemplo se muestra como insertar datos en una tabla. function pushbutton1_Callback(hObject, eventdata, handles) A={'Pedro' 'Ana' 'David' 'Gabriela'}; P={10 20 15 12}; datos=[A' P']; set(handles.uitable1,'data',datos);
200
Métodos Numéricos Ing. William Caiza
Figura H.1
A continuación realizaremos el algoritmo de la suma de 2 variables para comprender la utilización de los comandos 1. En el componente “fig” como muestra la figura 2 procedemos a insertar los objetos necesarios. 2. De la paleta de componentes escogemos dos edit text, los cuales serían edit1 y edit 2 respectivamente, insertamos un push button y dos static text.
201
Métodos Numéricos Ing. William Caiza Figuran A6 componentes para la interface
3. Al guardar el archivo, Matlab internamente crea el código necesario de los objetos insertados para proceder a utilizarlos y manipular los objetos insertados en la fig. Como muestra la figura 4. Generalmente se programara dentro de la “function pushbutton1_Callback(hObject, eventdata, handles)”. 4. Código del programa. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) valor1=str2double(get(handles.edit1,'string')); valor2=str2double(get(handles.edit2,'string')); suma=valor1+valor2; set(handles.text2,'string',suma);
Descripción: 1. Al “valor1” le asignamos el contenido del objeto “edit1”, mediante la función, “str2double” realiza la transformación de string a un valor numérico; “get” es la
función por medio de la cual obtenemos los valores ingresados por el usuario, cuyos
componentes son: “handles.edit1”, la instrucción anterior indica a la función “get” , que el valor extr aído será del objeto ‘edit1’, ’string’ el comando indica que el valor extraído será una cadena.
202
Métodos Numéricos Ing. William Caiza
2. Suma=valor1+valor2, realiza la respetiva suma. 3. En la cuarta línea contiene la instrucción “set” (colocar), por medio del cual los resultados obtenidos en el programa son visualizados en el programa por medio del objeto “text2”. Handles: es el identificador a los datos de la aplicación
4. Ejecución del programa.
Figura A8: ejecución del algoritmo de la suma
Ejemplo 2: Algoritmo de Suma y Promedio.
function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) n=str2double(inputdlg('cuantos numeros desea ingresar')); for i=1:n etiqueta1=['Ingrese dato(' num2str(i) ')']; datos(i)=str2double(inputdlg(etiqueta1)); end s=0; for i=1:n s=s+datos(i); end promedio=s/n; set(handles.text4,'string',s); set(handles.text5,'string',promedio);
203
Métodos Numéricos Ing. William Caiza
Descripción: 1. Asignamos a la variable n, el número de datos a realizarse las operaciones, se
idéntica manera al programa anterior, se utiliza la función “str2double” para pasar de cadena a número como se verifica en la instrucción: str2double(inputdlg(‘Cuantos números desea ingresar’)); 2. Utilizamos el comando “for… end”, para poder ingresar los datos al programa. 3.- En la tercera línea creamos la variable “etiqueta” por medio del cual se da una mejor visualización al ingreso de los datos. 4.- Utilizamos la variable s como inicializador de la suma de los números ingresados, mediante la cual podemos realizar la suma de los datos. 5.- calculamos el promedio, utilizando la suma anterior dividida para el número de datos ingresados. 6.- usamos el comando “set” para poder visualizar los resultados como indica el siguiente código: set(handles.txt3, ‘string’,etiqueta).
204
Métodos Numéricos Ing. William Caiza
Figura A10: ejecución de algoritmo suma y promedio
Ejemplo3: Programa Para Sumar o Multiplicar Datos en un listbox List Box presenta una lista desplegable. Código
function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) dato=get(handles.edit1,'String'); old_dato=get(handles.listbox1,'String'); new_dato=strvcat(old_dato,dato); set(handles.listbox1,'String',new_dato); function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) acum=0; x=str2num(get(handles.listbox1,'string')); for i=1:length(x) acum=acum+x(i) end set(handles.text1,'string',acum); function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) mul=1; x=str2num(get(handles.listbox1,'string')); for i=1:length(x)
205
Métodos Numéricos Ing. William Caiza
mul=mul*x(i) end set(handles.text1,'string',mul); Ejecución del programa
Suma
Multiplicación
Pushbutton3 1. En la primera línea de código importamos los datos del edit1 2. En la segunda línea de código importo el dato ingresado del Listbox1, el cual será mi dato antiguo.
206
Métodos Numéricos Ing. William Caiza
3. En la tercera línea creo mu nuevo dato concatenando verticalmente los datos del Listbox1 con el comando “strvcat”. 4. En la cuarta línea imprimo mis datos concatenados en el Listbox1. Pushbutton1 1. En la primera línea de código creo un acumulador que este igualado a 0, mientras que en la segunda línea meto en una variable a los datos encontrados en el Listbox 2. Creo un bucle con un For que empiece desde 1 y recorra hasta el número de datos ingresados en el Listbox 3. Dentro del for acumulo los datos (acum=acum+ datos), de esta manera los datos quedan sumados. Pushbutton4 1. En la primera línea de código creo una variable que este igualado a 1 ya que con esta variable vamos a realizar las multiplicaciones y la multiplicación por 0 es 0, mientras que en la segunda línea meto en una variable a los datos encontrados en el Listbox 2. Creo un bucle con un For que empiece desde 1 y recorra hasta el número de datos ingresados en el Listbox 3. Dentro del for multiplico los datos (mul=mul*datos), de esta manera los datos quedan multiplicados. Ejemplo4: Importación y exportación de datos entre Ecxel y Matlab Con la función xlsread Matlab importa automáticamente los datos del archivo de Excel y con xlswrite exportamos los datos hacia Excel. Código:
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) Ruta=inputdlg('Ingrese ruta de archivo xlsx(con extensión)'); set(handles.text2,'string',Ruta); A=cell2mat(Ruta); B=xlsread(A); set(handles.uitable1,'data',B); % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) B=get(handles.uitable1,'data'); Ruta2=inputdlg('Ingrese ruta de destino (con extensión):'); set(handles.text3,'string',Ruta2); C=cell2mat(Ruta2); xlswrite(C,B);
207
Métodos Numéricos Ing. William Caiza
Descripción Botón 1: 1.- En la primera línea de código usamos la función inputdlg para ingresar por un cuadro de diálogo la dirección del archivo a leer, presentamos la dirección en la segunda línea. 2.- En la tercera línea usamos la función cell2mat en la variable ruta para convertir el vector tipo cell a vector normal. 3.- En la cuarta línea usamos la función xlsread para importar los datos desde la ruta ingresada. 4.- En la quinta línea presentamos los datos importados en una tabla de datos. Botón 2: 1.- En la primera línea obtenemos los datos de la tabla. 2.- En la segunda línea ingresamos la ruta de destino para nuestro nuevo archivo y presentamos la misma en la tercera línea. 3.- En la cuarta línea usamos la función cell2mat para convertir el vector tipo cell a vector normal. 4.- En la quinta línea exportamos el archivo, con la función xlswrite, a la ruta ingresada con los datos obtenidos. Ejecución del Programa
208
Métodos Numéricos Ing. William Caiza
Ejemplo5: Uso de Axes Mediante el uso del axes en el entorno grafico guide del Matlab nosotros podemos crear la gráfica de una función que ingresemos: Para obtener un axes presionamos el botón indicado por la flecha en el entorno grafico guide: Programación:
% --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); etiqueta1=['(x)inicial']; xi =str2double(inputdlg(etiqueta1)); etiqueta2=['(x)final']; xf =str2double(inputdlg(etiqueta2)); x=xi:0.1:xf; [f1 c]=size(x); for i=1:c y(i)=f(x(i)); end plot(handles.axes1,x,y ,'g'); hold on;
209
Métodos Numéricos Ing. William Caiza
plot(handles.axes1,[min(x) max(x)],[0 0],'r'); plot(handles.axes1,[0 0], [min(y) max(y)], 'r'); xlabel('x') ylabel('y')
Descripción 1) Usamos la función (char) para convertir la función en una cadena de caracteres y poder evaluarla 2)
Ingresamos los datos para poder evaluar la función mediante etiquetas:
3) 4)
Mediante un (for) Definimos el vector para poder realizar las graficas. Declaramos los valores de la función
5)
Mediante la función plot dibujamos un vector de valores (y) en ordenadas frente a otro vector(x) en las abscisas. Ambos vectores tienen el mismo número de elementos.
La función hold on, nos permite dibuja barias líneas en una misma figura. La función lebel podemos poner nombre a los ejes de la grafica
210
Métodos Numéricos Ing. William Caiza
con la función lebel podemos poner nombre a los ejes de la grafica
También es posible cambiar el color y la forma de la grafica Colores: 'r'(rojo), 'b'(azul), 'g'(verde), 'y'(amarillo), 'k'(negro), 'm'(morado), 'w'(blanco), 'c'(celesta),… Tipo de trazo: '-', '-.', '--', ':', '.', 'o', '*', 'x', '+',… Símbolos: 's', 'h', 'p', 'd',…
Ejecución del Programa
211
Métodos Numéricos Ing. William Caiza
Ejemplo6: Uso del uitable Uitable es una función del entorno grafico de Matlab que enumera los datos ingresados o enumera los resultados de un programa. Para obtener un uitable presionamos el botón indicado en el entorno grafico guide: Programación:
funcion=char(inputdlg('ingrese la funcion')); f=inline(funcion); etiqueta1=['(x)inicial']; xi =str2double(inputdlg(etiqueta1)); etiqueta2=['(x)final']; xf =str2double(inputdlg(etiqueta2)); x=xi:0.1:xf; [f1 c]=size(x); for i=1:c y(i)=f(x(i)); end plot(handles.axes1,x,y); hold on; plot(handles.axes1,[min(x) max(x)],[0 0],'r');
212
Métodos Numéricos Ing. William Caiza
plot(handles.axes1,[0 0], [min(y) max(y)], 'r');
datos1=[x' y']; datos2=[xi xf']; set(handles.uitable1, 'ColumnName', {'x','y'}); set(handles.uitable1,'data', datos1);
set(handles.uitable2, 'RowName', {'X0','Xf'}); set(handles.uitable2,'data',datos2 ); xlabel('x') ylabel('y')
Descripción 1) Ordenamos los datos que queremos que devuelva el elemento uitable 2) La función inline transforma en función una cadena de caracteres. 3) Mediante la función set devolvemos los datos de la gráfica 4) podemos poner nombres a las filas o columnas de nuestra uitable mediante las funciones :
'ColumnName': La cual nos sirve para nombrar las columnas.
'RowName’: La cual usamos para nombrar las filas.
Ejecución del Programa:
213
Métodos Numéricos Ing. William Caiza
Ejemplo7: Radio Button Radio Button representa una opción Código
function uipanel2_SelectionChangeFcn(hObject, eventdata, handles) % hObject handle to the selected object in uipanel2 % eventdata structure with the following fields (see UIBUTTONGROUP) % EventName: string 'SelectionChanged' (read only) % OldValue: handle of the previously selected object or empty if none was selected % NewValue: handle of the currently selected object % handles structure with handles and user data (see GUIDATA)get A=get(hObject,'String'); switch A case '10' set(handles.text1,'FontSize',10); case '12' set(handles.text1,'FontSize',12); case '14' set(handles.text1,'FontSize',14); case '18' set(handles.text1,'FontSize',18); end Ejecucuión del programa
214
Métodos Numéricos Ing. William Caiza
1. En la primera línea de codigo recuperamos las propiedades de los objetos. 2. Creamos un menú con cuatro casos para determinar el tamaño de letra, estos casos son los que seleccionemos con RadioButton. 3. Dentro de cada caso podemos modificar el tamaño del texto que se encuentra dentro del text1 con “FontSize”
Ejemplo 8: Uso del elemento Checkbox y Msgbox El elemento Checkbox funciona para seleccionar algún componente de entre algunas opciones y el elemento Msgbox funciona como un mensaje de salida para informar de cualquier evento en el programa. function checkbox1_Callback(hObject, eventdata, handles) % hObject handle to checkbox1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) if (get(hObject,'Value') == get(hObject,'Max')) msgbox('Seleccionado'); else msgbox('No seleccionado'); end
215
Métodos Numéricos Ing. William Caiza
Descripción: 1.- En la primera línea de código creamos una sentencia if (de condición) para obtener el valor numérico del elemento checkbox ( 1 como verdadero y cero como falso). 2.- Se envía un cuadro de mensaje, con la sentencia msgbox , enviando “Seleccionado” si es número 1 ó “No seleccionado” si es cualquier otro número.
Ejecución del Programa
216
Métodos Numéricos Ing. William Caiza
ANEXO : SISTEMAS DE ECUACIONES NO LINEAL El método de Newton-Raphson para sistemas de n ecuaciones no lineales Considérese nuevamente el sistema de n ecuaciones no lineales con n incógnitas representado por
, , … . , 0 , , … . , 0 0⇔ ………………………… , , … . , 0 ∗ ∗ б
Al igual que se hizo en el caso de una variable, supongamos que en un dominio cerrado D
⊂
IRn f (x) es una función de clase (C2(D))n. Y supongamos además que la ecuación
anterior admite una solución x en el dominio D. Para cualquier otro vector x(0) denotando por _x al vector tal que como
∈
D ,
. la expresión del desarrollo en serie
de Taylor nos permitiría afirmar, para cada una de las ecuaciones del sistema, que existen
∈ 0∗( б) (){()} ∗б 12 ∗б ∗( Ѳ ∗б)∗б б 12 ∗ б ∗( Ѳ ∗б)∗б0 (){∗()} ∗б ∗ Ѳ б б ( Ѳ ∗б)
valores _j [0, 1] (j = 1, 2, .., n) tales que:
Donde
es la matriz hessiana de la función fj(x).
Si conocido x(0) se fuese capaz de determinar x resolviendo el sistema formado para j = 1, 2, .., n, por las ecuaciones:
Podría determinarse
como
deberíamos conocer los valores de
. Pero para resolver este sistema primero
(lo cual no es obvio) y, una vez conocidos, resolver
un sistema, en general, no lineal pues obsérvese que x interviene en la expresión de las matrices hessianas
. Por tanto, salvo en situaciones muy particulares,
no se ganaría gran cosa remplazando el problema de resolver f (x) = 0 por el de resolver el sistema anterior. El método de Newton-Raphson (o método de linealización de Newton) se sustenta en simplificar las expresiones anteriores linealizándolas. Para ello considera que si se está
217
Métodos Numéricos Ing. William Caiza
suficientemente cerca de la solución (es decir si
∗ бб ∗ ( Ѳ ∗б)
términos
‖б‖
es suficientemente pequeño) los
podrán despreciarse frente a los otros términos
de cada ecuación del sistema. Por ello, denotando por [Jf (x)] a la matriz jacobiana de f en el punto x, en este método se resuelve el sistema lineal:
()J ∗∆ 0 ∆ J (())−− ∗() ()б ∗ б ∆. ∗ ∗ б ∗
Del que se obtiene que:
Obviamente, al ser diferente el sistema linealizado que el proporcionado por el desarrollo
de Taylor, se tendrá que ∆
y por tanto como
De una forma intuitiva (que (que después después deberemos precisar cuándo es correcta) puede puede pensarse que aunque
sea diferente de
será un vector más próximo a
pues lo hemos obtenido ”aproximando” el valor x que nos llevaba de
a
que
Con ello el
método de Newton-Raphson propone repetir este proceso de forma recursiva hasta estar lo
suficientemente cercanos a la solución buscada. Más concretamente el método de NewtonRaphson consiste en: Dado un vector
, generar la sucesión:
+ J (())−− ∗() ∞0 J (())−− ∗
Sobre este método, en primer lugar, puede observarse que si denotamos por: estamos en presencia de un caso particular del método de aproximaciones sucesivas antes contemplado en el aparatado 1.4.1.. En otros términos, se tiene la siguiente propiedad:
Propiedad 3.1. Si la función g(x) = x − [Jf (x)]− (x)]−1 · f (x) es, para alguna norma matricial,
() ∞0
una contracción definida en D la sucesión dada por obtenida a partir de cualquier vector
solución de la ecuación f (x) = 0 en D.
218
+ J (())−− ∗
D converge hacia la única
Métodos Numéricos Ing. William Caiza
Demostración. Es un caso particular de los teoremas de convergencia del método de aproximaciones sucesivas. Del teorema anterior, por analogía a lo realizado en el caso de una única ecuación no lineal, podrían derivarse teoremas de convergencia que actuaran sobre las primeras y segundas derivadas parciales de las componentes de la aplicación vectorial g(x). Dejamos al lector el desarrollo de tales teoremas y pasamos a enunciar algunos otros en los que las hipótesis se realizan directamente sobre la propia función vectorial f (x) y su matriz jacobiana y que pueden ser de más fácil aplicación al análisis de la convergencia del método. Previamente a la demostración de dichos teoremas necesitaremos introducir el siguiente lema:
Lema 3.1. Siendo f : D → D una aplicación de clase (C1(D))n ( C1(D))n y siendo D un cerrado de
‖J J ‖ ≤ ‖ ‖ ∀ ∈
, si existe una constante estrictamente positiva α tal que para alguna norma
vectorial y para la norma matricial a ella subordinada se verifique: ·
x, y D
entonces se verifica también que:
‖ f y J ‖ ≤ ‖ ‖ ∀ ∈ ·
x, y D
Demostración. Siendo x e y dos vectores genéricos de D denotemos por q(t) a la función vectorial dependiente de un único parámetro real definida por:
Esta función, habida cuenta de las hipótesis realizadas sobre f es derivable denotando por z = y + t · (x − y) se tiene que:
219
∀∈
t [0,1]. Así,
Métodos Numéricos Ing. William Caiza
) ( ) lim∆⟶ (( ∆ ∗ ∆)( lim∆⟶ (( ∆∆∆ ) J De donde:
‖ ≤′‖J0 ‖‖JJ ‖∗‖J ‖‖ ≤ ‖J J ‖ ∗ ‖ ‖ ≤ ≤α∗t‖ ‖ Esta desigualdad, a su vez, puede utilizarse en el proceso siguiente:
‖ J ∗ ‖ ‖1 0 0‖ 0 ∗ ≤ ‖ 0‖ ∗≤ ≤ ∗‖ ∗ ‖ ‖ ∗ α ‖ ‖ Nota 3.8. El que se verifique la hipótesis del lema precedente:
∃α∈∃α ∈ ‖J J ‖ α ‖ ‖ ∀ ∈ ‖. ‖. IR+ /
≤
x, y D
α
se expresa diciendo que la matriz Jacobiana es lipschitciana de razón en D para la norma
Con ayuda de este lema puede procederse a presentar y demostrar el siguiente teorema:
Teorema 3.6. Siendo D un cerrado de
y siendo f : D → D una aplicación de clase
para la que, utilizando alguna norma vectorial y para la norma matricial a
ella subordinada, se verifican las dos hipótesis siguientes:
220
Métodos Numéricos Ing. William Caiza
∃α∈∃∈∃α∃ ∈∈ ‖‖JJ−−J‖ ‖ α ‖ ‖ ∀ ∈∀ ∈ + ())−− ∗() ∞ + ≤ ∗ ∗ − + ())−− ∗()≤())−−∗() ≤ ∗ ()
1)
IR+ /
2)
IR+ /
≤
x, y D
≤
x, y D
entonces para la sucesión de cualquier vector
obtenida a partir
D se verifica que:
Demostración. Se tiene que:
y como de:
+ J (())−− ∗() Se deduce que:
()J (())−−(+ ) Se tiene, utilizando el lema presente, que:
+ ≤∗J (())−− + ≤ 2 ∗ − ∗
El teorema anterior nos muestra que la relación entre la norma del vector diferencia entre las aproximaciones halladas en las iteraciones (i+1) e i es proporcional (con factor
)
al cuadrado de la norma del vector diferencia entre las aproximaciones halladas en las iteraciones i e (i − 1). Pero por sí solo este teorema no nos justifica que el método converja.
221
Métodos Numéricos Ing. William Caiza
Simplemente nos indica que si en algún momento
−
< (1/C) entonces se
habrá logrado una sucesión de Cauchy y, al estar en un completo, por ello una sucesión convergente. Para acabar de obtener un resultado que garantice la convergencia es necesario imponer más condiciones en el método. Como por ejemplo las que se recogen en el teorema siguiente que, junto a las hipótesis a) y b) del teorema anterior añade una nueva:
Teorema 3.7. Siendo D un cerrado de
y siendo f : D → D una aplicación de clase
‖−‖ ‖‖ ∞ + ()− ∗() ≤ ∗ − ∗ − ∞ ∗ + ( ) ∗( ) − ∗ u − ≤ ∗∗ <1
para la que, utilizando alguna norma vectorial y para la norma matricial a
ella subordinada, se verifican las dos hipótesis siguientes: IR+ /
≤
IR+ /
x, y D
<
x, y D
entonces para la sucesión cualquier vector
D para el que se verifique la condición
IR+ /
existe el límite
obtenida a partir de
de la sucesión
que es una
raíz del sistema f (x) = 0 en D y se verifica que:
donde
.
POR NEWTON
Este método se basa en utilizar el desarrollo de Taylor. Escribimos x1 = x0 + ∆x, f (x1) = f (x0) + f ‘ (x0) ∆x + o (∆x2) , y suponiendo que f (x1) = 0, queda
′ 222
Métodos Numéricos Ing. William Caiza
. El método de Newton-Raphson se basa en esta ecuación y consiste en calcular los valores de una sucesi´on de la forma:
+ ′
Otro modo de obtener este metodo consiste en suponer que f : [a, b] → R es continua en [a, b] y tal que f 00(x) no cambia de signo en [a, b] con f (a)f (b) < 0. El proceso para encontrar un x tal que f (x) = 0 consiste en lo siguiente: 1) Fijamos c = a ´o b, tal que f (c)f
∀∈
00(x) > 0, x (a, b). 2) x0 = c. 3) Hallamos la ecuacion de la tangente que pasa por (x0, f (x0)) y el punto de corte de dicha tangente con el eje X. El proceso se repite hasta conseguir una sucesion de aproximaciones que converge a la raiz de f (x) = 0.
La ecuación de la recta tangente a la curva y = f (x) en (xn−1, f (xn−1)) viene dada por
y = f (xn−1) + f 0 (xn−1)(x − xn−1) . La abscisa del punto de intersección de la recta tangente con el eje X,
xn = xn−1 − f (xn−1) f 0(xn−1) , y mediante esta relación obtenemos una sucesión , {xn}∞ n=1 de aproximaciones al valor de la raíz buscada. El error que se comete en la iteración n-ésima sera
| r − xn |< M 2m | xn − xn−1 | ,
∀∈
Donde 0 < m ≤| f (x) | y | f 00(x) |≤ M, x (a, b)
Por punto fijo
Dada la ecuación f (x) = x − x 4/5 − 2 = 0 Si tomamos la función de iteración g(x) =
/
+2
Las iteraciones
223
Métodos Numéricos Ing. William Caiza
Suponemos que se quiere buscar una raíz de la función f (x) = x 3 + 4x 2 − 10 en [1, 2]. Se pueden hacer diferentes elecciones de la función ϕ(x), por ejemplo,
10/ 10/4 4/ 10/83;
a) ϕ1(x) = x − b) ϕ2(x) = c) ϕ3(x) = d) ϕ4(x) =
Ejercicio
Calcular el vector
− 4 + 10; ;
;
de la iteración k-ésima cuando k=4 si se utiliza el método de Newton-
Raphson en la resolución del sistema no lineal: 2 x−cos( y ) = 0, 2 y−sin( x ) = 0, tomando x(0) = [0,0]T. Calcular en cada iteración k el valor de la estimación del error absoluto ||e(k)|| = || x(k) − x(k−1) ||∞ y también del error relativo || x(k) −x(k−1) ||∞ / || x(k) ||∞. Dar los resultados con cuatro decimales exactos. Queremos resolver un sistema de ecuaciones del tipo: f1(x1,x2,...,xn) = 0, f2(x1,x2,...,xn) = 0 , ... fn(x1,x2,...,xn) = 0 donde las funciones fi(x), i=1,2,...,n son arbitrarias. Llamando
entonces a F(x) = [f1(x),f2(x), ..., fn(x)]T queremos resolver F(x) = 0, con F:Rn → Rn . Si se usa el método de Newton-Raphson, esto se traduce en usar el esquema iterativo:
x(k+1) = x(k) − (J(x(k)))−1 F(x(k)), k=0,1,2,... J(x(k)) =
j =
, 1 ≤ i, j ≤ n, la matriz de Jacobi.
Por tanto, al resolver el sistema por Newton-Raphson, debemos resolver en cada iteración
el sistema lineal: J(x(k)) vc(k) = −F(x(k)) y obtener luego la siguiente iteración usando este vector de corrección recién calculado: x(k+1) = x(k) + vc(k) En nuestro caso la función es:
224
Métodos Numéricos Ing. William Caiza
y 22 xcos ysin x
F(x) =
y la matriz de Jacobi:
cos2 sinxy2 12 20 01 12 20 10 T 1 /2, 1 /4 0011/4/211/4/2 e= vc− J(x) =
Como la aproximación inicial es J(
=
= [0,0]T, calculamos:
, F(x0 ) =
Y por tanto, el sistema lineal a resolver es: =
Una vez resuelto es =
Con
+
, por lo que entonces:
=
continuaríamos el proceso y obtendríamos
convergencia con cada
calculado (es
, etc., comprobando la
). Las iteraciones son:
A continuación viene la gráfica donde aparecen las funciones que intervienen en el sistema, el punto de intersección pedido, la iteración solicitada en el enunciado y el conjunto de puntos calculados en las diferentes iteraciones. La aproximación inicial a parece con un pequeño círculo rojo.
225
Métodos Numéricos Ing. William Caiza
Ejercicio 2
cos0 1. 0 10− cos 0 1 ′3 sin0 −−cos ′−−− −≥1 cos− − 3− sin− − 3− sin− ′ 10− 1 Sea la ecuación no lineal siguiente:
a) Aplicando el método de Newton encontrar la raíz próxima al valor precisión de .
con una
Método de Newton-Raphson.
Derivando la ecuación obtenemos:
Formula:
Tabla de datos
Error [%]
0 1 2 3
-1 -0.880333 -0.865684 -0.865474
0.459698 0.045351 0.000632 1.289200x
-3.841471 -3.095909 -3.009766 -3.008539
Donde
Remplazamos el
, en la ecuación para obtener el valor de
226
13.59 16.92 0.02
Métodos Numéricos Ing. William Caiza
Remplazamos el
1 1 cos 1 0.459698 ′ 1 ′ 131 sin1 3.841471 0.459698 − ′−− 1 3.841471 0.880333 | ||− | ∗100% | |0.|8803331 0.880333| ∗100%13.59% 0.865474 , en la ecuación derivada para obtener el valor de
Procedemos a remplazar los valores obtenidos en la ecuación, en la fórmula para obtener el
ERROR
La raíz aproximada es:
227
Métodos Numéricos Ing. William Caiza
. 2 − 15 1. 5 − 10 − ′−− 1 − − − e 5 3 10 1 2 5 − − 21 5−2 10− − 1.5 1.5 2 −. 15 . EJERCICIO 3 Representacion de la función encontrar el cero de la función Próximo al valor de
Aplicando el método de Newton
, iterando hasta que se cumpla que el error sea menor que
Fórmulas
Tabla de datos
Error [%]
0 1 2 3
1.5 1.177243 1.213457 1.214065
Remplazamos el valor e
-0.179602 0.026539 0.000431 1.177954x
27.41 2.98 0.05
, en la ecuación para obtener el valor de
228
Métodos Numéricos Ing. William Caiza
ERROR
La raíz aproximada es:
− − − 1 . 5 1 −. e − 5−. 211.52 . | | − ∗100% | | | 5 |0.3|0227571. .322757| ∗100%.% . −
Representación de la función
Problema 1. Aplíquese el método de Punto Fijo para sistemas no lineales para aproximar el sistema
1, 2, −3) 0.1,0.1,0.1 ( ∥ 1 1, 2,∥3≤10 3 1 – 2 3 – 1/2 0, 23 11,, 22,, 33 812023 100.1 3/33 0.1.06 0,
de ecuaciones no lineales siguiente, iniciando el método en el punto inicial P 0 = e iterando hasta que = P i+1 - P i
12
Método del Punto Fijo para sistemas de ecuaciones no lineales.
SE FORMA EL SISTEMA DE ECUACIONE.
229
Métodos Numéricos Ing. William Caiza
1 3 – 2 3 1 2 0 3 1.06 00 1 1, 2, 3 208132 0.1 310 100 0.0.11 2[ 30] 0.1 l i m , , → →lim 1,2, … . , . 1 100 1 6 (21cos) 2 (21)(1(31) )1 [ 230] 19 1 (11)(21)3 1 1.06 0.1 20 3 (310 ) cos 1.060.1 − − =
12
El punto inicial en matriz es:
P 0=
=
El límite de P es: Si y solo si
Ecuaciones preparadas para el método del Punto Fijo.
Solución. Resolviendo por el método de punto fijo multivariable, con sustituciones simultaneas, primero se despejaran de las ecuaciones las variables de la siguiente forma: g1=x1= g2=x2= g3=x3=
Para verificar que el sistema converge se deberán cumplir con las siguientes condiciones en las formulas con derivadas parciales:
2 1 − 0 <1 20 18 1. 0 6 1 3 0201 −<1 13 18 cos 1.060<1
Luego de probar algunos valores se tomarán como valores iniciales:
0.1,0.1,0.1 1 0 ,2 0 , 3 0
230
Métodos Numéricos Ing. William Caiza
1ra iteración
13 cos 16 0.499996 1.060.10000028 19 1 20 − 103 0. 5 24101 60 0.009473 11 22 33 00.0617440.0004700.062213 11 22 33 0.00086400.0251170.025982 11 22 33 0.0000160.05345800.053473
2da iteración
Luego evaluando las derivadas parciales para determinar la convergencia del método:
Viendo estos valores se puede decir que el método convergerá, pero como el error es mayor a la tolerancia se deberá continuar con otra iteración. Viendo estos valores se puede decir que el método convergerá, pero como el error es mayor a la tolerancia se deberá continuar con otra iteración.
Table de datos
0 1 2 3 4 5
0.1 0.499983 0.499981 0.500000 0.500000 0.500000
La solución aproximada del sistema es:
0.1 0.020176 -0.000028 -0.000028 0.000000 0.000000
-0.1 -0.524101 -0.524106 -0.523598 -0.523598 -0.523599
0.50.23599 05
0.y05 z0. 5 23599 7.1107 231
57 10 7.110
0.745561 0.020204 0.000508 2.8
Métodos Numéricos Ing. William Caiza
232