33% encontró este documento útil (3 votos)
897 vistas31 páginas

Raíces de funciones mediante métodos numéricos

Este documento presenta varios ejercicios numéricos para practicar diferentes métodos para encontrar raíces de funciones, como el método de Newton-Raphson, la secante, la bisección y la regla falsa. Se piden calcular raíces de funciones dadas, comparar los resultados de diferentes métodos, y desarrollar un programa en Java para implementar el método de Newton-Raphson.

Cargado por

Fabro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
33% encontró este documento útil (3 votos)
897 vistas31 páginas

Raíces de funciones mediante métodos numéricos

Este documento presenta varios ejercicios numéricos para practicar diferentes métodos para encontrar raíces de funciones, como el método de Newton-Raphson, la secante, la bisección y la regla falsa. Se piden calcular raíces de funciones dadas, comparar los resultados de diferentes métodos, y desarrollar un programa en Java para implementar el método de Newton-Raphson.

Cargado por

Fabro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

DEBER MTODOS NUMRICOS

5.1 sese el mtodo de Newton-Raphson para determinar la raz


mayor de:
f ( x )=0.875 x 2+1.75 x +2.625
x i=3.1

. Realcese los clculos

s =0.01

. Tambin verifquese los

Emplese un valor inicial de


hasta que

sea menor del

errores en la respuesta final.


2
Sea la funcin f ( x )=0.875 x +1.75 x +2.625

tenemos que:

En la grfica podemos ver que la funcin corta en dos partes al eje x por
lo que tendramos dos races, pero el problema solo nos pide la raz
mayor.
La frmula que vamos a utilizar para calcular el valor de las
aproximaciones ser:

Siendo la funcin
inicial

x i+1=x i

f ( xi )
f '( xi )

f ' ( x )=1.75 x +1.75

la primera derivada de la funcin

Solucin: El valor de la raz mayor es

x i=3

ya que el error porcentual

es inferior al error pedido al principio.


12
Sea f ( 3 ) =1.75 x 10
5.2 Determnese las races reales de:
f ( x )=2.1+6.21 x 3.9 x 2 +0.667 x 3
a) Grficamente
b) Usando el mtodo de Newton-Raphson hasta que
Sea la funcin

f ( x )=2.1+6.21 x 3.9 x +0.667 x

s =0.01

tenemos que:

En la grfica podemos observar que tenemos que la funcin corta al eje


x en tres ocasiones por lo que vamos a tener 3 valores de races.
La primera derivada de la funcin es

f ' (x )=6.217.8 x +2.001 x 2

Xi = 0.5

Xi = 2

Xi = 3

Los valores de Xi se han tomado segn se acercan a la raz.


Soluciones:
x i=0.46263285
Raz 1:

f ( 0.46263285 ) =9,7744 x 1010

Raz 2:

x i=1.98364208

f ( 1.98364208 )=2.6198 x 107

Raz 3:

x i=3.43078685

f ( 3.43078685 )=3,7994 x 107

5.3 Emplese el mtodo de Newton-Raphson para determinar las


races reales de:
2
3
4
5
f ( x )=23.33+79.35 x88.09 x + 41.6 x 8.68 x +0.658 x Usando el valor
inicial de a)

x i=3.5

; b)

x i=4.0

y c)

x i=4.5

. Prubense y sense

los mtodos grficos para explicar cualquier peculiaridad en los


resultados.

Como nos muestra la figura la grfica corta al eje x en 5 puntos,


resultndonos 5 races, pero solo vamos a calcular el valor de las
pedidas por el ejercicio.
La primera derivada de la funcin es
f ' (x)=79,35176,18 x +124,8 x 234,72 x 3 +3,29 x 4

Xi = 3.5

Xi = 4

Xi = 4.5

Soluciones:
x i=3.84408306
Raz 1:

f ( 3.84408306 ) =0

Raz 2:

x i=3.84408306

f ( 3.84408306 ) =0

Raz 3:

x i=0.56220287

f ( 0.56220286 ) =4,86 x 1016

Los valores de las races se asemejan a los valores del grafico de la


funcin.
5.4 Determnese la raz real menor de:
f ( x )=9.36 21.963 x +16.2965 x 23.70377 x3
a) Grficamente
b) Usando el mtodo de la secante, hasta un valor de
correspondiente a tres cifras significativas.

