Está en la página 1de 8

ING.

CIVIL MÉTODOS NUMÉRICOS

“Año de la Integración nacional y el Reconocimiento de nuestra diversidad”

UNIVERSIDAD NACIONAL "HERMILIO


VALDIZAN”
FACULTAD DE INGENIERIA CIVIL Y
ARQUITECTURA

ESCUELA ACADEMICA PROFESIONAL DE


INGENIERIA CIVIL

“APLICACIÓN DE LAS ECUACIONES


DIFERENCIALES”

ALUMNOS:
 Matías Ponce, Graciela Stephany.
 Nolasco Cristóbal Juan
 Nilo Alvino Livia
ING. CIVIL MÉTODOS NUMÉRICOS

Introducción
El tema a tratar la es aproximación de funciones mediante series de potencias.
Mientras que los valores de funciones polinomiales pueden determinarse efectuando un
número finito de adiciones y multiplicaciones, otras funciones, entre ellas las funciones
logarítmicas, exponenciales y trigonométricas, no pueden evaluarse tan fácilmente. En esta
sección se mostrara que muchas funciones pueden aproximarse mediante polinomios y que el
polinomio, en lugar de la función original, puede emplearse para realizar cálculos cuando la
diferencia entre el valor real de la función y la aproximación polinomial es suficientemente
pequeña.
Varios métodos pueden emplearse para aproximar una función dada mediante polinomios. Uno
de los más ampliamente utilizados hace uso de la fórmula de Taylor, llamada así en honor del
matemático ingles brook Taylor (1685-1731). El teorema siguiente, el cual puede considerarse
como una generalización del teorema del valor medio, proporciona la fórmula de Taylor.
ING. CIVIL MÉTODOS NUMÉRICOS

Objetivos
Uno de los objetivos primordiales es aprender cómo funcionan las aproximaciones polinomiales,
sucesiones y series infinitas, ya que es de gran importancia para poder así calcular las unciones
logarítmicas, exponenciales y trigonométricas. También como mencionaba así darle una visión
más amplia al lector sobre este tema, llevando un lenguaje no tan extenso y más centrado en lo
práctico y lo necesario para llevarse a cabo este tipo de cálculos matemáticos, tanto en
el cálculo e integral, encontramos infinidad de temas que a veces no nos llaman la atención de
practicar, en las aproximaciones polinomiales veremos lo sencillo que es hacer una
aproximación por medo de teoremas.
ING. CIVIL MÉTODOS NUMÉRICOS

Programación en Matlab de series de potencia


SERIE DE TAYLOR DEL SENO
>> clear;
disp('Este programa es para calcular el Sen(x)')
x=input('Ingrese el valor de x: ');
n=input('Ingrese el numero de iteraciones: ');
suma=0;
for I=1:n;
suma=suma+((-1)^(I-1))*(x^(2*I-1))/(prod(1:(2*I-1)));
end;
disp('La suma es: ');
disp(suma);
disp('El valor real es: ');
disp(sin(x));
Este programa es para calcular el Sen(x)
Ingrese el valor de x: 5
Ingrese el numero de iteraciones: 20
La suma es: -0.9589
El valor real es: -0.9589

2. SERIE DE TAYLOR DEL COSENO


clc;
clear;
disp('Este programa es para calcular el Cos(x)')
x=input('Ingrese el valor de x: ');
n=input('Ingrese el numero de iteraciones: ');
suma=1;
for I=1:n;
suma=suma+((-1)^(I))*(x^(2*I))/(prod(1:(2*I)));
end;
disp('La suma es: ');
disp(suma);
disp('El valor real es: ');
disp(cos(x));
Ingrese el valor de x: 4
Ingrese el número de iteraciones: 30
La suma es: -0.6536
El valor real es: -0.6536
3.-%LA FUNCIÓN DE MACLAURIN

n = 5;
x = input ( 'introduzca el valor de x:')
epsilon_s = (0.5 * 10 ^ (2-n))
epsilon = 100
maclaurin (1) = 1
iteracion = 1
mientras épsilon> epsilon_s
iteracion = iteracion + 1
ING. CIVIL MÉTODOS NUMÉRICOS

maclaurin (iteracion) = maclaurin (iteracion-1) + (x) ^ (iteracion-1)


