Anda di halaman 1dari 24

UNIVERSIDAD PERUANA DE CIENCIAS

APLICADAS
FACULTAD DE INGENIERÍA
CARRERA DE INGENIERÍA CIVIL

INTRODUCCIÓN A LOS MÉTODOS


COMPUTACIONALES
CI 171

Abril – 2019-01
CONTENIDO DE LA ASIGNATURA

UNIDAD I UNIDAD II UNIDAD III

HERRAMIENTA RAÍCES DE SISTEMA DE


COMPUTACIONAL ECUACIONES NO ECUACIONES
DE CÁLCULO LINEALES LINEALES

UNIDAD VI UNIDAD V UNIDAD IV

ECUACIONES INTEGRACIÓN INTERPOLACIÓN


DIFERENCIALES NUMÉRICA DE CURVAS
FUNCIONES CON MATLAB Y APLICACIONES
FUNCIÓN: archivos de extension *m, que contienen un
conjunto de comandos y se ejecutan en el Matlab. A la vez
pueden contener nuevas funciones.
FUNCIONES CON MATLAB Y APLICACIONES
[ Salidas ] ( Entradas )

ENCABEZADO

COMENTARIO

CUERPO DE LA
FUNCIÓN
FUNCIONES CON MATLAB Y APLICACIONES

1.- Construir una función


que determine las raíces de
un polinomio de segundo
orden, utilizando la fórmula
general.

2.- Construir una función


que grafique g(x), para el
siguiente conjunto de
valores. Además, obtener
g(3).
𝒙𝟑 − 𝒙
𝒈(𝒙) = 𝟐
𝒙 +𝟏
𝒙 ∈ [𝟎, 𝟏𝟎]
RAÍCES DE ECUACIONES

Visto gráficamente, la raíz de una función es el punto donde ésta


cruza al eje x.
MÉTODO DE LA BISECCIÓN

Una función cambia de signo en el intervalo que encierra la raíz

Consiste en tomar un intervalo


de valores donde al evaluar la
función en los extremos se
presenta un cambio de signo.
+

- Se calcula el punto medio del


intervalo y se desecha el
subintervalo que no contiene la
raíz.
MÉTODO DE LA BISECCIÓN
MÉTODO DE LA BISECCIÓN
ALGORITMO DEL MÉTODO DE BISECCIÓN
MÉTODO DE LA BISECCIÓN
𝑭 𝒙 = 𝒙𝟒 − 𝟖𝒙𝟑 + 𝟐𝟎𝒙 + 𝟏𝟎𝟎, 𝒙 ∈ −𝟐, 𝟕
a0 = -2, b0 = 7
m0 = (a0 + b0)/2 = 2.5
F(a0) = 140
F(b0) = -103
F(m0) = 64.0625
si F(a0) * F(m0) < 0
a1 = a 0 ;
b 1 = m0 ;
sino
a1 = m0;
b1 = b0 ;
fin_si
MÉTODO DE LA BISECCIÓN CON MATLAB

function z =grafica(n,m)
x=n:1:m;
y=x.^4-2*x.^3-12*x.^2+16*x-40;
plot(x,y);
grid on;
title('f(x)');
z=[x' y']
end
ALGORITMO DEL MÉTODO DE BISECCIÓN
Proceso Biseccion

Leer f,a0,b0,tol
Si f(a0)*f(b0)<0 Entonces
Xrn=( a0+b0)/2
Mientras ea>=tol Hacer
Si f(an)*f(xrn)<0 Entonces
an+1=an
bn+1=xrn
else

bn+1=bn
an+1=xrn

FinSi
Xrn+1=(an+bn)/2
ean+1=(|xrn+1-xrn|/(xrn+1))*100

Fin Mientras
Sino
Escribir "no existe raíz en el intervalo"
FinSi
Fin Proceso
MÉTODO DE LA BISECCIÓN
function mbisec(f,a,b,tol)
fprintf('It. a b Xr f(a) f(xr) ea\n');
disp('---------------------------------------------------------------------')
f=inline(f);
i=1;
ea(1)=100;
xr(i)=(a+b)/2;
while abs(ea(i)) >= tol
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t %11.7f\t %11.7f\t %11.7f\n',...
i,a(i),b(i),xr(i),f(a(i)),f(xr(i)),ea(i));