La grfica nos muestra 3 races pero el ejercicio nos pide calcular la


menor de ellas por lo que nuestro intervalo a trabajar ser entre [0.9;
1.1].
La primera derivada de la funcin es:
f ' (x)=21,963+32,593 x11,11131 x

Solucin:
La menor de las races toma un valor de

x i1 =1,11960202

con un valor de

f ( x i1 )=3.11 x 1014

5.5) Localcese la raz positiva de:


f ( x)=0.5 xsen x
Donde x est dada en radianes. sese un mtodo grafico y
despus calclese tres interacciones con el mtodo de Newtonx i=2.0
Raphson con un valor inicial de
para calcular la raz.
Reptanse los clculos pero con un valor inicial de

x i=1.0

sese el mtodo grafico para explicar los resultados.

La grafica nos muestra dos races


una positiva y otra negativa pero el
ejercicio nos pide calcular solo el
valor de la positiva.
La primera derivada derivada de la funcin es:

Xi = 2

Xi = 1

Solucin:

f ' (x)=0,5cos (x)

Podemos concluir que en ambas tablas pese a haber hecho con dos valores
distintos de Xi el resultado es el mismo

x i=1,89549427

coincidiendo con el de

la grfica.

5.6) Encuntrese la raz positiva de


f ( x)=x 4 8.6 x 335.51 x 2 + 464 x 998.46
Usando el mtodo de la secante. Emplease los valores inciales
x i1 =7
x i=9
de
y
y calclese cuatro interacciones.
Calclese

e interprtense los resultados.

En la grfica podemos observar que tenemos dos valores de races pero solo
vamos a calcular la positiva con el mtodo de la secante.

Aplicamos la frmula de:

como valores de

x i1 =7

x
x
x
f ( i1)f ( i)
Como dice el ejercicio utilizamos

f ( i)(x i1x i )

x i+1=x i
y

x i=9 , y calculamos el error absoluto

Solucin: El valor de la raz es de

absoluto de 0.00010415.

x i+1=7,36550030382753

con un error

5.7 Realcense los mismos clculos del problema 5.6 pero


usando el mtodo de Newton-Raphson con un valor inicial de
x i=7.
f ( x)=x 4 8.6 x 335.51 x 2 + 464 x 998.46

x i=7

Solucin: Como en el mtodo anterior, el valor de la raz es el mismo y


el error absoluto es un 0.015 mayor al mtodo anterior.
Este mtodo realiza menor nmero de iteraciones.

5.8) Encuntrense la raz cuadrada positiva de 10 usando tres


iteraciones con:
a) El mtodo de Newton-Raphson, con un valor inicial de
x i=3.
b) El mtodo de la secante, con valores de
x i=3.2

x i1 =3

5.9) Determnese la raz real de:


f ( x )=

10.6 x
x

Usando tres iteraciones y el mtodo de la secante con valores


inciales de:
x i1 =1.5

x i=2.0 . Calclese el error aproximado

despus

de la segunda y la tercera
iteracin.

En la grfica podemos apreciar que tenemos dos races pero solo vamos
a calcular el valor de la raz real en tres iteraciones, adems de calcular
el error absoluto.
Sean:

x i1 =1.5

x i=2.0

Solucin: Al calcular el valor de la raz hemos obtenido un valor de Xi =


1.66 con un error absoluto de 0.04

5.10) Determinase la raz de:


3

f ( x )=x 100
Con el mtodo de la secante, con

Es =0.1 .

Solucin: El
valor de la raz
es de Xi =
4.642

5.11) Determinase la raz real mayor de:


f ( x )=x 36 x 2 +11 x6
a) Grficamente

Como
podemos observar
grficamente tenemos el valor de tres races pero solo vamos a calcular
la raz real mayor.

b) Usando el mtodo de la biseccin dos interacciones,

x i=2.5

x u=3.6

c) Usando el mtodo de la regla falsa dos interacciones,


x u=3

.6

x i=2.5

d) Usando el mtodo de Newton-Raphson (dos interacciones,

La primera derivada de la funcin es:

Xi = 3.6 y E%

x i=3.6

f ( x )=3 x 12 x +11

=0

e) Usando el mtodo de la secante (dos interacciones,

x i1 =2.5

x i=3.6

Solucin: Podemos comprobar que grficamente y utilizando el mtodo


de Newton Raphson nos va el mismo valor de la raz Xi = 3 y el E% =
0.

5.12) sese el mtodo de Newton - Raphson para determinar

