Está en la página 1de 21

Departamento de Ciencias Exactas

Ingenierı́a en Electrónica y Telecomunicaciones

Metodos Númericos
Taller del Primer Parcial

Integrantes:

Saul Obando Zapata

Edwin Farinango Garcia

Nrc:1114
23 de noviembre de 2017

1
Metodos Númericos

DEBER N◦ 1
EJERCICIO 1

Considere la función f (x) = cosh(x) + cox(x) − γ,con γ=1, 2, 3.Encuentre un intervalo que
contenga un cero de f para cada valor de γ y calcule dicho cero con el método de la bisección

CÓDIGO EN MATLAB

clc
clear all
syms x;
y=input(’Ingrese la ecuación: ’,’s’);
fun=inline(y);
display(y);

esc=-5:0.1:5;
ezplot(fun,esc);
grid on

a=-5;
b=5;
tol=0.01;
fa=feval(fun,a);
fb=feval(fun,b);
k=1;
if(fa*fb)>0;
disp(’No existe raiz ’);
break
end
fprintf(’k\t\ta\t\tb\t\tc\t\terror\n’);
while abs(b-a)> tol
c=(a+b)/2;
fc=feval(fun,c);
error=abs(b-a);
fprintf(’%i\t\t %.3f\t\t %.3f\t\t %.3f\t\t %.3f\n’,k,a,b,c,error);

if fc==0
a=c;
b=c;
disp(c);

return
end

2
Metodos Númericos

if (fa*fc)<0
b=c;
fb=fc;
else
a=c;
fa=fc;
end
k=k+1;
end
fprintf(’Su raiz es:\t %.3f\n’, c);
fprintf(’Numero de iteraciones %i\n’,k-1)

SIMULACIÓN DEL PROBLEMA 1

CON ALFA=1
GRÁFICO

SIMULACIÓN

3
Metodos Númericos

CON ALFA =2
GRÁFICO

SIMULACIÓN

CON ALFA=3
GRÁFICO

4
Metodos Númericos

SIMULACIÓN

5
Metodos Númericos

EJERCICIO 2

Un objeto está situado en unplano cuya pendiente varı́a a una tasa constante w.La posición del
objeto, al instante t, está dada por la fórmula
g
s(t, w) = s(t, w) = 2w2
[sinh (wt) − sin (wt)]

donde g = 9,8m/s2 es la aceleración de la gravedad.Asumiendo que el objeto se ha despla-


zado 1 metro en 1 segundo,calcule el valor de w, usando el método de la bisección , con una
tolerancia de 10−5 .Cuántas iteraciones se requieren para alacanzar la tolerancia indicada?

CÓDIGO EN MATLAB

clc
clear all
syms w;
fprintf(’Ejercicio 2 \n Metodo de la bisección \n \n’);
s=input(’Ingrese el valor de la distancia ’);
t=input(’Ingrese el valor del tiempo ’);
g=9.8;
p=g*(sinh(w*t)-sin(w*t))/(2*w^2);
y=s-p;
fun=inline(y);%para ingresar una funcion
esc=-10:0.1:10;%escala de la grafica
ezplot(fun,esc)%ezplot para graficar
grid on
y
fprintf(’Ingrese el intervalo para el metodo de la bisección \n \n’);
a=input(’Ingrese el valor para a: ’);
b=input(’Ingrese el valor para b: ’);
fa=feval(fun,a);
fb=feval(fun,b);
k=0;
fprintf(’ \n Iteraciones \t \t a \t b \t \t c \t error \n’)
while abs(b-a)> 10^-5
c=(a+b)/2;
fc=feval(fun,c);
error=abs(b-a);
fprintf(’ \t %1.0f \t %0.3f \t %0.3f \t \t %0.3f \t \t
%0.3f \n’,k,a,b,c,error)
if fc==0
a=c;
b=c;
disp(c);

6
Metodos Númericos

break
end
if (fa*fc)<0
b=c;
fb=fc;
else
a=c;
fa=fc;
end
k=k+1;
end
fprintf(’\n La raiz es %0.3f’,c)
fprintf(’\n El número de iteraciones es es %1.0f’,k-1)

GRÁFICO DEL PROBLEMA 2

SIMULACIÓN DEL PROBLEMA 2

7
Metodos Númericos

8
Metodos Númericos

EJERCICIO 3

Escriba e implemente un programa en MATLAB para calcular la raı́z cuadrada de un número


positivo a ,basado en el método de Newton

CÓDIGO EN MATLAB