if f(a(i))*f(xr(i))<0
a(i+1)=a(i);
b(i+1)=xr(i);
else
b(i+1)=b(i);
a(i+1)=xr(i);
end
xr(i+1)=(a(i+1)+b(i+1))/2;
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
i=i+1;
end
end
EJECUCIÓN DEL MÉTODO DE BISECCIÓN

Raíz aproximada es: 4.3813477


MÉTODO DE LA BISECCIÓN CON MATLAB
Ejemplo:
Determinar el valor de x
que hace que F(x) = 0:

𝒆𝒙+𝟏 − 𝒆−𝒙−𝟏
𝑭 𝒙 = 𝒙+𝟏 −𝒙−𝟏
,
𝒆 +𝒆

Para el intervalo:
𝒙 ∈ −𝟓 , 𝟒
MÉTODO DE REGULA FALSI
MÉTODO DE REGULA FALSI
MÉTODO DE REGULA FALSI
MÉTODO DE REGULA FALSI
Proceso RegulaFalsi
Leer f,a0,b0,tol
Si f(a0)*f(b0)<0 Entonces
Xrn=(( a0*f(b0)-b0*f(a0))/(f(b0)-f(a0))
Mientras ea>=tol Hacer
Si f(an)*f(xrn)<0 Entonces
an+1=an
bn+1=xrn
else
bn+1=bn
an+1=xrn
FinSi

Xrn+1=(( an+1*f(bn+1)-bn+1*f(an+1))/(f(bn+1)-f(an+1))
ean+1=(|xrn+1-xrn|/(xrn+1))*100
Fin Mientras
Sino
Escribir "no existe raíz en el intervalo"
FinSi
Fin Proceso
MÉTODO DE REGULA FALSI
function mFalsi2(f,a,b,tol)
fprintf('It. a Xr b f(a) f(xr) ea\n');
disp('-----------------------------------------------------------------------')
f=inline(f);
i=1;
ea(1)=100;
%xr(i)=(a+b)/2;
xr(i)=(a*f(b)-b*f(a))/(f(b)-f(a));
while abs(ea(i)) >= tol
fprintf('%2d\t %11.7f\t %11.7f\t %11.7f\t %11.7f\t %11.7f\t %11.7f\n',...
i,a(i),xr(i),b(i),f(a(i)),f(xr(i)),ea(i));

if f(a(i))*f(xr(i))<0
a(i+1)=a(i);
b(i+1)=xr(i);
else
b(i+1)=b(i);
a(i+1)=xr(i);
end
%xr(i+1)=(a(i+1)+b(i+1))/2;
xr(i+1)=(a(i+1)*f(b(i+1))-b(i+1)*f(a(i+1)))/(f(b(i+1))-f(a(i+1)));
ea(i+1)=abs((xr(i+1)-xr(i))/(xr(i+1))*100);
i=i+1;
end
end
EJECUTANDO EL CÓDIGO DEL MÉTODO
R.FALSI

Raíz aproximada es: 4.3808513


MÉTODO DE REGULA FALSI
𝑭 𝒙 = 𝒙𝟒 − 𝟖𝒙𝟑 + 𝟐𝟎𝒙 + 𝟏𝟎𝟎, 𝒙 ∈ −𝟐, 𝟕
a0 = -2,
b0 = 7
m0 = (F( a0 )*b0 - F( b0 )*a0 )
(F( a0 )-F( b0 ))
m0 = 3.1852
F(a0) * F( m0 ) < 0 
a1 = a0 ;
b1 = m0;
sino
b1 = b0 ;
a1 = m0;
MÉTODO DE REGULA FALSI CON MATLAB
Ejemplo:
Determinar el valor de x
que hace que F(x) = 0:

𝒆𝒙+𝟏 − 𝒆−𝒙−𝟏
𝑭 𝒙 = 𝒙+𝟏 −𝒙−𝟏
,
𝒆 +𝒆

Para el intervalo:
𝒙 ∈ −𝟓 , 𝟒

Anda mungkin juga menyukai