Anda di halaman 1dari 6
Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica Laboratorio de M´etodos Num´ericos, 2018 - 0

Ra´ıces de funciones no lineales

Taller 2 Ra´ıces de funciones no lineales

1. Use un computador para crear un programa que que reciba de entrada una funci´on y el programa busque intervalos donde la funci´on tenga ra´ıces. Pruebe su programa con las siguientes funciones:

(a) f (x) =

3x 5 7x 4 5x 3 + x 2 8x + 2

(b) f (x) = x sen(x) Soluci´on: %Programa que calcula intervalos donde %la fuci´on posee
(b) f (x) =
x sen(x)
Soluci´on:
%Programa
que
calcula
intervalos
donde
%la
fuci´on
posee
ra´ıces
%ingresamos
la
funci´on
ff=input(’ingresa
la
funci´on:
’,’s’);
%convertimos
la
funci´on
en
l´ınea
f=inline(ff);
%ingresamos
el
rango
en
el
que
queremos
que
%busque
las
ra´ıces
a=input(’Ingresa
b=input(’Ingresa
aa=floor(a);
bb=floor(b);
el
extremo
inferior:
’);
el
extremo
superior:
’);
n=bb-aa+1;
k=0;
%empezamos
a
buscar
las
ra´ıces
for
i=1:n,
if
f(aa+(i-1))*f(aa+i)==0
i=i+1;
elseif
f(aa+i-1)*f(aa+i)<0
fprintf(’Existe
una
ra´ız
en
[
%6.2f
,
%12.8f
]
\n’,aa+i-1,aa+i);
k=1;
else
i=i+1;
end
end
if
k==0
fprintf(’La
funci´on
f(x)=
%4.20s
no
posee
ra´ıces
en
[%6.2f
,%6.2f
]\n’,ff,a,b);
end

Compruebe sus funciones gr´aficamente, haciendo los ajustes necesarios

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica Laboratorio de M´etodos Num´ericos, 2018 - 0

Ra´ıces de funciones no lineales

2. Haga una funci´on que halle las ra´ıces de las funciones usando el m´etodo de bisecci´on, la funci´on debe recibir de par´ametros f , a y b, as´ı como el error aceptado. soluci´on:

function

[c,err,yc]=biseccion(ff,a,b,delta)

%Datos

%ff

b

%delta

%c

%yc=f(c)

%err

f=inline(ff);

ya=f(a);

yb=f(b);

%

a

es

y

es

la

funci´on

los

de

debemos

ingresarla

del

como

cadena

son

extremos

intervalo

es

la

la

ra´ız

es

el

tolerancia

la

funci´on

de

error

estimado

la

aproximaci´on

a

c

op=0;

if

ya*yb>0

de

caracteres

’f’

disp(’No

existe

ra´ıces

en

este

intervalo’);

c=0;

err=0;

yc=0;

else

max1=1+round((log(b-a)-log(delta))/log(2));

for

k=1:max1,

c=(a+b)/2;

yc=f(c);

if

yc==0

a=c;

b=c

elseif

yb*yc>0

 

b=c;

yb=yc;

else

 
 

a=c;

ya=yc;

end

if

b-a<delta,

end

c=(a+b)/2;

err=abs(b-a);

yc=f(c);

end

end

break,

end

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica Laboratorio de M´etodos Num´ericos, 2018 - 0

Ra´ıces de funciones no lineales

3. Pruebe la funci´on anterior con los ejercicios dados

I) Encuentre todas las ra´ıces positivas de las ecuaviones siguientes mediante el m´etodo de bisecci´on con una tolerancia de 0.001. (Primero determine un in- tervalo apropiado para cada ra´ız.)

(a)

tan(x) x + 1 = 0,

0 < x < 3π

(b)

sen(x) 0.3e x = 0,

x > 0

(c)

x 3 + x + 1 = 0

(d)

16x 5 20x 3 + x 2 + 5x 0.5 =

0

II) Calcule intervalos apropiados para las ra´ıces de las siguientes ecuaciones y determine despues las ra´ıces medinte el m´etodo de bisecci´on, con una tolerancia de 0.001:

(a)

0.1x 3 5x 2 x + 4 + e x = 0

(b)

log e (x) 0.2x 2 + 1 = 0

(c)

x + 1/((x + 3)x) = 0

4. Modifique la funci´on anterior para convertila en una funci´on que use el m´etodo de la regla falsa.

5. Para cada una de las siguientes funciones, halle un intervalo [a, b] de manera que f (a) y f (b) tengan distinto signo.

(a)

f (x) =

e x 2 x

(b)

f (x) =

cos(x) + 1 x

(c)

f (x) =

ln(x) 5 + x

(d)

f (x) = x 2 10x + 23

6. En los siguientes ejercicios empiece con el intervalo [a 0 , b 0 ] y use el m´etodo de

la regla falsa para calcular c 0 ,

c 1 , c 2 y c 2

(a)

f (x) = e x 2 x, [a 0 , b 0 ]=[-2.1,-1.6]

(b)

f (x) =

cos(x)

+

1 x, [a 0 , b 0 ]=[0.8,1.6]

(c)

f (x) = ln(x) 5 + x, [a 0 , b 0 ]=[3.2,4.0]

(d)

f (x) = x 2 10x + 23, [a 0 , b 0 ]=[6.0,6.8]