clc
clear all
syms x;
b=input(’Ingrese el número al cual desea sacar la raı́z cuadrada: ’);
while b<=0
b=input(’Ingrese un número positivo: ’);
end
y=x^2-b;
fun=inline(y);%para ingresar una funcion
esc=-b:0.1:b;%escala de la grafica
ezplot(fun,esc)%ezplot para graficar
grid on
fprintf(’Metodo de Newton-Raphson \n \n’)
b=input(’Ingrese un valor cercano a la raı́z segun la gráfica y menor al
número antes ingresado : ’)
fb=feval(fun,b);
fun1=diff(y,x);
y1=inline(fun1);
fb1=feval(y1,b);
k=1;
precicion=1;
fprintf(’\n Iteraciones \t \t Valor aproximado \t raı́z \t \t Presición \n’)
if fb==0
disp(’No existe raiz en ese intervalo’)
end
while precicion>=10^-9
x=b-(fb/fb1);
fx=feval(fun,x);
fx1=feval(y1,x);
precicion=(b-x)/b;
fprintf(’\t \t %1.0f \t \t \t \t %0.3f \t \t \t %0.3f \t \t \t %0.2f
\n’,k,b,x,precicion)
b=x;
fb=fx;
fb1=fx1;
k=k+1;
end

9
Metodos Númericos

fprintf(’\n La raı́z de la ecuación es %0.3f’,x)


fprintf(’\n El número de iteraciones es %1.0f’,k-1)

SIMULACIÓN DEL PROBLEMA 3

10
Metodos Númericos

EJERCICIO 4

Un proyectil es lanzado con velocidad inicial vo y un ánguloαpen un túnel de altura h.El proyec-
til llega a su alcance máximo cuando α es tal que sin(α) = 2gh/vo2 , donde g = 9,8m/s2 es la
aceleración de la gravedad.Calcule α usando el método de Newton, asumiendo que vo = 10m/s
y h = 1m

CÓDIGO EN MATLAB

clc
clear all
syms x;
fprintf(’Calculo de alpha por metodo de newton \n’);
v=input(’Ingrese la velocidad inical del proyectil: ’);
h=input(’Ingrese la altura del tunel: ’);
g=9.8;
tol=10^(-3);
r=sqrt(2*g*h/v^2);
y=sin(x)-r;

f=inline(y);
esc=-10:0.01:10;
ezplot(f,esc);
grid on;

der=diff(f(x));
g=inline(der);
a=1;
k=1;
fprintf(’%\t\t%.4f\t\t---\t\t---\n’,k,a);
while abs(feval(f,a))>sqrt(eps)
b=a-feval(f,a)/feval(g,a);
error=abs(b-a);
k=k+1;
fprintf(’%\t\t%.5f\t\t%.5f\t\t%.5f\n’,k,a,b,error);
a=b
end
fprintf(’El valor de alfa es: %.4f’,b);

GRÁFICO DEL PROBLEMA 4

11
Metodos Númericos

SIMULACION DEL EJERCICIO 4

12
Metodos Númericos

EJERCICIO 5

Aplicando el método de Newton encontrar el cero de la función

f (x) = − 12 ln(x) + e−x − 1


5

próximo al valor xo = 1,5, iterando hasta que se cumpla que |xi − xi−1 | ≤ 10−3

CÓDIGO EN MATLAB

clc
clear all
syms x;
y=-1/2*log(x)+exp(-x)-1/5;
fun=inline(y);%para ingresar una funcion
esc=-5:0.1:5;%escala de la grafica
ezplot(fun,esc)%ezplot para graficar
grid on
fprintf(’Metodo de Newton-Raphson \n \n’)
b=input(’Ingrese un valor cercano a la raı́z segun la gráfica: ’);
fb=feval(fun,b);
fun1=diff(y,x);
y1=inline(fun1);
fb1=feval(y1,b);
k=1;
precicion=1;
fprintf(’\n Iteraciones \t \t Valor aproximado \t raı́z \t \t Presición \n’)
if fb==0
disp(’No existe raiz en ese intervalo’)
end
while precicion>=10^-3
x=b-(fb/fb1);
fx=feval(fun,x);
fx1=feval(y1,x);
precicion=(b-x);
fprintf(’\t \t %1.0f \t \t \t \t %0.3f \t \t \t %0.3f \t \t \t %0.2f
\n’,k,b,x,precicion)
b=x;
fb=fx;
fb1=fx1;
k=k+1;
end
fprintf(’\n La raı́z de la ecuación es %0.3f’,x)
fprintf(’\n El número de iteraciones es %1.0f’,k-1)

13
Metodos Númericos

GRÁFICO DEL PROBLEMA 5

SIMULACIÓN DEL PROBLEMA 5

14
Metodos Númericos

EJERCICIO 6

Utilizando el método de la bisección para la solución aproximada de raı́ces, hallar la solu-


ción aproximada para la ecuación

1
2
− 2x

