UN POCO DE MATLAB

PROGRAMACION CON MATLAB
Hola a todos, en esta ocasion compartiremos algunos ejercicios programados en Matlab, por encargatura del Ing. Hugo Hespetia H.

Tambien hay que resaltar que los trabajos publicados forman parte de una constante preocupacion de los docentes por querer dar lo mejor para con sus alumnos. Tambien les estaremos posteando los ejercicios de asp que si estan bravasos, que al pie les dejo el link para que lo chequeen.

♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ @ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
CONTENIDO:
 PRIMER TRABAJO "CAMBIO DE BASES"
CAMBIO DE BASES EN MATLAB:

Este programa de Matlab nos permitira convertir números enteros a decimales, de decimales a binario y a otra base. Como tenemos a continuacion los siguientes cambios de bases: 
  
Cambio de binario a octal.
Se divide el número binario de 12 dígitos en grupos de tres bits consecutivos cada uno, y se escriben estos grupos sobre los dígitos que corresponden al número octal:
100 011 010 001
  4    3    2    1
Cambio de binario a hexadecimal.
Se divide el número binario de 12 dígitos en grupos de cuatro bits consecutivos cada uno y se escriben estos grupos sobre los dígitos que corresponden al número hexadecimal:
1000 1101 0001
   8      D     1
Conversión de octal a binario.
Por ejemplo, el número octal 653 se convierte a binario al escribir el 6 como su equivalente binario de 3 dígitos 011 para crear el número binario de 9 dígitos 110101011.
Conversión de hexadecimal a binario.
El número hexadecimal FAD5 se convierte a binario al escribir la F como su equivalente binario de 4 dígitos 1111, la A como su equivalente binario de 4 dígitos 1111, la A como su equivalente binario de 4 1010, la D como su equivalente binario de 4 dígitos 1101, y el 5 como su equivalente binario de 4 dígitos 0101 para formar el número de 16 dígitos:
1111101011010101.
Conversión de decimal a otra base.
Se multiplica el equivalente decimal de cada dígito por su valor posicional, y se suman estos productos.
32             16             8             4             2             1
  1             1              0             1             0             1
1*32        1*16         0*8          1*4          0*2           1*1
32     +     16     +     0     +       4    +       0      +      1 = 53


♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ @ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦
SEGUNDO TRABAJO


MÉTODO DE NEWTON - RAPHSON
Supongamos que tenemos la aproximación a la raíz de ,
Trazamos la recta tangente a la curva en el punto ; ésta cruza al eje en un punto que será nuestra siguiente aproximación a la raíz .
Para calcular el punto , calculamos primero la ecuación de la recta tangente. Sabemos que tiene pendiente

Y por lo tanto la ecuación de la recta tangente es:

Hacemos :

Y despejamos :


Que es la fómula iterativa de Newton-Raphson para calcular la siguiente aproximación:

, si
Note que el método de Newton-Raphson no trabaja con intervalos donde nos asegure que encontraremos la raíz, y de hecho no tenemos ninguna garantía de que nos aproximaremos a dicha raíz. Desde luego, existen ejemplos donde este método no converge a la raíz, en cuyo caso se dice que el método diverge. Sin embargo, en los casos donde si converge a la raíz lo hace con una rapidez impresionante, por lo cual es uno de los métodos preferidos por excelencia.
También observe que en el caso de que , el método no se puede aplicar. De hecho, vemos geométricamente que esto significa que la recta tangente es horizontal y por lo tanto no intersecta al eje en ningún punto, a menos que coincida con éste, en cuyo caso mismo es una raíz de !

Ejemplo 1
Usar el método de Newton-Raphson, para aproximar la raíz de , comenzando con . y hasta que
Solución
En este caso, tenemos que

De aquí tenemos que:

Comenzamos con y obtenemos:

En este caso, el error aproximado es,

Continuamos el proceso hasta reducir el error aproximado hasta donde se pidió.
Resumimos los resultados en la siguiente tabla:

Aprox. a la raíz Error aprox.
1
1.268941421 21.19%
1.309108403 3.06%
1.309799389 0.052%
De lo cual concluímos que , la cual es correcta en todos sus dígitos.
Veremos a continuación un ejemplo del metódo de Newton Raphson, con la siguiente ecuación:


X ^ 3 + X + 1 6  =  0




# Fxn Dfxn Nuevo Xm
1 18 4 -3.5
2 12.5 37.75 -3.8311258278146
3 -44.062571359569 45.032575325644 -2.8526658787457
4 -10.066812462104 25.41310784728 -2.4565391034374
5 -1.2807315732707 19.103753100152 -2.3894982677149
6 -0.03282123757409 18.129105914238 -2.3876878509338


