Ecuaciones no Lineales con Matlab

12
1 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS MÉTODOS NU MÉRICOS CON SOFTWARE MATLAB ECUACIONES NO LINEALES MÉTODOS ITERATIVOS: MÉTODO GRÁFICO Y MÉTODO DE BISECCIÓN RAÍCES DE ECUACIONES NO LINEALES Las soluciones de una ecuación f(x)=0, se llaman ceros o raíces de f(x). En esta sesión estudiaremos el método gráfico y el método de Bisección para obtener las raíces reales de ecuaciones no lineales. El problema general es que dada una función real  IR  IR   f   : , encontrar los valores de x para los cuales f(x)=0 . Es decir solucionar ecuaciones trascendentales como por ejemplo: 1) 0 1 2 ) ( 3  x e  x   f   x  2) 0 ) tan( 1 ) (  2  x  x  x  g  3) ) ( ) l n( ) (  2  x  sen  x  x  x = 0 Definición.- (Cero de una función) Supongamos que f(x) es una función continua. Cualquier número r tal que f(r)=0 se llama raíz de la ecuación f(x)=0; también se dice que r es un cero de la función f(x). MÉTODO GRÁFICO Este método nos permite estimar los valores de las raíces. PRIMERA FORMA Consiste en trazar las gráfica de la función asociada f donde puedan reconocerse si existen valores  IR r  tal que 0 ) (r   f   Ejemplo: Hallar los ceros de la función real: 2 2 ) (  2  sen x e  x  x  x   f   x  Resolución Del gráfico se observa que hay tres cortes del eje X con la función f. Esto significa que la ecuación f(x)=0 tiene tres raíces. Si tomamos la función f(x)=0, es decir 0 2 2 ) (  2  senx e  x  x  x   f   x  y la graficamos, obtendremos las tres aproximaciones. i) Si f(x)=0, entonces 0 2 2 2  senx e  x  x  x  %Ploteo de f con MATLAB x=-3:0.05:4; y=x.^2-2*x+exp(x).*sin(x)-2; plot(x,y) xlabel('EJE X') ylabel('EJE Y') title('f(x)=x.^2-2*x+exp(x).*sin(x)-2') grid on gtext('raiz 1') gtext('raiz 2') gtext('raiz 3') Las raíces se localizan en los intervalos: ] 0 ; 1 [ 1  I  ; ] 2 ; 1 [ 2  I ; ] 4 ; 3 [ 1  I  Raíces aproximadas de la ecuación f(x)=0 son: Para el intervalo ] 0 ; 1 [ 1  I  la aproximación es Raiz1=-0.8224 Para el intervalo ] 2 ; 1 [ 2  I  la aproximación es Raiz2=1.1707 Para el intervalo  ] 4 ; 3 [ 1  I  la aproximación es Raiz 3=3.218

description

Ecuaciones no lineales con el método de Bisección, la regla falsa y la secante usando el Software Matlab.

Transcript of Ecuaciones no Lineales con Matlab

Page 1: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 1/12

1 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

MÉTODOS NUMÉRICOS CON SOFTWARE MATLABECUACIONES NO LINEALES

MÉTODOS ITERATIVOS: MÉTODO GRÁFICO Y  MÉTODO DE BISECCIÓNRAÍCES DE ECUACIONES NO LINEALESLas soluciones de una ecuación f(x)=0, se llaman ceros o raíces de f(x). En esta sesión

estudiaremos el método gráfico y el método de Bisección para obtener las raíces reales deecuaciones no lineales.El problema general es que dada una función real  IR IR  f    : , encontrar los valores de x paralos cuales f(x)=0. Es decir solucionar ecuaciones trascendentales como por ejemplo:

1) 012)(3

 xe x  f    x   2) 0)tan(1)(

  2 x x x g    3) )()ln()(

  2 x sen x x x = 0

Definición.- (Cero de una función)Supongamos que f(x) es una función continua. Cualquier número r tal que f(r)=0 se llama raízde la ecuación f(x)=0; también se dice que r es un cero de la función f(x).

MÉTODO GRÁFICOEste método nos permite estimar los valores de las raíces.

PRIMERA FORMAConsiste en trazar las gráfica de la función asociada f donde puedan reconocerse si existenvalores  IRr   tal que 0)(r   f    

Ejemplo: Hallar los ceros de la función real: 22)(   2  senxe x x x  f     x  Resolución

Del gráfico se observa que hay tres cortes del eje X con la función f. Esto significa que laecuación f(x)=0 tiene tres raíces.

Si tomamos la función f(x)=0, es decir 022)(  2

 senxe x x x  f    x

  y la graficamos,obtendremos las tres aproximaciones.i) Si f(x)=0, entonces 0222  senxe x x   x  