en el intervalo [0.5, 1] con una exactitud de 10−2 .Realizar los calculos con 4 decimales sig-
nificativos correctos

CÓDIGO EN MATLAB

clc
clear all
syms x;
y=1/2-2^(x);
fun=inline(y);%para ingresar una funcion
esc=-10:0.1:10;%escala de la grafica
ezplot(fun,esc)%ezplot para graficar
grid on
fprintf(’Ejercio 6 \n Metodo de la bisección \n \n’);
% fprintf(’Ingrese el intervalo para el metodo de la bisección \n \n’);
% a=input(’Ingrese el valor para a: ’);
% b=input(’Ingrese el valor para b: ’);
a=0.5;
b=1;
fa=feval(fun,a);
fb=feval(fun,b);
k=0;
fprintf(’ \n Iteraciones \t \t a \t b \t \t c \t error \n’)
while abs(b-a)> 0.01

c=(a+b)/2;
fc=feval(fun,c);
error=abs(b-a);
fprintf(’ \t %1.0f \t %0.4f \t %0.4f \t \t %0.4f \t \t %0.4f \n’,k,a,b,c,error)
if fc==0
a=c;
b=c;
disp(c);

break
end
if (fa*fc)<0

15
Metodos Númericos

b=c;
fb=fc;
else
a=c;
fa=fc;
end
k=k+1;
end
fprintf(’\n La raiz es %0.4f’,c)
fprintf(’\n El número de iteraciones es es %1.0f’,k-1)

GRÁFICO DEL PROBLEMA 6

SIMULACIÓN DEL PROBLEMA 6

16
Metodos Númericos

Seleccionando un intervalo correcto [-1.5 a 0]

17
Metodos Númericos

EJERCICIO 7

Aplicar el método de Newton-Raphson para calcular la raı́z de la ecuación

f (x) = xsen(x) − lnx + x − 2,6 = 0

en el intervalo [0,2],partiendo del punto inicial xo = 2, redondeando a 5 cifras decimales e


iterando hasta que se cumpla |xi − xi−1 | ≤ 10−4 , El valor del argumento x está expresado en
radianes

CÓDIGO EN MATLAB

clc
clear all
syms x;
y=x*sin(x)-log(x)+x-2.6;
fun=inline(y);%para ingresar una funcion
esc=0:0.1:2;%escala de la grafica
ezplot(fun,esc)%ezplot para graficar
grid on
fprintf(’Metodo de Newton-Raphson \n \n’)
b=input(’Ingrese un valor cercano a la raı́z segun la gráfica: ’);
fb=feval(fun,b);
fun1=diff(y,x);
y1=inline(fun1);
fb1=feval(y1,b);
k=1;
precicion=1;
fprintf(’\n Iteraciones \t \t Valor aproximado \t raı́z \t \t Presición \n’)
if fb==0
disp(’No existe raiz en ese intervalo’)
end
while precicion>=10^-4
x=b-(fb/fb1);
fx=feval(fun,x);
fx1=feval(y1,x);
precicion=(b-x);
fprintf(’\t \t %1.0f \t \t \t \t %0.5f \t \t \t %0.5f \t \t \t %0.5f
\n’,k,b,x,precicion)
b=x;
fb=fx;
fb1=fx1;
k=k+1;
end
fprintf(’\n La raı́z de la ecuación es %0.5f’,x)

18
Metodos Númericos

fprintf(’\n El número de iteraciones es %1.0f’,k-1)

GRÁFICO DEL PROBLEMA 7

SIMULACIÓN DEL PROBLEMA 7

19
Metodos Númericos

EJERCICIO 8

Resuelva las siguientes ecuaciones:

xlogx − 10 = 0, por el método de la secante

CÓDIGO EN MATLAB

clc
clear all
cf=input(’Ingrese la funcion ’,’s’);
f=inline(cf);
esc=-10:0.01:10;
ezplot(f,esc);
grid on
x0 = input(’Ingrese primer valor’);
x1 = input(’Ingrese segundo valor’);
tol=input(’Ingrese la tolerancia’);
error=100;
n=0;
fprintf(’n\t\tx0\t\tx1\t\tx2\t\terror\n’);
fprintf(’%i\t%4.4f\t%4.4f\t-----\t----\n’,n,x0,x1);

while(error>tol)
n=n+1;
x2=x1-(x1-x0)*f(x1)/(f(x1)-f(x0));
error=abs(f(x2));
fprintf(’%i\t%4.4f\t%4.4f\t%4.4f\t%4.4f\n’,n,x0,x1,x2,error);
x0=x1;
x1=x2;

end

x2

GRÁFICO DEL PROBLEMA 8

20
Metodos Númericos

SIMULACIÓN DEL PROBLEMA 8

21

También podría gustarte