todas las races de

f ( x )=x 2 +5.78 x 11.4504

con

s=0.001

La primera derivada de la funcin es:

f ' ( x )=2 x+ 5.78

Xi 1=1.5

Xi 1=7.5

Soluciones:
Raz 1= 2 f(2) = 3,5352E-06
Raz 2= -7

f(-7)=-1,9278E-05

5.13) Determnese la raz real ms pequea de:

f ( x )=9.3621.963 x+ 16.2965 x 23.70377 x 3

a) Grficamente

b) Usando el mtodo de biseccin (dos iteraciones,

x l=0.5

c) Usando el mtodo de la regla falsa (dos iteraciones,

x l=0.5

d) Usando el mtodo de Newton Raphson (dos iteraciones,

e) Usando el mtodo de la secante (dos iteraciones

x u=1.1 )

x u=1.1 )

x i=0.5 )

x i1 =0.5 , y

5.14) Determnese la raz positiva real ms pequea de:

x i=1.1 )

f ( x )=4 x 24.8 x +57.04 x 56.76 x+ 20.57


a) Grficamente

b) Usando el mtodo disponible ms eficiente. Emplense los valores iniciales


de

x l=x i1=0.5

x u=x i=0.5

y realcense los clculos hasta que

El valor de la raz menor es 1,11928979.


5.15) Determnense las races de

f ( x )=x 33.2 x 21.92 x +9.216


a) Grficamente

s=15

b) Usando el mtodo disponible ms


con

eficiente

s=0.1

Soluciones:
Raz 1 = -1,6
Raz 2 = 2,40319993
5.16) Reptase el problema 5.12 pero usando el mtodo de Newton
Raphson modificado.

f ( x )=x +5.78 x 11.4504


Primera derivada

f ' ( x )=2 x+ 5.78 x

Segunda derivada

f ' ' ( x )=2 x

Soluciones:
Raz 1 = 1,56

Raz 2 = -7,34

5.17) Reptase el problema 5.12 pero usando el mtodo de la secante.

f ( x )=x +5.78 x 11.4504

Soluciones:

Raz 1 = 1,56
Raz 2 = -7,34

5.18) Desarrllese un programa para el mtodo de Newton-Raphson


basado en la figura 5.4 y en la seccin 5.2.3. Prubese el programa
duplicando los clculos del ejemplo 5.3