%Ploteo de f con MATLABx=-3:0.05:4;y=x.^2-2*x+exp(x).*sin(x)-2;plot(x,y)xlabel('EJE X')ylabel('EJE Y')title('f(x)=x.^2-2*x+exp(x).*sin(x)-2')grid ongtext('raiz 1')gtext('raiz 2')gtext('raiz 3')

Las raíces se localizan en los intervalos: ]0;1[1 I    ; ]2;1[2 I  ; ]4;3[1 I   Raíces aproximadas de la ecuación f(x)=0 son:Para el intervalo ]0;1[

1 I   la aproximación es Raiz1=-0.8224

Para el intervalo ]2;1[2 I   la aproximación es Raiz2=1.1707

Para el intervalo   ]4;3[1 I    la aproximación es Raiz3=3.218

Page 2: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 2/12

2 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

SEGUNDA FORMAConsiste en la transformar la función asociada f  en la forma )()( 21   x  f   x  f   , luego f 1 y f 2 segrafican en el mismo sistema de coordenadas donde las raíces de f son las intersecciones delas gráficas.Ejemplo: Estimar los valores de las raíces de 022)(

  2 senxe x x x  f  

  x  Resolución

i) Descomponemos la función en dos funciones f 1 y f 

2 haciendo 022

2 senxe x x

  x ,entonces

222)(.   x x x sen x , donde por ejemplo obtenemos )(.1   x sene  f  

  x   ; 2

2   22   x x  f   .

ii) Graficamos las funciones f 1 y f 2 observando del gráfico la intersección de f 1 y f 2 la cual nosdará

las soluciones aproximadas de las tres raíces.

%gráfica con MATLABx=-2:0.05:4;f1=exp(x).*sin(x);

f2=2+2*x-x.^2;plot(x,f1,'b',x,f2,'r')xlabel('EJE X')ylabel('EJE Y')title('MÈTODO GRÀFICO')grid ongtext('raiz 1')gtext('raiz 2')gtext('raiz 3')gtext('f1=exp(x).*sin(x)')gtext('f2=2+2*x-x.^2')

Raíces aproximadas de la ecuación f(x)=0Raiz1=-0.8224Raiz2=1.1707Raiz3=3.218

TERCERA FORMAMÉTODO DE BISECCIÓN

Es un método de localización que consiste en hallar ceros de funciones continuas. Debemosempezar con un intervalo de partida [a ; b] en el que f(a) y f(b) tengan distinto signo. El proceso

consiste en tomar el punto medio del intervalo2

bac  y luego analizar las tres posibilidades

que pueden darse:1) Si f(a) y f(c) tienen signos opuestos entonces hay un cero en [a ; c]2) Si f(c) y f(b) tienen signos opuestos entonces hay un cero en [c ; b]3) Si f(c)=0 entonces c es un cero