+ x ^ (2 + (iteracion-1)) / factorial (2 + (iteracion-1))
epsilon = abs ((maclaurin (iteracion) -maclaurin (iteracion-1)) /
maclaurin (iteracion))
fin
disp ([ 'número de iteraciones =', num2str (iteracion)])
disp ([ 'épsilon =', num2str (epsilon)])

resultados

introduzca el valor de x:8

x =8

epsilon_s = 5.0000e-04

epsilon = 100

maclaurin =1

iteracion =1

4.-SERIE DE TAYLOR PARA CUALKIER FUNCION

clear all
clc
syms x
fun=input('f(x): ');
f = inline(fun);
x1 = input('X(i): ');
x2 = input('X(i+1): ');
n = input('Número de Orden: ');
h = abs(x2 - x1);
v1 = f(x1);
v2 = f(x2);
et = abs((v2 - v1)/v2 * 100);
X(1,:) = [0 v1 0 et];
for i=1:n
X(i+1,1) = i;

D = diff(fun,i);
d1=inline(D);
d=d1(x1);
v1= v1+(d*((h^i)/factorial(i)));
X(i+1,2) = v1;
ING. CIVIL MÉTODOS NUMÉRICOS

et=abs(((v2-v1)/v2)*100);
X(i+1,4) = et;

ea = abs((X(i+1,2)-X(i,2))/X(i,2)*100);
X(i+1,3) = ea;

if ea <=10^(-1)
break
end
end

5.-RESOLUCION DE ECUACIONES DIFERENCIALES MEDIANTE SERIES


DE POTENCIA

5.1.-Primera derivada

fprintf('\n APROXIMACION MEDIANTE LA FORMULA CENTRADA DE ORDEN


O(h^4)\n\n')
fprintf(' f(x-2h)-8f(x-h)+8f(x+h)-f(x+2h)\n')
fprintf(' Df(x)=-------------------------------------\n')
fprintf(' 12h\n\n')
fx=input('ingrese la funcion f(x)=','s')
x0=input('ingrese el punto de aproximar la derivada:');
h=input('ingrese el primer elemento (h):');
r=input('ingrese la razon del ingremento:');
tol=input('ingrese la tolerancia:');
it=input('ingrese el numero de iteraciones:');
syms x
f=inline(fx);
der=diff(fx,x);
df=inline(der);
fprintf('\n it h Df(x) |error|')
fprintf('\n ======================================\n')
for i=1:it
Dfx=(f(x0-2*h)-8*f(x0-h)+8*f(x0+h)-f(x0+2*h))/(12*h);
err=abs(Dfx-df(x0));
fprintf(' %d\t %.12f\t %.12f\t %.12f\n',i,h,Dfx,err)
if err<tol
fprintf('\n SATISFACE LA TOLERANCIA \n')
break
h=h*r;
end
end

5.2.-

fprintf('\nAPROXIMACION MEDIANTE LA FORMULA CENTRADA DE ORDEN


O(h^2)\n\n')
fprintf(' f(x+h)-f(x-h)\n')
fprintf(' Df(x)=---------------\n')
fprintf('2h\n\n')
fx=input('ingrese la funcion f(x)=','s');
ING. CIVIL MÉTODOS NUMÉRICOS

x0=input('ingrese el punto de aproximar la derivada:');


h=input('ingrese el primer ingremento (h):');
r=input('ingrese la razon del incremento:');
tol=input('ingrese la tolerancia:')
it=input('ingrese el numero de iteraciones:');
syms x
f=inline(fx);
der=diff(fx, x);
df=inline(der);
fprintf('\n it h Df(x) |error|')
fprintf('\n========================================\n')
for i=1:it
Dfx=(f(x0+h)-f(x0-h))/(2*h);
err=abs(Dfx-df(x0));
fprintf(' %d\t %.12f\t %.12f\t %.12f\n',i,h,Dfx,err)
if err<tol
fprintf('\n SE SATISFACE LA TOLERANCIA \n')
break
else
h=h*r;
end
end
clear

6.-segunda derivada

function[u,v]=edodif[P,Q,R,S,x0,y0,xn,yn,n]
h=(xn-x0)/n;
clear a b c d;
for i=1:n-1
x=x0+h*i;
a(i)=eval(P);
b(i)=eval(Q);
c(i)=eval(R);
d(i)=eval(S);
u(i)=x;
d(1)=d(1)-a(1)*y0;
d(n-1)=d(n-1)-c(n-1)*yn;
v=tridiagonal(a,b,c,d);
ING. CIVIL MÉTODOS NUMÉRICOS

También podría gustarte