0% encontró este documento útil (0 votos)
27 vistas4 páginas

3 Practica

El documento presenta una práctica de métodos numéricos en ingeniería civil, enfocándose en el método de bisección, regula-falsi y Newton-Raphson para encontrar ceros de funciones. Incluye instrucciones para crear scripts en MATLAB y ejemplos de funciones a resolver. Además, se asignan trabajos adicionales relacionados con métodos de punto fijo y la secante.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas4 páginas

3 Practica

El documento presenta una práctica de métodos numéricos en ingeniería civil, enfocándose en el método de bisección, regula-falsi y Newton-Raphson para encontrar ceros de funciones. Incluye instrucciones para crear scripts en MATLAB y ejemplos de funciones a resolver. Además, se asignan trabajos adicionales relacionados con métodos de punto fijo y la secante.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

FACULTAD DE INGENIERA CIVIL Y ARQUITECTURA

E.A.P. INGENIERA CIVIL


CURSO: MTODOS NUMRICOS
PRACTICA N 3: CEROS EN FUNCIONES DE UNA VARIABLE
MTODOS CERRADOS
MTODO DE LA BISECCIN
% Crea un archivo biseccin.m con los siguientes comandos:
fx=input('Ingrese la funcin f(x)=','s');
syms x %Define a x como una variable
f=inline(fx); %Crea la funcin f(x) a partir de los caracteres fx
xi=input('Ingrese el valor inicial inferior: ');
xs=input('Ingrese el valor inicial superior: ');
tol=input('Ingrese la tolerancia: ');
fplot(fx,[xi,xs],'r'),grid,
fxi=f(xi);
fxs=f(xs);
max1=1+round((log(xs-xi)-log(tol))/log(2));
if fxi*fxs==0
if fxi==0
fprintf('La raiz de la funcin es %f\n',xi)
elseif fxs==0
fprintf('La raiz de la funcin es %f\n',xs)
end
elseif fxi*fxs<0
disp('k
Xi
Xc
Xs
f(Xc)')
for c=1:max1
xc=(xi+xs)/2;
fxc=f(xc);
fprintf('%d\t%8.6f\t%8.6f\t%8.6f\t%8.6f\n',c,xi,xc,xs,fxc)
if fxc==0
fprintf('La raiz de la funcin es %f\n',xc)
break
elseif fxi*fxc<0
xs=xc;
fxs=fxc;
else
xi=xc;
fxi=fxc;
end
end
hold on, plot(xc, fxc,'ob','MarkerSize',10,'MarkerFaceColor','k'),
hold off
else
disp('El producto de f(xs)*f(xi)>0')
end
clear

% Ejecuta el archivo biseccin.m en la ventana de comandos para las siguientes ecuaciones


1. La funcin h(x) = xsen(x) aparece en el estudio de vibraciones forzadas no amortiguadas. Hallar el
valor de x que est dentro del intervalo [0, 2] y en el que la funcin h(x) = 1 (el ngulo x en la funcin
sen(x) se mide en radianes) usando el mtodo de la biseccin. (Sugerencia: usar tolerancia = 0.01)

2. Emplee el mtodo de biseccin para resolver las races de la funcin f(x) = sen(10x) + cos(3x), que
est dentro del intervalo [12, 16] (el ngulo x se mide en radianes). (Sugerencia: usar tolerancia =
0.01).
3. Calcule la raz de la funcin f(x) = x^10 1, usando el mtodo de la biseccin entre x=0 y 1.3
4. Determine las races reales de f(x) = 5x^3 5x^2 + 6x 2, utilizando el mtodo de la biseccin hasta
que el error estimado se encuentre debajo de 10%. (Sugerencia: Use los valores iniciales [0, 1] para
la raz mas pequea).
MTODO DE REGULA FALSI
% Crea un archivo regula.m con los siguientes comandos:
function [c,err,yc]=regula(f,a,b,delta,epsilon,max1)
% Datos
%
- f es la funcin, introducida como una cadena de caracteres 'f'
%
- a y b son el extremo izquierdo y el extremo derecho
%
- delta es la tolerancia para el cero
%
- epsilon es la tolerancia para el valor de f en el cero
%
- max1 es el nmero mximo de iteraciones
% Resultados
%
- c es el cero
%
- yc = f(c)
%
- err es el error estimado de la aproximacin a c
ya=feval(f,a);
yb=feval(f,b);
if ya*yb>0
disp('f(a)*f(b) > 0'),
else
for k=1:max1
dx=yb*(b-a)/(yb-ya);
c=b-dx;
ac=c-a;
yc=feval(f,c);
if yc==0
break
elseif yb*yc>0
b=c;
yb=yc;

else

a=c;
ya=yc;

end
dx=min(abs(dx),ac);
if abs(dx)<delta
break
end
if abs(yc)<epsilon
break
end

end

end
c;
err=abs(b-a)/2;
yc=feval(f,c);

% Para ejecutar el archivo regula.m en la ventana de comandos se crea el archivo f.m de la siguiente
manera:
function y=f(x)
y=x*sin(x)-1;

% Ejecutar el archivo regula.m en la ventana de comandos para las mismas ecuaciones del mtodo de
biseccin.
MTODOS ABIERTOS
MTODO DE NEWTON RAPHSON
% Crea un archivo newrap.m con los siguientes comandos:
fx=input('Ingrese la funcin f(x)=','s');
syms x %Define a x como una variable
f=inline(fx); %Crea la funcin f(x) a partir de los caracteres fx
deriv=diff(fx, x); %Deriva la funcin f respecto a x
df=inline(deriv);
x0=input('Ingrese la aproximacin inicial: ');
tol=input('Ingrese la tolerancia: ');
max1=input('Ingrese el nmero mximo de iteraciones: ');
fplot(fx,[x0-10,x0+10],'r'),grid,
if f(x0)==0
fprintf('La raiz de la funcin es %f\n',x0)
else
disp('k
Xi
error')
for k=1:max1
xk=x0-f(x0)/df(x0);
err=abs(xk-x0);
fprintf('%d\t%8.6f\t%8.6f\n',k,xk,err)
x0=xk;
if err==tol
break
end
end
hold on, plot(x0, f(x0),'ob','MarkerSize',10,'MarkerFaceColor','k'),
hold off
end
clear

% Ejecutar el archivo newrap.m en la ventana de comandos para las ecuaciones:


1. Determine la raz positiva de ()= ^10 1 usando el mtodo de Newton Raphson y un valor
inicial x = 0.5.
2. Calcular la raz de la funcin f(x) = e^(-x) x, empezando del valor inicial x = 0, con el mtodo de
Newton Raphson. Sugerencia: Usar tolerancia = 10^(-8).
3. Determine la raz real ms grande de f(x) = 0.95 x^3 5.9 x^2 + 10.9 x 6, con el mtodo de
Newton Raphson (use 10 iteraciones y x0 = 3.5)
TRABAJO:
1. Crear un programa para el mtodo del punto fijo.
2. Crear un programa para el mtodo de la secante.
3. Calcular la raz de la funcin f(x) = e^(-x) x, empezando del valor inicial x = 0, para el mtodo del
punto fijo.
4. Calcular la raz de la funcin f(x) = e^(-x) x, empezando de los valores iniciales x0 = 0 y x1 = 1,
para el mtodo de la secante.
5. Utilice la iteracin simple de punto fijo para localizar la raz de: f(x) = 2 sen (

) x.

Sugerencia: haga una eleccin inicial de x = 0.5 e itere hasta que tolerancia <= 10^(-5).
6. Localize la raz positiva de: f(x) = sen (x) + cos (1 + x^2) 1, donde x est en radiandes. Para ello,
use 10 iteraciones del mtodo de la secante con valores iniciales de [1, 3], [1.5, 2.5], [1.5, 2.25].
NOTA: Enviar los trabajos al correo: [Link].v@[Link], hasta el da martes a las 3 pm.

También podría gustarte