PROPOSICIÓN (Existencia)Sea  IR IR  f    : , una función continua en [a ; b], si 0)().(   b  f  a  f   , entonces f posee al menos

una raíz en [a ; b]. Es decir 0)(],[   r   f  quetal bar   

Page 3: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 3/12

3 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

LOCALIZACIÓN Problema. Determinar la solución a la ecuación ba x x  f     ;;0)(   …… (1) 

Consideremos la hipótesis1

 H  :

“La función f es continua en ];[ 00   ba   y 0)()( 00   b  f  a  f     ” 

La hipótesis1

 H   verificada, el método considera como aproximación de la solución el punto

medio del intervalo de localización2

00   bac , luego se toma la siguiente decisión:

1.- Si 0)()( 0   c  f  a  f   , el nuevo intervalo de localización es ];[ 0   ca en caso contrario será el

intervalo ];[ 0bc , efectuando este razonamiento en forma reiterada se obtiene la sucesión }{ i x  

que converge a * x  solución de la ecuación (1) de la forma:

ITERACIONES;2;1;0;];[

*iba x ii  

2

iii

ba x   ( punto medio )

ii

ii

ii xb

aatiene se x  f  a  f  

1

1;0)().(  

ii

ii

iibb

 xatiene se x  f  a  f  

1

1;0)().(  

Gráficamente el método de Bisección significa:

El tamaño del intervalo después de n pasos de iteración esn

ab

2

00  , donde 0a   y0

b   son los

valores iniciales de a y b, de modo que el numerador es el tamaño del intervalo inicial.Si la tolerancia del error es , el número de pasos de iteración necesarios es el entero n más

pequeño que satisfacen

ab

2

00  , o en forma equivalente)2(

00

 Log 

ab Log 

n  

donde es la tolerancia.

x

-10

20

10

-20

30

f(x)

a c

 b23

raíz  x*

 f(a)

f(b)

f(c)

1 7 65 49 8

Page 4: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 4/12

4 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

ALGORITMO DE LA BISECCIÓNInput a , b , M , ,

)(a  f  u  )(b  f  v  abc  

Output vuba   ,,,  If signo (u) = signo (v) then stop

for k=1,2,3,… M do2/ee  eac  )(c  f  w  

output k, c , w , eif e   or w   then stop

if signo(w) signo(u) thencb  wv  

elseca  wu  

end ifend

%PROGRAMA BISECCIÓNfunction Biseccionfprintf ('\n');nombre_f=input(' Ingrese la función asociada f(x)=','s');a=input(' ingrese el límite inferior : ');b=input(' ingrese el límite superior : ');fprintf ('\n');fprintf (' it a b aprox error \n');i=1; e=1; r=0;while e>=3E-6 & i<=15

va=r;r=(a+b)/2;x=a ; fa=eval(nombre_f);x=b ; fb=eval(nombre_f);x=r ; fr=eval(nombre_f);fprintf ('%3.0f %10.6f %10.6f %10.6f',i,a,b,r);

if fa*fr<=0b=r; e=abs((r-va)/r);fprintf('%10.6f\n',e);

elsea=r; e=abs((r-va)/r);fprintf('%10.6f\n',e);

endi=i+1;

endfprintf('\n');fprintf('La raíz es :%10.9f\n',r);

Page 5: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 5/12

5 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

COMPILACIÓN DEL PROGRAMA>> Biseccion

Ingrese la función asociada f(x)=x.^2-2*x+exp(x).*sin(x)-2ingrese el límite inferior : 1ingrese el límite superior : 2

it a b aprox error1 1.000000 2.000000 1.500000 1.000000

2 1.000000 1.500000 1.250000 0.2000003 1.000000 1.250000 1.125000 0.1111114 1.125000 1.250000 1.187500 0.0526325 1.125000 1.187500 1.156250 0.0270276 1.156250 1.187500 1.171875 0.0133337 1.156250 1.171875 1.164063 0.0067118 1.164063 1.171875 1.167969 0.0033449 1.167969 1.171875 1.169922 0.00166910 1.169922 1.171875 1.170898 0.00083411 1.170898 1.171875 1.171387 0.00041712 1.170898 1.171387 1.171143 0.000208

13 1.170898 1.171143 1.171021 0.00010414 1.170898 1.171021 1.170959 0.000052

La raíz es :1.170959473

En forma análoga la raíz 2 tenemos:

>> BiseccionIngrese la función asociada f(x)=x.^2-2*x+exp(x).*sin(x)-2

ingrese el límite inferior : -1ingrese el límite superior : 0

it a b aprox error1 -1.000000 0.000000 -0.500000 1.0000002 -1.000000 -0.500000 -0.750000 0.3333333 -1.000000 -0.750000 -0.875000 0.1428574 -0.875000 -0.750000 -0.812500 0.0769235 -0.875000 -0.812500 -0.843750 0.0370376 -0.843750 -0.812500 -0.828125 0.0188687 -0.828125 -0.812500 -0.820313 0.0095248 -0.828125 -0.820313 -0.824219 0.0047399 -0.824219 -0.820313 -0.822266 0.00237510 -0.824219 -0.822266 -0.823242 0.00118611 -0.823242 -0.822266 -0.822754 0.00059312 -0.822754 -0.822266 -0.822510 0.00029713 -0.822754 -0.822510 -0.822632 0.00014814 -0.822632 -0.822510 -0.822571 0.000074

La raíz es: -0.822570801

Page 6: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 6/12

6 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

En forma análoga la raíz3 tenemos:Biseccion

Ingrese la función asociada f(x)=x.^2-2*x+exp(x).*sin(x)-2ingrese el límite inferior : 3ingrese el límite superior : 4

it a b aprox error

1 3.000000 4.000000 3.500000 1.0000002 3.000000 3.500000 3.250000 0.0769233 3.000000 3.250000 3.125000 0.0400004 3.125000 3.250000 3.187500 0.0196085 3.187500 3.250000 3.218750 0.0097096 3.187500 3.218750 3.203125 0.0048787 3.203125 3.218750 3.210938 0.0024338 3.210938 3.218750 3.214844 0.0012159 3.214844 3.218750 3.216797 0.00060710 3.216797 3.218750 3.217773 0.00030311 3.217773 3.218750 3.218262 0.000152

12 3.218262 3.218750 3.218506 0.00007613 3.218506 3.218750 3.218628 0.00003814 3.218506 3.218628 3.218567 0.000019

La raíz es: 3.218566895

Práctica dirigida con MATLABI. Utilice el método gráfico para hallar las raíces de las funciones:

1.- 0)(  2   x

e x x  f     2.- 0)cos()(   x x x  f    

3.- 0)cos(2)()(   x x sen x  f     4.- 0)1()cos()(   12 x x x  f    

5.- 0)ln()2()(   2  x x x  f     6.- 0)2()(4)(   22  senx x xsen x x  f    7.- 012.0)log()(

  2 x x x  f     8.- 06cos22)(   xe x  f  

  x x  

II. Utilice el programa Bisección para hallar los ceros de las siguientes funciones:

1) 5)(   3 xe x  f     x   2)  Lnxe x senx x  f     xcos)(  

3) 5)(   33  xe x sen x  f     x   4) )log(32))3(tan()(   52 senx x x sen x  f    

5) 62cos)(   3  x x x senx x  f     6) )).cos(tan()(   x x  f    TAREA DOMICILIARIAUtilice el método gráfico y el método de Bisección para hallar los ceros de las siguientesfunciones:1) 2

1log210)(   x x x x  f     2) 1)()(   x x sen x g   

3) 42)()(   x x Ln x  f     4) 12)(3

 xe x   x  

5) 3log)(   3cos  x xe x  f     x senx   6) 2)(   xe x  x  

7) 4ln)(  3cos

 x xe x  f    x senx   8) 22

)2()(4)(   senx x xsen x x  

9) )()(   1  x sen x x x  f     10) 22 )cos2()cos(4)(   x x x x x g   

11) 12.0)log()(  2

 x x xh   12) 6cos22)(   xe xr   x x  

13) 0)ln()2()(   2  x x x  f     14) 604.0)9.0(

1

01.0)3.0(

1)(

22  x x x  f    

Page 7: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 7/12

7 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

MÉTODOS NUMÉRICOS CON SOFTWARE MATLABECUACIONES NO LINEALES

MÉTODO DE RÉGULA FALSI (FALSA POSICIÓN)Una de las razones de su introducción es que la velocidad de convergencia del método de Bisección es bastante baja. Supongamos que f(a) y f(b) tienen distinto signo. En el método de bisección se usa el punto medio delintervalo [a; b] para llevar a cabo el siguiente paso. Suele conseguirse una aproximación mejor usando el punto (c ;0) en el que la recta secante L que pasa por los puntos [a; f(a)] y [b; f(b)] cruza el eje OX.

Gráficamente el método Régula Falsi significa tomar rectas secantes en forma sucesiva.

ALGORITMO DEL MÉTODO RÉGULA FALSIIf f(a)*f(b) <=0 then

RepeatCalcular cIf f(a)*f(c)<=0 then

 b=celse

a=c

until )(c  f    Error

retorno raíz es celsecambiar límites

end Régula Falsi

E-1) Calcular los ceros de la función )tan(1)(   2  x x x  f     ; ]5.1;5.0[ x  

Resolucióni) Ploteando la curvax=0.5:0.001:1.5;y=sqrt(x.^2+1)-tan(x); plot(x,y,'k')

