Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Metodos Númericos
Taller del Primer Parcial
Integrantes:
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)
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)]
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)
7
Metodos Númericos
8
Metodos Númericos
EJERCICIO 3
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
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);
11
Metodos Númericos
12
Metodos Númericos
EJERCICIO 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
14
Metodos Númericos
EJERCICIO 6
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)
16
Metodos Númericos
17
Metodos Númericos
EJERCICIO 7
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
19
Metodos Númericos
EJERCICIO 8
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
20
Metodos Númericos
21