Cdigo de Programacin, Lenguaje JAVA, programa NetBeans 8.0.1


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication3;
import [Link];
/**
*
* @author Fabrizzio
*/
public class JavaApplication3 {
/**pu
* f(x)=-23,33 + 79,35x - 88,09x^2 + 41,6x^3 - 8,68x^4 + 0,658x^5
* f'(x)= 79,35-176,18x+124,8x^2-34,72x^3+3,29x^4
*/
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
double temp,temp1,temp2,y,n,y2,temp3,y3,temp4,anterior,y4;
[Link]("Introduce un nmero entero: ");
n = [Link]();
anterior=n;
y4=100;
for(int i = 1;y4!=0; i++){
n=anterior;
temp=(([Link]((double)n,(double)5))*(0.658))+
(([Link]((double)n,(double)4))*(-8.68));
temp1=(([Link]((double)n,(double)3))*(41.6))+
(([Link]((double)n,(double)2))*(-88.09));
temp2=(([Link]((double)n,(double)4))*(3.29))+
(([Link]((double)n,(double)3))*(-34.72));
temp3=(([Link]((double)n,(double)2))*(124.8))+
(([Link]((double)n,(double)1))*(-176.18));
y2=temp2+temp3+79.35;
y=temp+temp1-23.33+(n*79.35);
temp4=(y/y2);
y3=n-temp4;
if(i>1)
y4=(([Link](anterior-y3))/n)*100;
[Link]("f("+n+")= "+y+"\n");
[Link]("f'("+n+")= "+y2+"\n");
[Link](""+n+" + 1= "+y3+"\n\n");
[Link]("E%= "+y4+"\n\n");

anterior=y3;
}
}
}
5.19) sese el programa desarrollado en el problema 5.18 y
duplquense los clculos del ejemplo 5.5. Determnese la raz usando
un valor inicial de Xi = 0.5. Realcense 5, 10, 15 o ms iteraciones
hasta que el error relativo porcentual exacto sea menor del 0.1%.
Grafquense los errores relativos porcentuales exacto y aproximado
contra el numero de iteraciones sobre papel semilogaritmico.
Interprtense los resultados.
Cdigo de Programacin, Lenguaje JAVA, programa NetBeans 8.0.1
*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package javaapplication8;
import [Link];
/**
*
* @author Fabrizzio
*/
public class JavaApplication8 {
/**f(x)= 0,5x-sen(x)
* f'(x)= 0,5-cos(x)
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
double temp2,y,n,y2,temp3,y3,temp4,anterior,y4, temp5;
[Link]("Introduce un nmero entero: ");
n = [Link]();
anterior=n;
y4=100;
for(int i = 1;y4!=0; i++){
n=anterior;
temp2=[Link](n);
temp3= [Link](n);
temp5=(0.5*n);
y2= 0.5-temp2;
y=temp5-temp3;
temp4=(y/y2);
y3=n-temp4;

if(i>1)
y4=(([Link](anterior-y3))/n)*100;
[Link]("f("+n+")= "+y+"\n");
[Link]("f'("+n+")= "+y2+"\n");
[Link](""+n+" + 1= "+y3+"\n\n");
[Link]("E%= "+y4+"\n\n");
anterior=y3;
}
}
5.20) sese el programa desarrollado en el problema 5.18 para
resolver los problemas 5.1 al [Link] todos los casos, realcense los
clculos dentro de la tolerancia de Es = 0.001%.
Cdigo de Programacin, Lenguaje JAVA, programa NetBeans 8.0.1
package javaapplication1;
import [Link];
import [Link];
import [Link];
/**
*
* @author Fabrizzio
*/
public class JavaApplication1 {
/**pu
* f(x)= -0.875x^2+1.75x+2.625
* f'(x)= -1,75x+1,75
*/
public static void main(String[] args) {
Scanner sc = new Scanner([Link]);
double temp,temp2,y,n,y2,temp3,y3,temp4,anterior,y4;
[Link]("Introduce un nmero entero: ");
n = [Link]();
anterior=n;
y4=100;
for(int i = 1;y4!=0; i++){
n=anterior;
temp=([Link]((double)n,(double)2))*(-0.875);
temp2=(1.75*n);
temp3=(-1.75*n);
y2=temp3+1.75;
y=temp+temp2+2.625;
temp4=(y/y2);
y3=n-temp4;

if(i>1)
y4=(([Link](anterior-y3))/n)*100;
[Link]("f("+n+")= "+y+"\n");
[Link]("f'("+n+")= "+y2+"\n");
[Link](""+n+" + 1= "+y3+"\n\n");
[Link]("E%= "+y4+"\n\n");
anterior=y3;
}
}

RESOLUCION DE LOS EJERCICIOS UTILIZANDO PROGRAMACIN


Ejercicio 1
%Newton-Raphson
%Xi=3.5 y E%=0.01%
clear
clc
syms x
cf= -(0.875*(x^2))+(1.75*x)+2.625;

f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 3.1;
tol=0.01
error=100;
n=1;
disp('
n
x
E% ')
disp('
0
3.1
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs((x1-xi)/x1)*100;
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

, xi,

Ejercicio 2
% Newton-Raphson
% xi=0
clear
clc
syms x
cf= -2.1+(6.21*x)-(3.9*(x^2))+(0.667*(x^3));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 0.5;
tol=0.01
error=100;
n=1;
disp('
n
xi
error ')
disp('
0
0.5
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

% xi=2
syms x
cf= -2.1+(6.21*x)-(3.9*(x^2))+(0.667*(x^3));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 2;
tol=0.01;
error=100;
n=1;

, xi,

disp(' ');
disp(' ');
disp(' ');
disp('
n
xi
error ')
disp('
0
2
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

%xi=3
syms x
cf= -2.1+(6.21*x)-(3.9*(x^2))+(0.667*(x^3));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 3;
tol=0.01;
error=100;
n=1;
disp(' ');
disp(' ');
disp(' ');
disp('
n
xi
error ')
disp('
0
3
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

, xi,

, xi,

Ejercicio 3
% Newton-Raphson
% xi=3.5
clear
clc
syms x
cf= -23.33+(79.35*x)-(88.09*(x^2))+(41.6*(x^3))-(8.68*(x^4))
+(0.658*(x^5));
f=inline(cf);
der=diff(cf,x);

df=inline(der);
xi= 3.5;
tol=0.0000001;
error=100;
n=1;
disp('
n
xi
error ')
disp('
0
3.5
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

, xi,

% xi=4
syms x
cf= -23.33+(79.35*x)-(88.09*(x^2))+(41.6*(x^3))-(8.68*(x^4))
+(0.658*(x^5));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 4;
tol=0.0000001;
error=100;
n=1;
disp(' ');
disp(' ');
disp(' ');
disp('
n
xi
error ')
disp('
0
4
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
, xi,
error);
n=n+1;
end

%xi=4.5
syms x
cf= -23.33+(79.35*x)-(88.09*(x^2))+(41.6*(x^3))-(8.68*(x^4))
+(0.658*(x^5));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 4.5;
tol=0.0000001;
error=100;
n=1;

disp(' ');
disp(' ');
disp(' ');
disp('
n
xi
error ')
disp('
0
4.5
100')
while (error>=tol)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

, xi,

Ejercicio 4
%Secante
% X1
clear
clc
syms x
cf= 9.36-(21.963*x)+(16.2965*(x^2))-(3.70377*(x^3));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
x0=0.9;
xi= 1.1;
tol=0.001
error=100;
n=1;
disp('
n
xi-1
xi
xi+1
error ')
disp('
0
0.9
1.1
----100')
while (error>=tol)
x2 = xi - (xi-x0)*f(xi)/(f(xi)-f(x0));
error=abs(((x2-xi)/x2)*100);
x0=xi;
xi=x2;
fprintf('
%i
%4.4f
%4.4f
%4.4f
%4.4f\n',n
, x0,
xi,
x2
,error);
n=n+1;
end
% X2
syms x
cf= 9.36-(21.963*x)+(16.2965*(x^2))-(3.70377*(x^3));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
x0=1.1;
xi= 1.2;
tol=0.001
error=100;
n=1;
disp('
n
xi-1
xi
xi+1
error ')
disp('
0
0.9
1.1
----100')
while (error>=tol)
x2 = xi - (xi-x0)*f(xi)/(f(xi)-f(x0));

error=abs(((x2-xi)/x2)*100);
x0=xi;
xi=x2;
fprintf('
%i
%4.4f
, x0,
xi,
x2
n=n+1;
end

%4.4f

%4.4f
,error);

%4.4f\n',n

% X3
syms x
cf= 9.36-(21.963*x)+(16.2965*(x^2))-(3.70377*(x^3));
f=inline(cf);
der=diff(cf,x);
df=inline(der);
x0=2.1;
xi= 2.3;
tol=0.001
error=100;
n=1;
disp('
n
xi-1
xi
xi+1
error ')
disp('
0
0.9
1.1
----100')
while (error>=tol)
x2 = xi - (xi-x0)*f(xi)/(f(xi)-f(x0));
error=abs(((x2-xi)/x2)*100);
x0=xi;
xi=x2;
fprintf('
%i
%4.4f
%4.4f
%4.4f
%4.4f\n',n
, x0,
xi,
x2
,error);
n=n+1;
end

Ejercicio 5
%Newton-Raphson
%xi=2
clear
clc
syms x
cf= (0.5*x)-sin(x);
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 2;
tol=0.01
error=100;
n=1;
disp('
n
xi
error ')
disp('
0
2
100')
while (n<=3)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;

, xi,

end
%xi=1
syms x
cf= (0.5*x)-sin(x);
f=inline(cf);
der=diff(cf,x);
df=inline(der);
xi= 1;
tol=0.01
error=100;
n=1;
disp('
n
xi
error ')
disp('
0
1
100')
while (n<=3)
x1 = xi - f(xi)/ df(xi);
error=abs(((x1-xi)/x1)*100);
xi=x1;
fprintf('\t%i
\t%3.5f
\t%f\n',n
error);
n=n+1;
end

, xi,

También podría gustarte