grid on

zoom onxlabel('EJE DE ABSCISAS')ylabel('EJE DE ORDENADAS')

;2;1;0;];[* iba x ii 

)()(

))((

ii

iiiii

a  f  b  f  

abb  f  b x   ó

)()(

))((

ii

iiiii

a  f  b  f  

aba  f  a x  

Si iiiiii   xbaatiene se x  f  a  f   11   ;;0)().(  

Siiiiiii   bb xatiene se x  f  a  f   11   ;;0)().(  

Caso contrario i x x* (solución)

0a

  0b

 0 x  

* x  [   )(; 00   b  f  b ]

 L 

2 x

 

[   )(; 00   a  f  a

 

[   )(; 00   x  f   x

 

3 x

 

5 x

  4 x

 

1 x

 

 x

 

y

Page 8: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 8/12

8 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

title('Gráfica para Régula Falsi')

% Compilar lo con r_falsaIngrese la función asociada f(x)=sqrt(x.^2+1)-tan(x)ingrese el límite inferior : 0.8

ingrese el límite superior : 1.0%Resultadosit a b aprox error

1 0.800000 1.000000 0.927346 1.0000002 0.927346 1.000000 0.940046 0.0135103 0.940046 1.000000 0.941320 0.0013534 0.941320 1.000000 0.941447 0.0001365 0.941447 1.000000 0.941460 0.0000146 0.941460 1.000000 0.941461 0.000001

La raíz es :0.941461381

%PROGRAMA REGULA FALSI PARA HALLAR CEROS DE FUNCIONESfunction r_falsafprintf ('\n');nombre_f=input(' Ingrese la función asociada f(x)=','s');a=input(' ingrese el límite inferior : '); b=input(' ingrese el límite superior : ');fprintf ('\n');fprintf (' it a b aprox error \n')i=1; e=1; r=0;while e>=3E-6 & i<=18

va=r;x=a ; fa=eval(nombre_f);x=b ; fb=eval(nombre_f);r=a-(b-a)*fa/(fb-fa);x=r; fr=eval(nombre_f);

fprintf ('%3.0f %10.6f %10.6f %10.6f',i,a,b,r);if fa*fr<=0 b=r; e=abs((r-va)/r);fprintf('%10.6f\n',e);

elsea=r; e=abs((r-va)/r);

fprintf('%10.6f\n',e);endi=i+1;

endfprintf('La raíz es :%10.9f\n',r);

I.-PRÁCTICA DIRIGIDA DE LABORATORIO CON “MATLAB” Encuentre los ceros de las funciones utilizando el método de Régula Falsi de las siguientes funciones:

1.-  xe x  f     x)(   2.-2

.)(   3   xe x x g    3.- xe x x   2.)(   4.-

 x

 Lnx x

2)(

)(  

5.- 3)(   12

 x senx x x  f     6.- )()(

  3

2

1  x sene x g    x  ; x>0 7.-

2)1log()(   x x x  

8.- 403)(  12

 x x x x   9.- xe x sen xh

10

3)()(   10.-  x x x x  f   x

  logcos)(   13 

II.- TAREAUtilice el método de Régula Falsi para hallar los ceros de las siguientes funciones:

Page 9: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 9/12

9 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

1.- xe x x x x  f     451.0)(   23

  2.- 12.0)log()(  2

 x x x g   

3.-  xe x senx x   x lncos)(   4.- 1)cosh().cos()(   x x x   ; donde cosh(x)=coseno hiperbólico

5.- x x

e x)(   6.- x

e x)(   7.2

)( x

 Lnx x  

Page 10: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 10/12

10 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

MÉTODOS NUMÉRICOS CON SOFTWARE MATLABECUACIONES NO LINEALES

MÉTODO DE LA SECANTE.-El método de la SECANTE es una variante de la iteración de Newton. Dados dos aproximaciones

1i x   y

i x  interceptando la recta que pasa por los puntos ])(;[

11   ii

  x  f   x   y ])(;[ii

  x  f   x  con el eje de abscisas,

como el método de la Régula falsi, determinamos el nuevo valor aproximado dei

 x  obteniendo:

)()(

).().(

1

111

ii

iiiii

 x  f   x  f  

 x x  f   x x  f   x   ……………………………(I) 

A diferencia del método anterior no se efectúa el test de decisión para la localización de la raíz, para

aplicar (I) se hace a x0 ; b x

La relación (I) se puede escribir como:)()(

)).((

1

11

ii

iiiii

 x  f   x  f  

 x x x  f   x x  

Otras equivalencias tenemos:

(A)

4;3;2;1;0,)()()()(

1

1112   i

 x  f   x  f   x  f   x x x x

ii

iiiii  

(B) 4;3;2;1;0,)()(

)()(

1

1

2   i x  f   x  f  

 x  f   x x x x

ii

iii

ii  

(C) 4;3;2;1;0,)()(

)(

1

12   i

 x x

 x  f   x  f  

 x  f   x x

ii

ii

iii  

(D) 4;3;2;1;0,)()(

)()(

1

11

2   i x  f   x  f  

 x  f   x x  f   x x

ii

iiii

i LA MAS RECOMENDADA A USAR

ALGORITMO DEL MÉTODO DE LA SECANTESecante

repeat

calcular x

21   x x   ;

 x x2  

until  Error  x x 21  

retorno raíz es xend secante

PLOTEO DE LA CURVA  xe x x x x  f     451.0)(   23   en ]5;5[ x  

x=-5:0.05:5;f=0.1*x.^3-5*x.^2-x+4+exp(-x);plot(x,f)grid onxlabel('ABSCISAS')ylabel('ORDENADAS')title('METODO DE LA SECANTE')gtext('f=0.1*x.^3-5*x.^2-x+4+exp(-x)')gtext('1RAIZ')gtext('2RAIZ')

Page 11: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 11/12

11 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

%PROGRAMA SECANTE------------------------------------------------------------------------------------------------------------------function secante2007fprintf ('\n');nombre_f=input(' Ingrese la función asociada f(x)=','s');x0=input(' ingrese el 1er punto inicio x0= ');x1=input(' ingrese el 2do punto inicio x1= ');

fprintf ('\n');fprintf (' it x0 x1 aprox error \n')i=1; e=1; r=0;while e>=3E-6 & i<=18

va=r;x=x0 ; fx0=eval(nombre_f);x=x1 ; fx1=eval(nombre_f);%r=x1-(x1-x0)*fx1/(fx1-fx0);r=(x0.*fx1-x1.*fx0)./(fx1-fx0);x=r; fr=eval(nombre_f);fprintf ('%3.0f %10.6f %10.6f %10.6f',i,x0,x1,r);

if fx0*fr<=0x1=r; e=abs((r-va)/r);fprintf('%10.6f\n',e);

elsex0=r; e=abs((r-va)/r);fprintf('%10.6f\n',e);

endi=i+1;

endfprintf('La raíz es :%10.9f\n',r);------------------------------------------------------------------------------------------------------------------

COMPILACIÓN DEL PROGRAMA>> secante2007

Ingrese la función asociada f(x)=0.1*x.^3-5*x.^2-x+4+exp(-x)ingrese el 1er punto inicio x0= 0ingrese el 2do punto inicio x1= 1it x0 x1 aprox error1 0.000000 1.000000 0.765448 1.0000002 0.765448 1.000000 0.846891 0.0961663 0.846891 1.000000 0.852334 0.0063864 0.852334 1.000000 0.852684 0.0004105 0.852684 1.000000 0.852706 0.0000266 0.852706 1.000000 0.852708 0.000002

La raíz es :0.852707668

I.-PRÁCTICA DIRIGIDA DE LABORATORIO CON “MATLAB” Encuentre los ceros de las funciones utilizando el método de la Secante para las siguientes funciones:

1.- )()2()(   23  xCos x x xSen x  f     2.- 2)5())(()(   xe xSenCose x g 

  x xSen  

3.- 2)(   xe x  f    x   4.- 1)cosh().cos()(   x x x g    5.-  x

e x x x x   485)(  23  

6.- 2)tan(.)(   x x x   7.- )cos()(2

 xe xh  x   8.- 2)3(

)2(2)(   x x sene xh  x x sen  

Page 12: Ecuaciones no Lineales con Matlab

7/21/2019 Ecuaciones no Lineales con Matlab

http://slidepdf.com/reader/full/ecuaciones-no-lineales-con-matlab 12/12

12 DR. SORIA QUIJAITE JUAN JESÚS MÉTODOS NUMÉRICOS 

TAREAI. Utilice el método de la Secante para hallar los ceros de las siguientes funciones:

1.- 1)tan(.)(   x x x  f     2.- )()()(   x sen x senh x g    3.-2

485)(   23   xe x x x x  

4.- 23)(   2   xe x x x   5.- 42)()()(   2 xTanxSenSenxTan x