Programas de métodos numericos: matlab.

Solo disponible en BuenasTareas
  • Páginas : 16 (3824 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de junio de 2011
Leer documento completo
Vista previa del texto
Método de la bisección: Algoritmo: Establecemos una función. Seleccionamos un intervalo [ao, bo]. Calculamos a Co=(ao+bo)/2. Evaluamos a Co y a [ao, bo] en la función. Condicionamos: Si f(Co)=0, f(Co) es la raíz de la función. Si f(ao) f(Co) < 0, la raíz esta en el intervalo [ao, Co]. Si f(ao) f(Co) > 0, la raíz esta en el intervalo [Co, bo]. Tomamos el subintervalo donde se encuentre la raíz,[a1, b1], entonces C1=(a1+b1)/2. Ejemplos: Sea f(x) = (x^10) —( 1), aproximar por el método de la bisección en [0, 1.3] para n=8. Para la primera iteración utilizamos la formula C=(a+b)/2, el valor de C, se evalúa en f(x) = x^10 — 1, de igual manera con a y con b. De acuerdo con las condiciones se elige al nuevo intervalo y se repite el procedimiento hasta 8 iteraciones. n 1 2 3 4 5 6 7 8 an 0 0.650.975 0.975 0.975 0.975 0.995313 0.995313 cn 0.65 0.975 1.1375 1.05625 1.015625 0.995313 1.005469 1.000391 bn 1.3 1.3 1.3 1.1375 1.05625 1.015625 1.015625 1.005469 f(an) f(cn) + + + + + f(bn) + + + + + + + +

Sea f(x)=(e^-x)+(4x^3)-(5), aproximar por el método de la bisección en [1,2] para n=7. n 1 2 3 4 5 6 7 Código: %Metodos para aprximar la raiz de un polinimio% disp('Metodo de la biseccion')clear syms x an 1 1 1 1 1 1.03125 1.046875 cn 2 1.5 1.25 1.125 1.0625 1.0625 1.0625 bn 1.5 1.25 1.125 1.0625 1.03125 1.046875 1.054688 f(an) f(cn) + + + + + f(bn) + + + + + + +

f=(x^4)-(2*x^3)-(4*x^2)+(4*x)+(4); ao=-2; bo=-1; n=15; for x=1:n co=((ao+bo)/2); y1=subs (f,ao); y2=subs (f,bo); y3=subs (f,co); if y3==0 disp('co es la raiz de la funcion') break elseif (y1*y3)0 disp('tomamos elintervalo [co,bo]') ao=co; end end co Método de la falsa posición Algoritmo: 1. Establecemos una función. 2. Seleccionamos un intervalo [ao, bo]. 3. Evaluamos a Co y ao, bo en la función. 4.Calculamos a Co=(ao*f(bo))+(bo*f(ao))/( f(bo)f(ao)). Condicionamos: Si f(Co)=0, f(Co) es la raíz de la función. Si f(ao) f(Co) < 0, la raíz esta en el intervalo [ao, Co]. Si f(ao) f(Co) > 0, la raíz esta en elintervalo [Co, bo]. 5.Tomamos el subintervalo donde se encuentre la raíz, [a1, b1], entonces C1=(a1*f(b1))+(b1*f(a1))/( f(b1)f(a1)). Ejemplo: Sea f(x)=(x^3)-(5x)+(1), aproximar por el método de la falsa posición en [-3,0] para n=15. n 1 2 3 4 5 an -3 -3 -3 -3 -3 cn -0.25 -0.7143 -1.346 -1.883 2.1666 bn 0 -0.25 -0.7143 -1.346 -1.883 f(an) f(cn) + + + + + f(bn) + + + + +

6 7 8 9 10 11 12 13 14 15Código:

-3 -3 -3 -3 -3 -3 -3 -3 -3 -3

-2.2760 -2.3129 -2.3247 -2.3284 -2.3295 -2.3299 -2.3300 -2.3300 -2.3301 -2.3301

2.1666 -2.2760 -2.3129 -2.3247 -2.3284 -2.3295 -2.3299 -2.3300 -2.3300 -2.3301

-

+ + + + + + + + + +

+ + + + + + + + + +

%Aproximaxion a la raiz de un polinomio por el metodo de la falsa posicion. disp('Metodo de la falsa posicion') clear syms x % sym f f=x^10-1ao=.6; bo=2; n=1500; for x=1:n y1=subs (f,ao); y2=subs (f,bo); co=((ao*y2)-(bo*y1))/(y2-y1); y3=subs (f,co); if y3==0 disp('co es la raiz de la funcion') elseif (y1*y3)0 disp('tomamos el intervalo [co,bo]') ao=co; bo=bo; end co end co Método de Newton Raphson Algoritmo: 1. 2. 3. 4. 5. Establecemos una función f(x). Calculamos su derivada f’(x). Establecemos un Xo. Evaluamos a Xo en la función y enla derivada. Calculamos a Xo+1=Xo-((f(x))/(f’(x))).

Ahora Xo es Xo+1, y así iterativamente hasta encontrar el valor de la raíz. Ejemplos: Sea f(x)=(e^x-1)-(5x^3) y su derivada f’(x)=(e^x-1)-(15x^2), para n=4 y una Xo=1. n 0 1 2 3 4 f(x) -4 -1.070682 -0.230598 -0.0251 -0.999545 f’(x) -1.4 -6.90159 -4.046242 -3.174613 -3.060792 Xo+1 0.714286 0.559150 0.502159 0.494222 0.494043

Seaf(x)=(2x^3)+(x^2)-(x)+(1), aproximar por el método de newton a la raíz de polinomio, con una Xo=-1.2, para n=3. n 0 1 2 Código:
%Metodo para aproximar la raiz de un polinomio clear disp('Metodo de Newton Raphson') syms x f=1*x^3+2*x^2-5*x+3; % f=(exp(-x)-x); g=diff(f) % xo=0; xo=.6 n=50; for x=1:n y1=subs (f,xo); y2=subs (g,xo); X=xo-((y1)/(y2)); xo=X; end X

f(x) 0.184 0.0077 -0.00001

f’(x) 5.24...
tracking img