Hemos terminado de analizar el método de la Newton Rapshon, en este ejemplo con un error de 0.0001; se encuentra la última raiz(Xm): -2.3876878509338 con 6 iteracciones.


♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ @ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ 

MÉTODO DE NEWTON - RAPHSON MEJORADO
Una raíz  múltiple corresponde a un punto donde una función es tangente al eje x. Por ejemplo, una raíz doble resulta de

f(x) = (x-3)(x-1)(x-1)


multiplicando términos este polinomio luce como

f(x) = x3 - 5x2 + 7x – 3

En la siguiente figura podemos ver como la función toca tangencialmente el eje de la x, en el punto donde existe la raíz doble.




De la figura podemos ver algunos de los problemas asociados con raíces múltiples, dichos problemas son:

Dado que la función no cambia de signo, utilizar métodos basados en intervalos, como son el método de bisecciones, regula Falsi, etc.  Otro problema es que cerca de la solución, la derivada tiende a cero, lo cual provoca que en el algoritmo de Newton-Raphson tenga problemas de convergencia al tener una división por cero.
Ralston y Rabinowitz (1978) proponen que se haga un pequeño cambio en la formulación para que retorne la convergencia, así la formulación para el método de Newton-Raphson es

Sustituyendo esta, tenemos la formulación final del Método de Newton-Raphson modificado.

 
Ejemplo.

Hacer una comparación entre el método de Newton-Raphson y el método de Newton-Raphson modificado, para encontrar las raíces del polinomio f(x) = x3 - 5x2 + 7x – 3.

Para nuestro calculo requerimos de:

f(x) = x3 - 5x2 + 7x – 3
f’(x) =3 x2 - 10x + 7
f’’(x) = 6x –10
Primeramente resolvemos con x0 = 0.
Newton-Raphson


Newton-Raphson modificado
k
xk
f(xk)

k
xk
f(xk)
0
0
-3

0
0
-3
1
0.42857143
-0.83965015

1
1.10526316
-0.02099431
2
0.68571429
-0.22859475

2
1.00308166
-1.8964E-05
3
0.8328654
-0.06053668

3
1.00000238
-1.1343E-11
4
0.91332989
-0.01567446




5
0.95578329
-0.00399668




6
0.9776551
-0.00100975




7
0.98876617
-2.54E-04




8
0.99436744
-6.36E-05




9
0.99717977
-1.59E-05




10
0.99858889
-3.99E-06




11
0.9992942
-9.97E-07




12
0.99964704
-2.49E-07




13
0.9998235
-6.23E-08




14
0.99991175
-1.56E-08




15
0.99995587
-3.89E-09




16
0.99997794
-9.74E-10




17
0.99998897
-2.43E-10




18
0.99999448
-6.09E-11





La solución con x0 = 4
Newton-Raphson


Newton-Raphson modificado
k
xk
f(xk)

k
xk
f(xk)
0
4
9

0
4
9
1
3.4
2.304

1
2.63636364
-0.97370398
2
3.1
0.441

2
2.82022472
-0.5956347
3
3.00869565
0.03508572

3
2.96172821
-0.1472843
4
3.00007464
2.99E-04

4
2.99847872
-6.08E-03
5
3.00000001
2.23E-08

5
2.99999768
-9.27E-06
6
3
-1.07E-14

6
3
-2.15E-11

Note que cuando existe una raíz múltiple (en el caso de x=1), el algoritmo de Newton Raphson modificado, tiene mejor comportamiento, que cuando no es el caso de raíz múltiple (x=3).
♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ @ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ 
CAMBIO DE BASES EN MATLAB:
Ver Algoritmo: DECIMAL
Ver Algoritmo: INGRESO DE DATOS
Ver Algoritmo:VALIACIÓN
MÉTODO DE DE LA REGLA FALSA EN MATLAB
Ejermplo
Algoritmo: VER IMAGEN:
Funcion: VER IMAGEN:
Resultado:  VER IMAGEN
MÉTODO DE NEWTON - RAPHSON EN MATLAB
Ejemplo en matlab:
Algoritmo: VER IMAGEN:
Ver: FUNCION
Ver: RESULTADO
MÉTODO DE LA BISECCION EN MATLAB
Ejemplo en matlab:
Algoritmo: VER IMAGEN:
Ver: FUNCION
Ver: RESULTADO
MÉTODO DE PUNTO FIJO EN MATLAB
Ejemplo en matlab:
Algoritmo: VER IMAGEN
Ver: FUNCION
Ver: RESULTADO
MÉTODO DE LA GRANGE
♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ @ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

2 comentarios:

Abhadd dijo...

Esperamos novedades de Ubuntu

Unknown dijo...

Asu que interesante, me hubiera gustado llevar curso con eling.