Beruflich Dokumente
Kultur Dokumente
s =0.01
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 )
x i=3
s =0.01
tenemos que:
Xi = 0.5
Xi = 2
Xi = 3
Raz 2:
x i=1.98364208
Raz 3:
x i=3.43078685
x i=3.5
; b)
x i=4.0
y c)
x i=4.5
. Prubense y sense
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
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
x i=1.0
Xi = 2
Xi = 1
Solucin:
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.
En la grfica podemos observar que tenemos dos valores de races pero solo
vamos a calcular la positiva con el mtodo de la secante.
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
absoluto de 0.00010415.
x i+1=7,36550030382753
con un error
x i=7
x i1 =3
10.6 x
x
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
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
Como
podemos observar
grficamente tenemos el valor de tres races pero solo vamos a calcular
la raz real mayor.
x i=2.5
x u=3.6
.6
x i=2.5
Xi = 3.6 y E%
x i=3.6
f ( x )=3 x 12 x +11
=0
x i1 =2.5
x i=3.6
con
s=0.001
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
a) Grficamente
x l=0.5
x l=0.5
x u=1.1 )
x u=1.1 )
x i=0.5 )
x i1 =0.5 , y
x i=1.1 )
x l=x i1=0.5
x u=x i=0.5
s=15
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.
Segunda derivada
Soluciones:
Raz 1 = 1,56
Raz 2 = -7,34
Soluciones:
Raz 1 = 1,56
Raz 2 = -7,34
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 java.util.Scanner;
/**
*
* @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(System.in);
double temp2,y,n,y2,temp3,y3,temp4,anterior,y4, temp5;
System.out.print("Introduce un nmero entero: ");
n = sc.nextDouble();
anterior=n;
y4=100;
for(int i = 1;y4!=0; i++){
n=anterior;
temp2=Math.cos(n);
temp3= Math.sin(n);
temp5=(0.5*n);
y2= 0.5-temp2;
y=temp5-temp3;
temp4=(y/y2);
y3=n-temp4;
if(i>1)
y4=((Math.abs(anterior-y3))/n)*100;
System.out.println("f("+n+")= "+y+"\n");
System.out.println("f'("+n+")= "+y2+"\n");
System.out.println(""+n+" + 1= "+y3+"\n\n");
System.out.println("E%= "+y4+"\n\n");
anterior=y3;
}
}
5.20) sese el programa desarrollado en el problema 5.18 para
resolver los problemas 5.1 al 5.5.En 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 com.sun.org.apache.xpath.internal.operations.Mult;
import java.util.ArrayList;
import java.util.Scanner;
/**
*
* @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(System.in);
double temp,temp2,y,n,y2,temp3,y3,temp4,anterior,y4;
System.out.print("Introduce un nmero entero: ");
n = sc.nextDouble();
anterior=n;
y4=100;
for(int i = 1;y4!=0; i++){
n=anterior;
temp=(Math.pow((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=((Math.abs(anterior-y3))/n)*100;
System.out.println("f("+n+")= "+y+"\n");
System.out.println("f'("+n+")= "+y2+"\n");
System.out.println(""+n+" + 1= "+y3+"\n\n");
System.out.println("E%= "+y4+"\n\n");
anterior=y3;
}
}
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,