Está en la página 1de 6

CORRECCIÓN DEL TERCER PARCIAL DE LENGUAJE DE

PROGRAMACIÓN

ALUMNO: ROMAN CHAMBERGO, River

1.__ Elaborar el diagrama de flujo del Método de Newton

INICIO

INGRESAR:
fx, gx, e, n,po

i=0

i<n y
error<e

p=po-
f(po)/g(po)
e=|p-po|
i=i+1
po=p

MOSTAR:
po

FIN

2.__ Encontrar la raíz óptima de la siguiente función:

1
x2 
є=0.001
f ( x)  2 x
x 5

function puntofijo
clc,clear
f=input('ingrese función:','s');
xi=input('ingrese aproximación inicial:');
e=input('ingrese tolerancia de error:');
disp(' ')
syms x
df=diff(f,x);
if abs(subs(df,1))>1;
disp('la función no converge');
else
disp(' Iteración(Nº) Xi Xi+1 Error');
it=1;
xi2=subs(f,xi);
e0=abs(xi2-xi);
fprintf(' %g %f %f %f\n',it,xi,xi2,e0);
while abs(xi2-xi)>e ;
xi=xi2;
xi2=subs(f,xi2);
it=it+1;
e0=abs(xi2-xi);
fprintf(' %g %f %f %f\n',it,xi,xi2,e0);
end
disp(' ')
disp('se obtuvo por el método en:')
disp(' ')
fprintf('la iteración :%g \n',it);
fprintf('Xi :%f\n',xi);
fprintf('Xi+1(la raiz):%f\n',xi2);
fprintf('con un error :%f\n',e0);
end

ingrese función:(((x^2)+((1/x)^(1/2)))/((x^2)-5))
ingrese aproximación inicial:1
ingrese tolerancia de error:0.001

Iteración(Nº) Xi Xi+1 Error


1 1.000000 -0.500000 1.500000
2 -0.500000 -0.052632 0.537384
3 -0.052632 -0.211175 0.159377
4 -0.211175 -0.135138 0.088290
5 -0.135138 -0.161282 0.040727
6 -0.161282 -0.155818 0.020457
7 -0.155818 -0.154731 0.010063
8 -0.154731 -0.157164 0.004949
9 -0.157164 -0.155237 0.002445
10 -0.155237 -0.156397 0.001203
11 -0.156397 -0.155809 0.000593

se obtuvo por el método en:

la iteración :11
Xi :-0.156397
Xi+1(la raiz):-0.155809
con un error :0.000593

3.__ Encontrar la función (Método de la Secante)

x 2 3 9 15 31
Y 7 9 18 23 32

9.02*log(x) – 0.479
function secante
clc,clear
f=input('ingrese función:','s');
xi=input('ingrese aproximación inicial:');
xi1=input('ingrese aproximación siguiente:');
e=input('ingrese tolerancia de error:');
disp(' ')
syms x
df=diff(f,x);

disp(' Iteración(Nº) Xi-1 Xi Xi+1 Error');


it=1;
xi2=xi1-(subs(f,xi1)*(xi-xi1))/(subs(f,xi)-subs(f,xi1));
e0=abs(xi2-xi1);
fprintf(' %g %f %f %f %f\n',it,xi,xi1,xi2,e0);
while abs(xi2-xi1)>e ;
xi=xi1;
xi1=xi2;
xi2=xi1-(subs(f,xi1)*(xi-xi1))/(subs(f,xi)-subs(f,xi1));
it=it+1;
e0=abs(xi2-xi1);
fprintf(' %g %f %f %f %f\n',it,xi,xi1,xi2,e0);
end
disp(' ')
disp('se obtuvo por el método en:')
disp(' ')
fprintf('la iteración :%g \n',it);
fprintf('Xi-1 :%f\n',xi)
fprintf('Xi :%f\n',xi1);
fprintf('Xi+1(la raiz):%f\n',xi2);
fprintf('con un error :%f\n',e0);
end

ingrese función:9,02*log(x)-0.479
ingrese aproximación inicial:1
ingrese aproximación siguiente:2
ingrese tolerancia de error:0.001

Iteración(Nº) Xi-1 Xi Xi+1 Error


1 1.000000 2.000000 1.345525 0.654475
2 2.000000 1.345525 1.250937 0.094588
3 1.345525 1.250937 1.271190 0.020253
4 1.250937 1.271190 1.270618 0.000572

se obtuvo por el método en:

la iteración :4
Xi-1 :1.250937
Xi :1.271190
Xi+1(la raiz):1.270618
con un error :0.000572
Grafico de la función
10

9.8

9.6

9.4

9.2

8.8

8.6

8.4

8.2

8
2 4 6 8 10 12 14 16 18 20

4.__ Graficas de las funciones:


2
x 2  3x 3x  5  x  3  x 1 
a)._ f ( x)   b)._   
x2 x  x  1  x  1 

>> x=2:20;
>> y=(((x.^2)+(3.*x))./((x+2)))+((((3.*x)+5)./(x)).^(1/2));
>> g=((x+3)./(x-1)).*((((x+1).^(1/2))./((x-1).^(1/2))).^(2));
>> subplot(1,2,1), plot(x,y,'r-'), title( 'Grafico No 1' ), grid;
>> subplot(1,2,2), plot(x,g,'mo'), title( 'Grafico No 2' ), grid;
Grafico No 1 Grafico No 2
24 15

22

20

18
10

16

14

12

5
10

4 0
0 5 10 15 20 0 5 10 15 20

También podría gustarte