Método de Newton-Raphson

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 8

Instituto Politécnico Nacional

Unidad Profesional Interdisciplinaria

en Ingeniería y Tecnologías Avanzadas

Nombre: Orenday Martínez Ariel Omar

Fecha de realización: 27 de febrero de 2017

Fecha de entrega: 6 de marzo de 2017

Nombre de la práctica:

“Método de Newton-Raphson”

Profesor: Fernando Estrada Olivas

Código fuente: Matlab


function [ ] = NeRa( ) a(1)=Po;
%Práctica numero cuatro de análisis numérico end
fprintf('Método de Newton-Raphson \n\n') i=i+1;
end
format long; else
fprintf('La función no se puede resolver');
a=input('Ingrese el intervalo en forma de vector: end
');
p=input('Ingrese los coeficientes del polinomio if f==0
(función) en forma de vector: '); fprintf('La solución a la función es: ')
%n=input('Ingrese número de iteraciones: '); disp(R)
epsilon=input('Ingrese precisión: '); fprintf('Sólamente se realizaron dos iteraciones
por bisección')
else
f=polyval(p,a); G=0;
i=0; j=0;
R=0; V=Po;

if f(1)>0 && f(2)<0 while G~=Po


while i<2 G=Po;
Po=(a(1)+a(2))/2; d=polyder(p);
f=polyval(p,Po); Po=Po-((polyval(p,Po))/(polyval(d,Po)));
fprintf('[a,b]= ') j=j+1;
disp(a) fprintf('P= ')
fprintf('P= ') disp(Po)
disp(Po) end
fprintf('f= ') fprintf('La solución a la función es: ')
disp(f) disp(Po)
if f==0 fprintf('El numero de iteraciones realizadas por
R=Po; Bisección fue: ')
elseif f>0 disp(2)
a(2)=Po; fprintf('El numero de iteraciones realizadas por
else Newton-Raphson fue: ')
a(1)=Po; disp(j-1)
end
i=i+1; end
end
s=0;
elseif f(1)<0 && f(2)>0 while s<(j-2)
while i<2 V=V-((polyval(p,V))/(polyval(d,V)));
Po=(a(1)+a(2))/2; s=s+1;
f=polyval(p,Po); end
fprintf('[a,b]= ')
disp(a) ER=abs((Po-V)/Po);
fprintf('P= ') fprintf('ER= ')
disp(Po) disp(ER)
fprintf('f= ') if epsilon<ER
disp(f) fprintf('No se alcanzó la presición deseada')
if f==0 else
R=Po; fprintf('Se alcanzó la presición deseada')
elseif f>0 end
a(2)=Po; end
else
Para 𝑥 7 − 3𝑥 5 + 2𝑥 4 + 𝑥 − 50 = 0 en el intervalo [0,2] con precisión de 10−5 :

>> practicacuatro P= 2.044626952993830

Método de Newton-Raphson

P= 1.953053249998161

Ingrese el intervalo en forma de vector: [0,2]

Ingrese los coeficientes del polinomio (función) P= 1.934878715900373


en forma de vector: [1,0,-3,2,0,0,1,-50]

Ingrese precisión: 10^-5


P= 1.934249258116904
[a,b]= 0 2

P= 1.934248528503594
P= 1

P= 1.934248528502615
f= -49

P= 1.934248528502615
[a,b]= 1 2

La solución a la función es: 1.934248528502615


P= 1.500000000000000

El número de iteraciones realizadas por Bisección


f= -44.070312500000000 fue: 2

P= 2.885995085995086 El número de iteraciones realizadas por Newton-


Raphson fue: 9

P= 2.523649400543762
ER= 5.061369563880940e-13

P= 2.238955568015736
Se alcanzó la precisión deseada>>
3
Para 𝑥 = √31 en el intervalo [1,4] con precisión de 10−5 :

>> practicacuatro

Método de Newton-Raphson P= 3.141384748292208

Ingrese el intervalo en forma de vector: [1,4] P= 3.141380652396733

Ingrese los coeficientes del polinomio (función)


en forma de vector: [1,0,0,-31]
P= 3.141380652391393
Ingrese precisión: 10^-5

[a,b]= 1 4
P= 3.141380652391393

P= 2.500000000000000
La solución a la función es: 3.141380652391393

f= -15.375000000000000
El número de iteraciones realizadas por Bisección
fue: 2

[a,b]= 2.500000000000000
4.000000000000000
El número de iteraciones realizadas por Newton-
Raphson fue: 4

P= 3.250000000000000

ER= 1.700085863071475e-12

f= 3.328125000000000

Se alcanzó la precisión deseada>>

P= 3.144970414201183
Instituto Politécnico Nacional
Unidad Profesional Interdisciplinaria

en Ingeniería y Tecnologías Avanzadas

Nombre: Orenday Martínez Ariel Omar

Fecha de realización: 27 de febrero de 2017

Fecha de entrega: 6 de marzo de 2017

Nombre de la práctica:

“Método de la secante”

Profesor: Fernando Estrada Olivas

Código fuente: Matlab


function [ ] = Secante( )
%Práctica numero cinco de análisis numérico
fprintf('Método de la secante \n\n')

format long;

x=input('Ingrese el intervalo en forma de vector: ');


p=input('Ingrese los coeficientes del polinomio (función) en forma de vector: ');
%n=input('Ingrese número de iteraciones: ');
epsilon=input('Ingrese precisión: ');

fprintf('[a,b]= ')
disp(x)

j=0;
i=3;

while x(i-2)~=x(i-1)
a0=x(i-2);
a1=x(i-1);

x(i)=a1-((polyval(p,a1))*(a1-a0))/((polyval(p,a1))-(polyval(p,a0)));

j=j+1;
fprintf('Xn= ')
disp(x(i))
i=i+1;
end
i=i-1;
fprintf('La solución a la función es: ')
disp(x(i))
fprintf('El numero de iteraciones realizadas por el método de la secante fue: ')
disp(j-2)

ER=abs((x(i)-x(i-2))/x(i));
fprintf('ER= ')
disp(ER)
if epsilon<ER
fprintf('No se alcanzó la precisión deseada')
else
fprintf('Se alcanzó la precisión deseada')
end

end
Para 𝑥 7 − 3𝑥 5 + 2𝑥 4 + 𝑥 − 50 = 0 en el intervalo [0,2] con precisión de 10−5 :

>> practicacinco Xn= 1.934267643773952

Método de la secante

Xn= 1.934248487522261

Ingrese el intervalo en forma de vector: [0,2]

Ingrese los coeficientes del polinomio Xn= 1.934248528501174


(función) en forma de vector: [1,0,-3,2,0,0,1,-
50]

Ingrese precisión: 10^-5 Xn= 1.934248528502615

[a,b]= 0 2
Xn= 1.934248528502615

Xn= 1.515151515151515
La solución a la función es:
1.934248528502615
Xn= 1.869770612203638

El número de iteraciones realizadas por el


Xn= 2.010050892761681 método de la secante fue: 8

Xn= 1.925399030466406 ER= 7.447984969485039e-13

Xn= 1.933083983423056 Se alcanzó la precisión deseada>>


3
Para 𝑥 = √31 en el intervalo [1,4] con precisión de 10−5 :

>> practicacinco Xn= 3.141380652391393

Método de la secante

Xn= 3.141380652391393

Ingrese el intervalo en forma de vector:


[1,4]
Xn= 3.141380652391393
Ingrese los coeficientes del polinomio
(función) en forma de vector: [1,0,0,-31]

Ingrese precisión: 10^-5 Xn= 3.141380652391393

[a,b]= 1 4
La solución a la función es:
3.141380652391393
Xn= 2.428571428571429

El número de iteraciones realizadas por el


Xn= 2.956100710135571 método de la secante fue: 9

Xn= 3.192996459875491 ER= 1.413675256171191e-16

Xn= 3.138249166915903 Se alcanzó la precisión deseada>>

Xn= 3.141329724802223

Xn= 3.141380703192867

Xn= 3.141380652390569

También podría gustarte