7. Use un computador para crear un programa en MatLab que encuentre una ra´ız de f (x) = x sen(x) 1, para ello utilice el m´etodo de la regla falsa modificada.

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica Laboratorio de M´etodos Num´ericos, 2018 - 0

Ra´ıces de funciones no lineales

Soluci´on:

% Programa

que

permite

calcular

% intervalo

en

el

[1,

2]

% la

xr

es

ra´ız

de

la

funci´on

% yc=f(xr)

f=inline(’x*sin(x)-1’);

xa=1;

xb=2;

ya=f(xa);

yb=f(xb);

for

k=1:5,

xr=xa-(ya*(xb-xa))/(yb-ya);

yc=f(xr);

if

yc==0

xa=xr;

xb=xr;

elseif

yb*yc>0

 

xb=xr;

yb=yc;

ya=ya/2;

else

 

xa=xr;

ya=yc;

yb=yb/2;

end

end

xr

f(xr)

la

ra´ız

de

x.sen(x)-1=0

8. Modifique el programa anterior de tal manera que acepte cualquier funci´on y

en el intervalo que el usuario desee calcule la ra´ız para las siguientes funciones.

(a)

f (x) =

3x 5 7x 4 5x 3 + x 2 8x

(a)

f (x) =

ln(x) 5 + x

(b)

f (x) =

e x 2 x

(b)

f (x) =

x 2 10x + 23

(c)

f (x) = cos(x) + 1 x

(c)

f (x) =

x cos(x)

9. Haga un programa en MatLab para que halle una aproximaci´on de f (x) = e x x, utilizando el m´etodo del pto Fijo

Soluci´on:

%script

que

calcula

la

ra´ız

de

una

funci´on

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica Laboratorio de M´etodos Num´ericos, 2018 - 0

Ra´ıces de funciones no lineales

%usando

%para

la

el

m´etodo

funci´on

del

punto

exp(-x)-x)

%en

el

punto

x0=0

%con

5

iteraciones

fijo.

clear;

clc;

x(1)=0;

n=5;

g=inline(’exp(-x)’);

for

i=2:n,

x(i)=g(x(i-1));

end

fprintf(’\n

La

ra´ız

aproximada

de

f(x)=exp(-x)-x

es:

%3.5f

\n’,x(n));

10. Modifique el programa anterior de tal manera que se pueda generalizar para cualquier funci´on y nos sirva para resolver los ejercicos de la pr´actica 3.

11. Use el programa que dise˜no en el ejercicio anterior para aproximar los puntos

fijos (si es que hay alguno) de cada una de las siguientes funciones.

spuestas deben tener 12 cifras decimales exactas. Diguje adem´as una gr´afica de cada funci´on y de la recta y = x que muestre claramente los puntos fijos que haya.

Las re-

(a)

(b) cos(sen(x))

x 5 3x 3 2x 2 + 2

(c)

(d)

x 2 sen(x + 0.15)

x

xcos(x)

12. Deduzca la ley de recurrencia para el m´etodo de Newton Raphson:

x i+1 = x i f(x i )

f

(x i )

13. Deduzca la ley de recurrencia para el m´etodo de la Secante:

x i+1 = x i x i f(x i1 ) x i1 f(x i ) f(x i1 ) f(x i )

14. Deduzca la ley de recurrencia para el m´etodo de Newton Raphson modificado:

x i+1 = x i

f(x i )f (x i )

[f (x i )] 2 f(x i )f (x i )

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica

Universidad Nacional Mayor de San Marcos Facultad de Ingenier´ıa El´ectrica E.A.P. de Ingenier´ıa El´ectrica Laboratorio de M´etodos Num´ericos, 2018 - 0

Ra´ıces de funciones no lineales

15. Encuentre la ra´ız de

tan(x) 0.1x = 0

en π < x < 1.5π mediante el m´etodo de Newton, con una tolerancia de 0.0001

16. Encuentre las ra´ıces de las ecuaciones mediante el m´etodo de Newton con una tolerancia de 0.0001.

(a)

tan(x) x + 1 = 0,

0 < x < 3π

(b)

sen(x) 0.3e x = 0,

x > 0

(c)

x 3 + x + 1 = 0

(d)

16x 5 20x 3 + x 2 + 5x 0.5 = 0

17. Las frecuencias naturales de vibraci´on de una varilla sujeta en ambos extremos satisfacen

tan(βl) = tanh(βl),

β > 0

donde se supone que l es 1, como en el problema anterior. Utilice el m´etodo de Newton con base en una aproximaci´on por diferencias para evaluar la derivada,

y determine los valores m´as peque˜nos de β > 0 que satisfacen la ecuaci´on anterior. No incluya β = 0 como respuesta.

Sugerencia :

tanh(x) = e e x x + e e x x

18. Hallar la ra´ız de

f (x) = sen(x) x + 1

mediante el m´etodo de Newton.

19. Encuentre todas las ra´ıces de las siguientes ecuaciones, mediante el m´etodo de

la Secante

(a)

f (x) = 0.5e x/3 sin(x) = 0

x > 0

(b)

f (x) =

log e (1 + x) x 2 = 0

(c)

f (x) = e x 5x 2 = 0

 

(d)

f (x) =

x 3 2x 1 =

0

(e)

f (x) = x + 2 x = 0